diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..7b54756d --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "DISDescription"] + path = DISDescription + url = https://github.com/open-dis/DISDescription.git diff --git a/Compile/README.html b/Compile/README.html new file mode 100644 index 00000000..e3395567 --- /dev/null +++ b/Compile/README.html @@ -0,0 +1,25 @@ + + + DIS: Compiling the generated source files. + + +

So far, this really only applies to the C++ users since the results of the Java compile are distributed in this package.

+

Your options include using: +

+

+

There exists an Ant task that can be executed at the top directory using the build.xml file with Ant.

+

For your convenience, the authors are distributing the MSVC project files.

+

You can use Premake to generate another build system. This is done by: +

+ Premake will generate the project build files in the directory specified by the (Lua) project description file, which states they should be created at DIS/Compile/target. +

+ + diff --git a/Compile/cb-gcc.linux/DIS.cbp b/Compile/cb-gcc.linux/DIS.cbp new file mode 100644 index 00000000..b41d10c0 --- /dev/null +++ b/Compile/cb-gcc.linux/DIS.cbp @@ -0,0 +1,626 @@ + + + + + + diff --git a/Compile/cb-gcc.linux/DIS.workspace b/Compile/cb-gcc.linux/DIS.workspace new file mode 100644 index 00000000..daeaa2a1 --- /dev/null +++ b/Compile/cb-gcc.linux/DIS.workspace @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/Compile/cb-gcc.linux/Example_Receive.cbp b/Compile/cb-gcc.linux/Example_Receive.cbp new file mode 100644 index 00000000..3ca65556 --- /dev/null +++ b/Compile/cb-gcc.linux/Example_Receive.cbp @@ -0,0 +1,76 @@ + + + + + + diff --git a/Compile/cb-gcc.linux/Example_Send.cbp b/Compile/cb-gcc.linux/Example_Send.cbp new file mode 100644 index 00000000..2fa98e79 --- /dev/null +++ b/Compile/cb-gcc.linux/Example_Send.cbp @@ -0,0 +1,77 @@ + + + + + + diff --git a/Compile/cb-gcc.linux/UnitTest_DIS.cbp b/Compile/cb-gcc.linux/UnitTest_DIS.cbp new file mode 100644 index 00000000..7db7b03d --- /dev/null +++ b/Compile/cb-gcc.linux/UnitTest_DIS.cbp @@ -0,0 +1,74 @@ + + + + + + diff --git a/Compile/cb-gcc.windows/DIS.cbp b/Compile/cb-gcc.windows/DIS.cbp new file mode 100644 index 00000000..090188a4 --- /dev/null +++ b/Compile/cb-gcc.windows/DIS.cbp @@ -0,0 +1,1500 @@ + + + + + + diff --git a/Compile/cb-gcc.windows/DIS.workspace b/Compile/cb-gcc.windows/DIS.workspace new file mode 100644 index 00000000..1e04f00d --- /dev/null +++ b/Compile/cb-gcc.windows/DIS.workspace @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/Compile/cb-gcc.windows/Example_Receive.cbp b/Compile/cb-gcc.windows/Example_Receive.cbp new file mode 100644 index 00000000..c056d897 --- /dev/null +++ b/Compile/cb-gcc.windows/Example_Receive.cbp @@ -0,0 +1,91 @@ + + + + + + diff --git a/Compile/cb-gcc.windows/Example_Send.cbp b/Compile/cb-gcc.windows/Example_Send.cbp new file mode 100644 index 00000000..4a682cdf --- /dev/null +++ b/Compile/cb-gcc.windows/Example_Send.cbp @@ -0,0 +1,91 @@ + + + + + + diff --git a/Compile/cb-gcc.windows/UnitTest_DIS.cbp b/Compile/cb-gcc.windows/UnitTest_DIS.cbp new file mode 100644 index 00000000..173fea74 --- /dev/null +++ b/Compile/cb-gcc.windows/UnitTest_DIS.cbp @@ -0,0 +1,84 @@ + + + + + + diff --git a/Compile/gnu.linux/DIS.make b/Compile/gnu.linux/DIS.make new file mode 100644 index 00000000..4ed02090 --- /dev/null +++ b/Compile/gnu.linux/DIS.make @@ -0,0 +1,933 @@ +# C Console Executable Makefile autogenerated by premake +# Don't edit this file! Instead edit `premake.lua` then rerun `make` + +ifndef CONFIG + CONFIG=Debug +endif + +ifeq ($(CONFIG),Debug) + BINDIR := ../../bin + LIBDIR := ../../lib + OBJDIR := obj_gnu_DIS_debug + OUTDIR := ../../bin + CPPFLAGS := -MMD -D "_DEBUG" -I "../../cpp" -I "../../CppUtils" + CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -fPIC -g + CXXFLAGS := $(CFLAGS) + LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -lstdc++ + LDDEPS := + RESFLAGS := -D "_DEBUG" -I "../../cpp" -I "../../CppUtils" + TARGET := libDIS_debug.so + BLDCMD = $(CC) -shared -Wl -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) +endif + +ifeq ($(CONFIG),Release) + BINDIR := ../../bin + LIBDIR := ../../lib + OBJDIR := obj_gnu_DIS + OUTDIR := ../../bin + CPPFLAGS := -MMD -I "../../cpp" -I "../../CppUtils" + CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -fPIC -O2 + CXXFLAGS := $(CFLAGS) + LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -Wl,-x + LDDEPS := + RESFLAGS := -I "../../cpp" -I "../../CppUtils" + TARGET := libDIS.so + BLDCMD = $(CC) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) +endif + +OBJECTS := \ + $(OBJDIR)/AcknowledgePdu.o \ + $(OBJDIR)/AcknowledgeReliablePdu.o \ + $(OBJDIR)/AcousticBeamData.o \ + $(OBJDIR)/AcousticBeamFundamentalParameter.o \ + $(OBJDIR)/AcousticEmitter.o \ + $(OBJDIR)/AcousticEmitterSystem.o \ + $(OBJDIR)/AcousticEmitterSystemData.o \ + $(OBJDIR)/ActionRequestPdu.o \ + $(OBJDIR)/ActionRequestReliablePdu.o \ + $(OBJDIR)/ActionResponsePdu.o \ + $(OBJDIR)/ActionResponseReliablePdu.o \ + $(OBJDIR)/AggregateID.o \ + $(OBJDIR)/AggregateMarking.o \ + $(OBJDIR)/AggregateStatePdu.o \ + $(OBJDIR)/AggregateType.o \ + $(OBJDIR)/AngularVelocityVector.o \ + $(OBJDIR)/AntennaLocation.o \ + $(OBJDIR)/ApaData.o \ + $(OBJDIR)/ArealObjectStatePdu.o \ + $(OBJDIR)/ArticulationParameter.o \ + $(OBJDIR)/BeamAntennaPattern.o \ + $(OBJDIR)/BeamData.o \ + $(OBJDIR)/BurstDescriptor.o \ + $(OBJDIR)/ClockTime.o \ + $(OBJDIR)/CollisionElasticPdu.o \ + $(OBJDIR)/CollisionPdu.o \ + $(OBJDIR)/CommentPdu.o \ + $(OBJDIR)/CommentReliablePdu.o \ + $(OBJDIR)/CreateEntityPdu.o \ + $(OBJDIR)/CreateEntityReliablePdu.o \ + $(OBJDIR)/DataPdu.o \ + $(OBJDIR)/DataQueryPdu.o \ + $(OBJDIR)/DataQueryReliablePdu.o \ + $(OBJDIR)/DataReliablePdu.o \ + $(OBJDIR)/DeadReckoningParameter.o \ + $(OBJDIR)/DesignatorPdu.o \ + $(OBJDIR)/DetonationPdu.o \ + $(OBJDIR)/DistributedEmissionsFamilyPdu.o \ + $(OBJDIR)/EightByteChunk.o \ + $(OBJDIR)/ElectronicEmissionBeamData.o \ + $(OBJDIR)/ElectronicEmissionsPdu.o \ + $(OBJDIR)/ElectronicEmissionSystemData.o \ + $(OBJDIR)/EmitterSystem.o \ + $(OBJDIR)/EntityID.o \ + $(OBJDIR)/EntityInformationFamilyPdu.o \ + $(OBJDIR)/EntityManagementFamilyPdu.o \ + $(OBJDIR)/EntityStatePdu.o \ + $(OBJDIR)/EntityStateUpdatePdu.o \ + $(OBJDIR)/EntityType.o \ + $(OBJDIR)/Environment.o \ + $(OBJDIR)/EnvironmentalProcessPdu.o \ + $(OBJDIR)/EventID.o \ + $(OBJDIR)/EventReportPdu.o \ + $(OBJDIR)/EventReportReliablePdu.o \ + $(OBJDIR)/FastEntityStatePdu.o \ + $(OBJDIR)/FirePdu.o \ + $(OBJDIR)/FixedDatum.o \ + $(OBJDIR)/FourByteChunk.o \ + $(OBJDIR)/FundamentalParameterData.o \ + $(OBJDIR)/FundamentalParameterDataIff.o \ + $(OBJDIR)/GridAxisRecord.o \ + $(OBJDIR)/GridAxisRecordRepresentation0.o \ + $(OBJDIR)/GridAxisRecordRepresentation1.o \ + $(OBJDIR)/GridAxisRecordRepresentation2.o \ + $(OBJDIR)/GriddedDataPdu.o \ + $(OBJDIR)/IffAtcNavAidsLayer1Pdu.o \ + $(OBJDIR)/IffAtcNavAidsLayer2Pdu.o \ + $(OBJDIR)/IffFundamentalData.o \ + $(OBJDIR)/IntercomCommunicationsParameters.o \ + $(OBJDIR)/IntercomControlPdu.o \ + $(OBJDIR)/IntercomSignalPdu.o \ + $(OBJDIR)/IsGroupOfPdu.o \ + $(OBJDIR)/IsPartOfPdu.o \ + $(OBJDIR)/LayerHeader.o \ + $(OBJDIR)/LinearObjectStatePdu.o \ + $(OBJDIR)/LinearSegmentParameter.o \ + $(OBJDIR)/LogisticsFamilyPdu.o \ + $(OBJDIR)/LogisticsPdu.o \ + $(OBJDIR)/Marking.o \ + $(OBJDIR)/MinefieldDataPdu.o \ + $(OBJDIR)/MinefieldFamilyPdu.o \ + $(OBJDIR)/MinefieldPduFamily.o \ + $(OBJDIR)/MinefieldQueryPdu.o \ + $(OBJDIR)/MinefieldResponseNackPdu.o \ + $(OBJDIR)/MinefieldStatePdu.o \ + $(OBJDIR)/ModulationType.o \ + $(OBJDIR)/NamedLocation.o \ + $(OBJDIR)/ObjectType.o \ + $(OBJDIR)/OneByteChunk.o \ + $(OBJDIR)/Orientation.o \ + $(OBJDIR)/Pdu.o \ + $(OBJDIR)/Point.o \ + $(OBJDIR)/PointObjectStatePdu.o \ + $(OBJDIR)/PropulsionSystemData.o \ + $(OBJDIR)/RadioCommunicationsFamilyPdu.o \ + $(OBJDIR)/RadioEntityType.o \ + $(OBJDIR)/ReceiverPdu.o \ + $(OBJDIR)/RecordQueryReliablePdu.o \ + $(OBJDIR)/RecordSet.o \ + $(OBJDIR)/Relationship.o \ + $(OBJDIR)/RemoveEntityPdu.o \ + $(OBJDIR)/RemoveEntityReliablePdu.o \ + $(OBJDIR)/RepairCompletePdu.o \ + $(OBJDIR)/RepairResponsePdu.o \ + $(OBJDIR)/ResupplyCancelPdu.o \ + $(OBJDIR)/ResupplyOfferPdu.o \ + $(OBJDIR)/ResupplyReceivedPdu.o \ + $(OBJDIR)/SeesPdu.o \ + $(OBJDIR)/ServiceRequestPdu.o \ + $(OBJDIR)/SetDataPdu.o \ + $(OBJDIR)/SetDataReliablePdu.o \ + $(OBJDIR)/SetRecordReliablePdu.o \ + $(OBJDIR)/ShaftRPMs.o \ + $(OBJDIR)/SignalPdu.o \ + $(OBJDIR)/SimulationAddress.o \ + $(OBJDIR)/SimulationManagementFamilyPdu.o \ + $(OBJDIR)/SimulationManagementWithReliabilityFamilyPdu.o \ + $(OBJDIR)/SixByteChunk.o \ + $(OBJDIR)/SphericalHarmonicAntennaPattern.o \ + $(OBJDIR)/StartResumePdu.o \ + $(OBJDIR)/StartResumeReliablePdu.o \ + $(OBJDIR)/StopFreezePdu.o \ + $(OBJDIR)/StopFreezeReliablePdu.o \ + $(OBJDIR)/SupplyQuantity.o \ + $(OBJDIR)/SyntheticEnvironmentFamilyPdu.o \ + $(OBJDIR)/SystemID.o \ + $(OBJDIR)/TrackJamTarget.o \ + $(OBJDIR)/TransferControlRequestPdu.o \ + $(OBJDIR)/TransmitterPdu.o \ + $(OBJDIR)/TwoByteChunk.o \ + $(OBJDIR)/UaPdu.o \ + $(OBJDIR)/VariableDatum.o \ + $(OBJDIR)/Vector3Double.o \ + $(OBJDIR)/Vector3Float.o \ + $(OBJDIR)/VectoringNozzleSystemData.o \ + $(OBJDIR)/WarfareFamilyPdu.o \ + $(OBJDIR)/Conversion.o \ + $(OBJDIR)/DataStream.o \ + $(OBJDIR)/IncomingMessage.o \ + $(OBJDIR)/PacketFactory.o \ + $(OBJDIR)/PDUBank.o \ + $(OBJDIR)/StreamUtils.o \ + +MKDIR_TYPE := msdos +CMD := $(subst \,\\,$(ComSpec)$(COMSPEC)) +ifeq (,$(CMD)) + MKDIR_TYPE := posix +endif +ifeq (/bin/sh.exe,$(SHELL)) + MKDIR_TYPE := posix +endif +ifeq ($(MKDIR_TYPE),posix) + CMD_MKBINDIR := mkdir -p $(BINDIR) + CMD_MKLIBDIR := mkdir -p $(LIBDIR) + CMD_MKOUTDIR := mkdir -p $(OUTDIR) + CMD_MKOBJDIR := mkdir -p $(OBJDIR) +else + CMD_MKBINDIR := $(CMD) /c if not exist $(subst /,\\,$(BINDIR)) mkdir $(subst /,\\,$(BINDIR)) + CMD_MKLIBDIR := $(CMD) /c if not exist $(subst /,\\,$(LIBDIR)) mkdir $(subst /,\\,$(LIBDIR)) + CMD_MKOUTDIR := $(CMD) /c if not exist $(subst /,\\,$(OUTDIR)) mkdir $(subst /,\\,$(OUTDIR)) + CMD_MKOBJDIR := $(CMD) /c if not exist $(subst /,\\,$(OBJDIR)) mkdir $(subst /,\\,$(OBJDIR)) +endif + +.PHONY: clean + +$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES) + @echo Linking DIS + -@$(CMD_MKBINDIR) + -@$(CMD_MKLIBDIR) + -@$(CMD_MKOUTDIR) + @$(BLDCMD) + +clean: + @echo Cleaning DIS +ifeq ($(MKDIR_TYPE),posix) + -@rm -f $(OUTDIR)/$(TARGET) + -@rm -rf $(OBJDIR) +else + -@if exist $(subst /,\,$(OUTDIR)/$(TARGET)) del /q $(subst /,\,$(OUTDIR)/$(TARGET)) + -@if exist $(subst /,\,$(OBJDIR)) del /q $(subst /,\,$(OBJDIR)) + -@if exist $(subst /,\,$(OBJDIR)) rmdir /s /q $(subst /,\,$(OBJDIR)) +endif + +$(OBJDIR)/AcknowledgePdu.o: ../../cpp/DIS/AcknowledgePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/AcknowledgeReliablePdu.o: ../../cpp/DIS/AcknowledgeReliablePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/AcousticBeamData.o: ../../cpp/DIS/AcousticBeamData.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/AcousticBeamFundamentalParameter.o: ../../cpp/DIS/AcousticBeamFundamentalParameter.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/AcousticEmitter.o: ../../cpp/DIS/AcousticEmitter.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/AcousticEmitterSystem.o: ../../cpp/DIS/AcousticEmitterSystem.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/AcousticEmitterSystemData.o: ../../cpp/DIS/AcousticEmitterSystemData.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ActionRequestPdu.o: ../../cpp/DIS/ActionRequestPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ActionRequestReliablePdu.o: ../../cpp/DIS/ActionRequestReliablePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ActionResponsePdu.o: ../../cpp/DIS/ActionResponsePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ActionResponseReliablePdu.o: ../../cpp/DIS/ActionResponseReliablePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/AggregateID.o: ../../cpp/DIS/AggregateID.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/AggregateMarking.o: ../../cpp/DIS/AggregateMarking.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/AggregateStatePdu.o: ../../cpp/DIS/AggregateStatePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/AggregateType.o: ../../cpp/DIS/AggregateType.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/AngularVelocityVector.o: ../../cpp/DIS/AngularVelocityVector.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/AntennaLocation.o: ../../cpp/DIS/AntennaLocation.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ApaData.o: ../../cpp/DIS/ApaData.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ArealObjectStatePdu.o: ../../cpp/DIS/ArealObjectStatePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ArticulationParameter.o: ../../cpp/DIS/ArticulationParameter.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/BeamAntennaPattern.o: ../../cpp/DIS/BeamAntennaPattern.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/BeamData.o: ../../cpp/DIS/BeamData.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/BurstDescriptor.o: ../../cpp/DIS/BurstDescriptor.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ClockTime.o: ../../cpp/DIS/ClockTime.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/CollisionElasticPdu.o: ../../cpp/DIS/CollisionElasticPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/CollisionPdu.o: ../../cpp/DIS/CollisionPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/CommentPdu.o: ../../cpp/DIS/CommentPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/CommentReliablePdu.o: ../../cpp/DIS/CommentReliablePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/CreateEntityPdu.o: ../../cpp/DIS/CreateEntityPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/CreateEntityReliablePdu.o: ../../cpp/DIS/CreateEntityReliablePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/DataPdu.o: ../../cpp/DIS/DataPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/DataQueryPdu.o: ../../cpp/DIS/DataQueryPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/DataQueryReliablePdu.o: ../../cpp/DIS/DataQueryReliablePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/DataReliablePdu.o: ../../cpp/DIS/DataReliablePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/DeadReckoningParameter.o: ../../cpp/DIS/DeadReckoningParameter.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/DesignatorPdu.o: ../../cpp/DIS/DesignatorPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/DetonationPdu.o: ../../cpp/DIS/DetonationPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/DistributedEmissionsFamilyPdu.o: ../../cpp/DIS/DistributedEmissionsFamilyPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/EightByteChunk.o: ../../cpp/DIS/EightByteChunk.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ElectronicEmissionBeamData.o: ../../cpp/DIS/ElectronicEmissionBeamData.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ElectronicEmissionsPdu.o: ../../cpp/DIS/ElectronicEmissionsPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ElectronicEmissionSystemData.o: ../../cpp/DIS/ElectronicEmissionSystemData.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/EmitterSystem.o: ../../cpp/DIS/EmitterSystem.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/EntityID.o: ../../cpp/DIS/EntityID.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/EntityInformationFamilyPdu.o: ../../cpp/DIS/EntityInformationFamilyPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/EntityManagementFamilyPdu.o: ../../cpp/DIS/EntityManagementFamilyPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/EntityStatePdu.o: ../../cpp/DIS/EntityStatePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/EntityStateUpdatePdu.o: ../../cpp/DIS/EntityStateUpdatePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/EntityType.o: ../../cpp/DIS/EntityType.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/Environment.o: ../../cpp/DIS/Environment.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/EnvironmentalProcessPdu.o: ../../cpp/DIS/EnvironmentalProcessPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/EventID.o: ../../cpp/DIS/EventID.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/EventReportPdu.o: ../../cpp/DIS/EventReportPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/EventReportReliablePdu.o: ../../cpp/DIS/EventReportReliablePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/FastEntityStatePdu.o: ../../cpp/DIS/FastEntityStatePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/FirePdu.o: ../../cpp/DIS/FirePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/FixedDatum.o: ../../cpp/DIS/FixedDatum.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/FourByteChunk.o: ../../cpp/DIS/FourByteChunk.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/FundamentalParameterData.o: ../../cpp/DIS/FundamentalParameterData.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/FundamentalParameterDataIff.o: ../../cpp/DIS/FundamentalParameterDataIff.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/GridAxisRecord.o: ../../cpp/DIS/GridAxisRecord.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/GridAxisRecordRepresentation0.o: ../../cpp/DIS/GridAxisRecordRepresentation0.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/GridAxisRecordRepresentation1.o: ../../cpp/DIS/GridAxisRecordRepresentation1.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/GridAxisRecordRepresentation2.o: ../../cpp/DIS/GridAxisRecordRepresentation2.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/GriddedDataPdu.o: ../../cpp/DIS/GriddedDataPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/IffAtcNavAidsLayer1Pdu.o: ../../cpp/DIS/IffAtcNavAidsLayer1Pdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/IffAtcNavAidsLayer2Pdu.o: ../../cpp/DIS/IffAtcNavAidsLayer2Pdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/IffFundamentalData.o: ../../cpp/DIS/IffFundamentalData.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/IntercomCommunicationsParameters.o: ../../cpp/DIS/IntercomCommunicationsParameters.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/IntercomControlPdu.o: ../../cpp/DIS/IntercomControlPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/IntercomSignalPdu.o: ../../cpp/DIS/IntercomSignalPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/IsGroupOfPdu.o: ../../cpp/DIS/IsGroupOfPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/IsPartOfPdu.o: ../../cpp/DIS/IsPartOfPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/LayerHeader.o: ../../cpp/DIS/LayerHeader.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/LinearObjectStatePdu.o: ../../cpp/DIS/LinearObjectStatePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/LinearSegmentParameter.o: ../../cpp/DIS/LinearSegmentParameter.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/LogisticsFamilyPdu.o: ../../cpp/DIS/LogisticsFamilyPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/LogisticsPdu.o: ../../cpp/DIS/LogisticsPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/Marking.o: ../../cpp/DIS/Marking.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/MinefieldDataPdu.o: ../../cpp/DIS/MinefieldDataPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/MinefieldFamilyPdu.o: ../../cpp/DIS/MinefieldFamilyPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/MinefieldPduFamily.o: ../../cpp/DIS/MinefieldPduFamily.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/MinefieldQueryPdu.o: ../../cpp/DIS/MinefieldQueryPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/MinefieldResponseNackPdu.o: ../../cpp/DIS/MinefieldResponseNackPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/MinefieldStatePdu.o: ../../cpp/DIS/MinefieldStatePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ModulationType.o: ../../cpp/DIS/ModulationType.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/NamedLocation.o: ../../cpp/DIS/NamedLocation.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ObjectType.o: ../../cpp/DIS/ObjectType.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/OneByteChunk.o: ../../cpp/DIS/OneByteChunk.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/Orientation.o: ../../cpp/DIS/Orientation.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/Pdu.o: ../../cpp/DIS/Pdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/Point.o: ../../cpp/DIS/Point.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/PointObjectStatePdu.o: ../../cpp/DIS/PointObjectStatePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/PropulsionSystemData.o: ../../cpp/DIS/PropulsionSystemData.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/RadioCommunicationsFamilyPdu.o: ../../cpp/DIS/RadioCommunicationsFamilyPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/RadioEntityType.o: ../../cpp/DIS/RadioEntityType.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ReceiverPdu.o: ../../cpp/DIS/ReceiverPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/RecordQueryReliablePdu.o: ../../cpp/DIS/RecordQueryReliablePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/RecordSet.o: ../../cpp/DIS/RecordSet.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/Relationship.o: ../../cpp/DIS/Relationship.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/RemoveEntityPdu.o: ../../cpp/DIS/RemoveEntityPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/RemoveEntityReliablePdu.o: ../../cpp/DIS/RemoveEntityReliablePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/RepairCompletePdu.o: ../../cpp/DIS/RepairCompletePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/RepairResponsePdu.o: ../../cpp/DIS/RepairResponsePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ResupplyCancelPdu.o: ../../cpp/DIS/ResupplyCancelPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ResupplyOfferPdu.o: ../../cpp/DIS/ResupplyOfferPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ResupplyReceivedPdu.o: ../../cpp/DIS/ResupplyReceivedPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/SeesPdu.o: ../../cpp/DIS/SeesPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ServiceRequestPdu.o: ../../cpp/DIS/ServiceRequestPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/SetDataPdu.o: ../../cpp/DIS/SetDataPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/SetDataReliablePdu.o: ../../cpp/DIS/SetDataReliablePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/SetRecordReliablePdu.o: ../../cpp/DIS/SetRecordReliablePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ShaftRPMs.o: ../../cpp/DIS/ShaftRPMs.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/SignalPdu.o: ../../cpp/DIS/SignalPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/SimulationAddress.o: ../../cpp/DIS/SimulationAddress.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/SimulationManagementFamilyPdu.o: ../../cpp/DIS/SimulationManagementFamilyPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/SimulationManagementWithReliabilityFamilyPdu.o: ../../cpp/DIS/SimulationManagementWithReliabilityFamilyPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/SixByteChunk.o: ../../cpp/DIS/SixByteChunk.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/SphericalHarmonicAntennaPattern.o: ../../cpp/DIS/SphericalHarmonicAntennaPattern.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/StartResumePdu.o: ../../cpp/DIS/StartResumePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/StartResumeReliablePdu.o: ../../cpp/DIS/StartResumeReliablePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/StopFreezePdu.o: ../../cpp/DIS/StopFreezePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/StopFreezeReliablePdu.o: ../../cpp/DIS/StopFreezeReliablePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/SupplyQuantity.o: ../../cpp/DIS/SupplyQuantity.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/SyntheticEnvironmentFamilyPdu.o: ../../cpp/DIS/SyntheticEnvironmentFamilyPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/SystemID.o: ../../cpp/DIS/SystemID.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/TrackJamTarget.o: ../../cpp/DIS/TrackJamTarget.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/TransferControlRequestPdu.o: ../../cpp/DIS/TransferControlRequestPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/TransmitterPdu.o: ../../cpp/DIS/TransmitterPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/TwoByteChunk.o: ../../cpp/DIS/TwoByteChunk.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/UaPdu.o: ../../cpp/DIS/UaPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/VariableDatum.o: ../../cpp/DIS/VariableDatum.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/Vector3Double.o: ../../cpp/DIS/Vector3Double.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/Vector3Float.o: ../../cpp/DIS/Vector3Float.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/VectoringNozzleSystemData.o: ../../cpp/DIS/VectoringNozzleSystemData.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/WarfareFamilyPdu.o: ../../cpp/DIS/WarfareFamilyPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/Conversion.o: ../../CppUtils/DIS/Conversion.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/DataStream.o: ../../CppUtils/DIS/DataStream.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/IncomingMessage.o: ../../CppUtils/DIS/IncomingMessage.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/PacketFactory.o: ../../CppUtils/DIS/PacketFactory.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/PDUBank.o: ../../CppUtils/DIS/PDUBank.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/StreamUtils.o: ../../CppUtils/DIS/StreamUtils.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +-include $(OBJECTS:%.o=%.d) + diff --git a/Compile/gnu.linux/Example_Receive.make b/Compile/gnu.linux/Example_Receive.make new file mode 100644 index 00000000..6c547afa --- /dev/null +++ b/Compile/gnu.linux/Example_Receive.make @@ -0,0 +1,105 @@ +# C Console Executable Makefile autogenerated by premake +# Don't edit this file! Instead edit `premake.lua` then rerun `make` + +ifndef CONFIG + CONFIG=Debug +endif + +ifeq ($(CONFIG),Debug) + BINDIR := ../../bin + LIBDIR := ../../lib + OBJDIR := obj_gnu_Example_Receive_debug + OUTDIR := ../../bin + CPPFLAGS := -MMD -D "_DEBUG" -I "../.." -I "../../cpp" -I "../../CppUtils" + CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g + CXXFLAGS := $(CFLAGS) + LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -lNL -lDIS_debug + LDDEPS := ../../bin/libDIS_debug.so + RESFLAGS := -D "_DEBUG" -I "../.." -I "../../cpp" -I "../../CppUtils" + TARGET := Example_Receive_debug + BLDCMD = $(CC) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) +endif + +ifeq ($(CONFIG),Release) + BINDIR := ../../bin + LIBDIR := ../../lib + OBJDIR := obj_gnu_Example_Receive + OUTDIR := ../../bin + CPPFLAGS := -MMD -I "../.." -I "../../cpp" -I "../../CppUtils" + CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -O2 + CXXFLAGS := $(CFLAGS) + LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -Wl,-x -lNL -lDIS + LDDEPS := ../../bin/libDIS.so + RESFLAGS := -I "../.." -I "../../cpp" -I "../../CppUtils" + TARGET := Example_Receive + BLDCMD = $(CC) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) +endif + +OBJECTS := \ + $(OBJDIR)/main_receive.o \ + $(OBJDIR)/Connection.o \ + $(OBJDIR)/Utils.o \ + $(OBJDIR)/EntityStatePduProcessor.o \ + +MKDIR_TYPE := msdos +CMD := $(subst \,\\,$(ComSpec)$(COMSPEC)) +ifeq (,$(CMD)) + MKDIR_TYPE := posix +endif +ifeq (/bin/sh.exe,$(SHELL)) + MKDIR_TYPE := posix +endif +ifeq ($(MKDIR_TYPE),posix) + CMD_MKBINDIR := mkdir -p $(BINDIR) + CMD_MKLIBDIR := mkdir -p $(LIBDIR) + CMD_MKOUTDIR := mkdir -p $(OUTDIR) + CMD_MKOBJDIR := mkdir -p $(OBJDIR) +else + CMD_MKBINDIR := $(CMD) /c if not exist $(subst /,\\,$(BINDIR)) mkdir $(subst /,\\,$(BINDIR)) + CMD_MKLIBDIR := $(CMD) /c if not exist $(subst /,\\,$(LIBDIR)) mkdir $(subst /,\\,$(LIBDIR)) + CMD_MKOUTDIR := $(CMD) /c if not exist $(subst /,\\,$(OUTDIR)) mkdir $(subst /,\\,$(OUTDIR)) + CMD_MKOBJDIR := $(CMD) /c if not exist $(subst /,\\,$(OBJDIR)) mkdir $(subst /,\\,$(OBJDIR)) +endif + +.PHONY: clean + +$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES) + @echo Linking Example_Receive + -@$(CMD_MKBINDIR) + -@$(CMD_MKLIBDIR) + -@$(CMD_MKOUTDIR) + @$(BLDCMD) + +clean: + @echo Cleaning Example_Receive +ifeq ($(MKDIR_TYPE),posix) + -@rm -f $(OUTDIR)/$(TARGET) + -@rm -rf $(OBJDIR) +else + -@if exist $(subst /,\,$(OUTDIR)/$(TARGET)) del /q $(subst /,\,$(OUTDIR)/$(TARGET)) + -@if exist $(subst /,\,$(OBJDIR)) del /q $(subst /,\,$(OBJDIR)) + -@if exist $(subst /,\,$(OBJDIR)) rmdir /s /q $(subst /,\,$(OBJDIR)) +endif + +$(OBJDIR)/main_receive.o: ../../Example/main_receive.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/Connection.o: ../../Example/Connection.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/Utils.o: ../../Example/Utils.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/EntityStatePduProcessor.o: ../../Example/EntityStatePduProcessor.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +-include $(OBJECTS:%.o=%.d) + diff --git a/Compile/gnu.linux/Example_Send.make b/Compile/gnu.linux/Example_Send.make new file mode 100644 index 00000000..0513df2f --- /dev/null +++ b/Compile/gnu.linux/Example_Send.make @@ -0,0 +1,105 @@ +# C Console Executable Makefile autogenerated by premake +# Don't edit this file! Instead edit `premake.lua` then rerun `make` + +ifndef CONFIG + CONFIG=Debug +endif + +ifeq ($(CONFIG),Debug) + BINDIR := ../../bin + LIBDIR := ../../lib + OBJDIR := obj_gnu_Example_Send_debug + OUTDIR := ../../bin + CPPFLAGS := -MMD -D "_DEBUG" -I "../.." -I "../../cpp" -I "../../CppUtils" + CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g + CXXFLAGS := $(CFLAGS) + LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -lNL -lDIS_debug + LDDEPS := ../../bin/libDIS_debug.so + RESFLAGS := -D "_DEBUG" -I "../.." -I "../../cpp" -I "../../CppUtils" + TARGET := Example_Send_debug + BLDCMD = $(CC) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) +endif + +ifeq ($(CONFIG),Release) + BINDIR := ../../bin + LIBDIR := ../../lib + OBJDIR := obj_gnu_Example_Send + OUTDIR := ../../bin + CPPFLAGS := -MMD -I "../.." -I "../../cpp" -I "../../CppUtils" + CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -O2 + CXXFLAGS := $(CFLAGS) + LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -Wl,-x -lNL -lDIS + LDDEPS := ../../bin/libDIS.so + RESFLAGS := -I "../.." -I "../../cpp" -I "../../CppUtils" + TARGET := Example_Send + BLDCMD = $(CC) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) +endif + +OBJECTS := \ + $(OBJDIR)/main.o \ + $(OBJDIR)/Connection.o \ + $(OBJDIR)/Utils.o \ + $(OBJDIR)/Timer.o \ + +MKDIR_TYPE := msdos +CMD := $(subst \,\\,$(ComSpec)$(COMSPEC)) +ifeq (,$(CMD)) + MKDIR_TYPE := posix +endif +ifeq (/bin/sh.exe,$(SHELL)) + MKDIR_TYPE := posix +endif +ifeq ($(MKDIR_TYPE),posix) + CMD_MKBINDIR := mkdir -p $(BINDIR) + CMD_MKLIBDIR := mkdir -p $(LIBDIR) + CMD_MKOUTDIR := mkdir -p $(OUTDIR) + CMD_MKOBJDIR := mkdir -p $(OBJDIR) +else + CMD_MKBINDIR := $(CMD) /c if not exist $(subst /,\\,$(BINDIR)) mkdir $(subst /,\\,$(BINDIR)) + CMD_MKLIBDIR := $(CMD) /c if not exist $(subst /,\\,$(LIBDIR)) mkdir $(subst /,\\,$(LIBDIR)) + CMD_MKOUTDIR := $(CMD) /c if not exist $(subst /,\\,$(OUTDIR)) mkdir $(subst /,\\,$(OUTDIR)) + CMD_MKOBJDIR := $(CMD) /c if not exist $(subst /,\\,$(OBJDIR)) mkdir $(subst /,\\,$(OBJDIR)) +endif + +.PHONY: clean + +$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES) + @echo Linking Example_Send + -@$(CMD_MKBINDIR) + -@$(CMD_MKLIBDIR) + -@$(CMD_MKOUTDIR) + @$(BLDCMD) + +clean: + @echo Cleaning Example_Send +ifeq ($(MKDIR_TYPE),posix) + -@rm -f $(OUTDIR)/$(TARGET) + -@rm -rf $(OBJDIR) +else + -@if exist $(subst /,\,$(OUTDIR)/$(TARGET)) del /q $(subst /,\,$(OUTDIR)/$(TARGET)) + -@if exist $(subst /,\,$(OBJDIR)) del /q $(subst /,\,$(OBJDIR)) + -@if exist $(subst /,\,$(OBJDIR)) rmdir /s /q $(subst /,\,$(OBJDIR)) +endif + +$(OBJDIR)/main.o: ../../Example/main.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/Connection.o: ../../Example/Connection.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/Utils.o: ../../Example/Utils.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/Timer.o: ../../Example/Timer.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +-include $(OBJECTS:%.o=%.d) + diff --git a/Compile/gnu.linux/Makefile b/Compile/gnu.linux/Makefile new file mode 100644 index 00000000..91d1e8e2 --- /dev/null +++ b/Compile/gnu.linux/Makefile @@ -0,0 +1,40 @@ +# Makefile autogenerated by premake +# Don't edit this file! Instead edit `premake.lua` then rerun `make` +# Options: +# CONFIG=[Debug|Release] + +ifndef CONFIG + CONFIG=Debug +endif + +export CONFIG + +.PHONY: all clean DIS UnitTest_DIS Example_Send Example_Receive + +all: DIS UnitTest_DIS Example_Send Example_Receive + +Makefile: ../premake/Projects/DIS.lua ../premake/Projects/../Packages/DIS.lua ../premake/Projects/../Packages/UnitTest_DIS.lua ../premake/Projects/../Packages/Example_Send.lua ../premake/Projects/../Packages/Example_Receive.lua + @echo ==== Regenerating Makefiles ==== + @premake --file $^ --target gnu + +DIS: + @echo ==== Building DIS ==== + @$(MAKE) --no-print-directory -C . -f DIS.make + +UnitTest_DIS: DIS + @echo ==== Building UnitTest_DIS ==== + @$(MAKE) --no-print-directory -C . -f UnitTest_DIS.make + +Example_Send: DIS + @echo ==== Building Example_Send ==== + @$(MAKE) --no-print-directory -C . -f Example_Send.make + +Example_Receive: DIS + @echo ==== Building Example_Receive ==== + @$(MAKE) --no-print-directory -C . -f Example_Receive.make + +clean: + @$(MAKE) --no-print-directory -C . -f DIS.make clean + @$(MAKE) --no-print-directory -C . -f UnitTest_DIS.make clean + @$(MAKE) --no-print-directory -C . -f Example_Send.make clean + @$(MAKE) --no-print-directory -C . -f Example_Receive.make clean diff --git a/Compile/gnu.linux/UnitTest_DIS.make b/Compile/gnu.linux/UnitTest_DIS.make new file mode 100644 index 00000000..58b8afb4 --- /dev/null +++ b/Compile/gnu.linux/UnitTest_DIS.make @@ -0,0 +1,111 @@ +# C Shared Library Makefile autogenerated by premake +# Don't edit this file! Instead edit `premake.lua` then rerun `make` + +ifndef CONFIG + CONFIG=Debug +endif + +ifeq ($(CONFIG),Debug) + BINDIR := ../../bin + LIBDIR := ../../lib + OBJDIR := obj_gnu_UnitTest_DIS_debug + OUTDIR := ../../bin + CPPFLAGS := -MMD -D "_DEBUG" -I "../../cpp" -I "../../CppUtils" + CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g + CXXFLAGS := $(CFLAGS) + LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -lDIS_debug -lcppunit + LDDEPS := ../../bin/libDIS_debug.so + RESFLAGS := -D "_DEBUG" -I "../../cpp" -I "../../CppUtils" + TARGET := UnitTest_DIS_debug + BLDCMD = $(CC) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) +endif + +ifeq ($(CONFIG),Release) + BINDIR := ../../bin + LIBDIR := ../../lib + OBJDIR := obj_gnu_UnitTest_DIS + OUTDIR := ../../bin + CPPFLAGS := -MMD -I "../../cpp" -I "../../CppUtils" + CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -O2 + CXXFLAGS := $(CFLAGS) + LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -Wl,-x -lDIS -lcppunit + LDDEPS := ../../bin/libDIS.so + RESFLAGS := -I "../../cpp" -I "../../CppUtils" + TARGET := UnitTest_DIS + BLDCMD = $(CC) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) +endif + +OBJECTS := \ + $(OBJDIR)/DataStreamTests.o \ + $(OBJDIR)/IncomingMessageTests.o \ + $(OBJDIR)/mainTestRunner.o \ + $(OBJDIR)/PduMarshallTests.o \ + $(OBJDIR)/PduUtils.o \ + +MKDIR_TYPE := msdos +CMD := $(subst \,\\,$(ComSpec)$(COMSPEC)) +ifeq (,$(CMD)) + MKDIR_TYPE := posix +endif +ifeq (/bin/sh.exe,$(SHELL)) + MKDIR_TYPE := posix +endif +ifeq ($(MKDIR_TYPE),posix) + CMD_MKBINDIR := mkdir -p $(BINDIR) + CMD_MKLIBDIR := mkdir -p $(LIBDIR) + CMD_MKOUTDIR := mkdir -p $(OUTDIR) + CMD_MKOBJDIR := mkdir -p $(OBJDIR) +else + CMD_MKBINDIR := $(CMD) /c if not exist $(subst /,\\,$(BINDIR)) mkdir $(subst /,\\,$(BINDIR)) + CMD_MKLIBDIR := $(CMD) /c if not exist $(subst /,\\,$(LIBDIR)) mkdir $(subst /,\\,$(LIBDIR)) + CMD_MKOUTDIR := $(CMD) /c if not exist $(subst /,\\,$(OUTDIR)) mkdir $(subst /,\\,$(OUTDIR)) + CMD_MKOBJDIR := $(CMD) /c if not exist $(subst /,\\,$(OBJDIR)) mkdir $(subst /,\\,$(OBJDIR)) +endif + +.PHONY: clean + +$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES) + @echo Linking UnitTest_DIS + -@$(CMD_MKBINDIR) + -@$(CMD_MKLIBDIR) + -@$(CMD_MKOUTDIR) + @$(BLDCMD) + +clean: + @echo Cleaning UnitTest_DIS +ifeq ($(MKDIR_TYPE),posix) + -@rm -f $(OUTDIR)/$(TARGET) + -@rm -rf $(OBJDIR) +else + -@if exist $(subst /,\,$(OUTDIR)/$(TARGET)) del /q $(subst /,\,$(OUTDIR)/$(TARGET)) + -@if exist $(subst /,\,$(OBJDIR)) del /q $(subst /,\,$(OBJDIR)) + -@if exist $(subst /,\,$(OBJDIR)) rmdir /s /q $(subst /,\,$(OBJDIR)) +endif + +$(OBJDIR)/DataStreamTests.o: ../../UnitTestDIS/DataStreamTests.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/IncomingMessageTests.o: ../../UnitTestDIS/IncomingMessageTests.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/mainTestRunner.o: ../../UnitTestDIS/mainTestRunner.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/PduMarshallTests.o: ../../UnitTestDIS/PduMarshallTests.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/PduUtils.o: ../../UnitTestDIS/PduUtils.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +-include $(OBJECTS:%.o=%.d) + diff --git a/Compile/gnu.mingw/DIS.make b/Compile/gnu.mingw/DIS.make new file mode 100644 index 00000000..0f418c64 --- /dev/null +++ b/Compile/gnu.mingw/DIS.make @@ -0,0 +1,935 @@ +# C++ Console Executable Makefile autogenerated by premake +# Don't edit this file! Instead edit `premake.lua` then rerun `make` + +ifndef CONFIG + CONFIG=Debug +endif + +ifeq ($(CONFIG),Debug) + BINDIR := ../../bin + LIBDIR := ../../lib + OBJDIR := obj_gnu_DIS_debug + OUTDIR := ../../bin + CPPFLAGS := -MMD -D "WIN32" -D "_DEBUG" -D "EXPORT_LIBRARY" -I "../../cpp" -I "../../CppUtils" + CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g + CXXFLAGS := $(CFLAGS) + LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -shared -Wl,--out-implib="../../lib/libDIS_debug.a" + LDDEPS := + RESFLAGS := -D "WIN32" -D "_DEBUG" -D "EXPORT_LIBRARY" -I "../../cpp" -I "../../CppUtils" + TARGET := DIS_debug.dll + BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) +endif + +ifeq ($(CONFIG),Release) + BINDIR := ../../bin + LIBDIR := ../../lib + OBJDIR := obj_gnu_DIS + OUTDIR := ../../bin + CPPFLAGS := -MMD -D "WIN32" -D "EXPORT_LIBRARY" -I "../../cpp" -I "../../CppUtils" + CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -O2 + CXXFLAGS := $(CFLAGS) + LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -shared -Wl,--out-implib="../../lib/libDIS.a" -s + LDDEPS := + RESFLAGS := -D "WIN32" -D "EXPORT_LIBRARY" -I "../../cpp" -I "../../CppUtils" + TARGET := DIS.dll + BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) +endif + +OBJECTS := \ + $(OBJDIR)/AcknowledgePdu.o \ + $(OBJDIR)/AcknowledgeReliablePdu.o \ + $(OBJDIR)/AcousticBeamData.o \ + $(OBJDIR)/AcousticBeamFundamentalParameter.o \ + $(OBJDIR)/AcousticEmitter.o \ + $(OBJDIR)/AcousticEmitterSystem.o \ + $(OBJDIR)/AcousticEmitterSystemData.o \ + $(OBJDIR)/ActionRequestPdu.o \ + $(OBJDIR)/ActionRequestReliablePdu.o \ + $(OBJDIR)/ActionResponsePdu.o \ + $(OBJDIR)/ActionResponseReliablePdu.o \ + $(OBJDIR)/AggregateID.o \ + $(OBJDIR)/AggregateMarking.o \ + $(OBJDIR)/AggregateStatePdu.o \ + $(OBJDIR)/AggregateType.o \ + $(OBJDIR)/AngularVelocityVector.o \ + $(OBJDIR)/AntennaLocation.o \ + $(OBJDIR)/ApaData.o \ + $(OBJDIR)/ArealObjectStatePdu.o \ + $(OBJDIR)/ArticulationParameter.o \ + $(OBJDIR)/BeamAntennaPattern.o \ + $(OBJDIR)/BeamData.o \ + $(OBJDIR)/BurstDescriptor.o \ + $(OBJDIR)/ClockTime.o \ + $(OBJDIR)/CollisionElasticPdu.o \ + $(OBJDIR)/CollisionPdu.o \ + $(OBJDIR)/CommentPdu.o \ + $(OBJDIR)/CommentReliablePdu.o \ + $(OBJDIR)/CreateEntityPdu.o \ + $(OBJDIR)/CreateEntityReliablePdu.o \ + $(OBJDIR)/DataPdu.o \ + $(OBJDIR)/DataQueryPdu.o \ + $(OBJDIR)/DataQueryReliablePdu.o \ + $(OBJDIR)/DataReliablePdu.o \ + $(OBJDIR)/DeadReckoningParameter.o \ + $(OBJDIR)/DesignatorPdu.o \ + $(OBJDIR)/DetonationPdu.o \ + $(OBJDIR)/DistributedEmissionsFamilyPdu.o \ + $(OBJDIR)/EightByteChunk.o \ + $(OBJDIR)/ElectronicEmissionBeamData.o \ + $(OBJDIR)/ElectronicEmissionsPdu.o \ + $(OBJDIR)/ElectronicEmissionSystemData.o \ + $(OBJDIR)/EmitterSystem.o \ + $(OBJDIR)/EntityID.o \ + $(OBJDIR)/EntityInformationFamilyPdu.o \ + $(OBJDIR)/EntityManagementFamilyPdu.o \ + $(OBJDIR)/EntityStatePdu.o \ + $(OBJDIR)/EntityStateUpdatePdu.o \ + $(OBJDIR)/EntityType.o \ + $(OBJDIR)/Environment.o \ + $(OBJDIR)/EnvironmentalProcessPdu.o \ + $(OBJDIR)/EventID.o \ + $(OBJDIR)/EventReportPdu.o \ + $(OBJDIR)/EventReportReliablePdu.o \ + $(OBJDIR)/FastEntityStatePdu.o \ + $(OBJDIR)/FirePdu.o \ + $(OBJDIR)/FixedDatum.o \ + $(OBJDIR)/FourByteChunk.o \ + $(OBJDIR)/FundamentalParameterData.o \ + $(OBJDIR)/FundamentalParameterDataIff.o \ + $(OBJDIR)/GridAxisRecord.o \ + $(OBJDIR)/GridAxisRecordRepresentation0.o \ + $(OBJDIR)/GridAxisRecordRepresentation1.o \ + $(OBJDIR)/GridAxisRecordRepresentation2.o \ + $(OBJDIR)/GriddedDataPdu.o \ + $(OBJDIR)/IffAtcNavAidsLayer1Pdu.o \ + $(OBJDIR)/IffAtcNavAidsLayer2Pdu.o \ + $(OBJDIR)/IffFundamentalData.o \ + $(OBJDIR)/IntercomCommunicationsParameters.o \ + $(OBJDIR)/IntercomControlPdu.o \ + $(OBJDIR)/IntercomSignalPdu.o \ + $(OBJDIR)/IsGroupOfPdu.o \ + $(OBJDIR)/IsPartOfPdu.o \ + $(OBJDIR)/LayerHeader.o \ + $(OBJDIR)/LinearObjectStatePdu.o \ + $(OBJDIR)/LinearSegmentParameter.o \ + $(OBJDIR)/LogisticsFamilyPdu.o \ + $(OBJDIR)/LogisticsPdu.o \ + $(OBJDIR)/Marking.o \ + $(OBJDIR)/MinefieldDataPdu.o \ + $(OBJDIR)/MinefieldFamilyPdu.o \ + $(OBJDIR)/MinefieldPduFamily.o \ + $(OBJDIR)/MinefieldQueryPdu.o \ + $(OBJDIR)/MinefieldResponseNackPdu.o \ + $(OBJDIR)/MinefieldStatePdu.o \ + $(OBJDIR)/ModulationType.o \ + $(OBJDIR)/NamedLocation.o \ + $(OBJDIR)/ObjectType.o \ + $(OBJDIR)/OneByteChunk.o \ + $(OBJDIR)/Orientation.o \ + $(OBJDIR)/Pdu.o \ + $(OBJDIR)/Point.o \ + $(OBJDIR)/PointObjectStatePdu.o \ + $(OBJDIR)/PropulsionSystemData.o \ + $(OBJDIR)/RadioCommunicationsFamilyPdu.o \ + $(OBJDIR)/RadioEntityType.o \ + $(OBJDIR)/ReceiverPdu.o \ + $(OBJDIR)/RecordQueryReliablePdu.o \ + $(OBJDIR)/RecordSet.o \ + $(OBJDIR)/Relationship.o \ + $(OBJDIR)/RemoveEntityPdu.o \ + $(OBJDIR)/RemoveEntityReliablePdu.o \ + $(OBJDIR)/RepairCompletePdu.o \ + $(OBJDIR)/RepairResponsePdu.o \ + $(OBJDIR)/ResupplyCancelPdu.o \ + $(OBJDIR)/ResupplyOfferPdu.o \ + $(OBJDIR)/ResupplyReceivedPdu.o \ + $(OBJDIR)/SeesPdu.o \ + $(OBJDIR)/ServiceRequestPdu.o \ + $(OBJDIR)/SetDataPdu.o \ + $(OBJDIR)/SetDataReliablePdu.o \ + $(OBJDIR)/SetRecordReliablePdu.o \ + $(OBJDIR)/ShaftRPMs.o \ + $(OBJDIR)/SignalPdu.o \ + $(OBJDIR)/SimulationAddress.o \ + $(OBJDIR)/SimulationManagementFamilyPdu.o \ + $(OBJDIR)/SimulationManagementWithReliabilityFamilyPdu.o \ + $(OBJDIR)/SixByteChunk.o \ + $(OBJDIR)/SphericalHarmonicAntennaPattern.o \ + $(OBJDIR)/StartResumePdu.o \ + $(OBJDIR)/StartResumeReliablePdu.o \ + $(OBJDIR)/StopFreezePdu.o \ + $(OBJDIR)/StopFreezeReliablePdu.o \ + $(OBJDIR)/SupplyQuantity.o \ + $(OBJDIR)/SyntheticEnvironmentFamilyPdu.o \ + $(OBJDIR)/SystemID.o \ + $(OBJDIR)/TrackJamTarget.o \ + $(OBJDIR)/TransferControlRequestPdu.o \ + $(OBJDIR)/TransmitterPdu.o \ + $(OBJDIR)/TwoByteChunk.o \ + $(OBJDIR)/UaPdu.o \ + $(OBJDIR)/VariableDatum.o \ + $(OBJDIR)/Vector3Double.o \ + $(OBJDIR)/Vector3Float.o \ + $(OBJDIR)/VectoringNozzleSystemData.o \ + $(OBJDIR)/WarfareFamilyPdu.o \ + $(OBJDIR)/Conversion.o \ + $(OBJDIR)/DataStream.o \ + $(OBJDIR)/IncomingMessage.o \ + $(OBJDIR)/PacketFactory.o \ + $(OBJDIR)/PDUBank.o \ + $(OBJDIR)/StreamUtils.o \ + +RESOURCES := \ + +MKDIR_TYPE := msdos +CMD := $(subst \,\\,$(ComSpec)$(COMSPEC)) +ifeq (,$(CMD)) + MKDIR_TYPE := posix +endif +ifeq (/bin/sh.exe,$(SHELL)) + MKDIR_TYPE := posix +endif +ifeq ($(MKDIR_TYPE),posix) + CMD_MKBINDIR := mkdir -p $(BINDIR) + CMD_MKLIBDIR := mkdir -p $(LIBDIR) + CMD_MKOUTDIR := mkdir -p $(OUTDIR) + CMD_MKOBJDIR := mkdir -p $(OBJDIR) +else + CMD_MKBINDIR := $(CMD) /c if not exist $(subst /,\\,$(BINDIR)) mkdir $(subst /,\\,$(BINDIR)) + CMD_MKLIBDIR := $(CMD) /c if not exist $(subst /,\\,$(LIBDIR)) mkdir $(subst /,\\,$(LIBDIR)) + CMD_MKOUTDIR := $(CMD) /c if not exist $(subst /,\\,$(OUTDIR)) mkdir $(subst /,\\,$(OUTDIR)) + CMD_MKOBJDIR := $(CMD) /c if not exist $(subst /,\\,$(OBJDIR)) mkdir $(subst /,\\,$(OBJDIR)) +endif + +.PHONY: clean + +$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES) + @echo Linking DIS + -@$(CMD_MKBINDIR) + -@$(CMD_MKLIBDIR) + -@$(CMD_MKOUTDIR) + @$(BLDCMD) + +clean: + @echo Cleaning DIS +ifeq ($(MKDIR_TYPE),posix) + -@rm -f $(OUTDIR)/$(TARGET) + -@rm -rf $(OBJDIR) +else + -@if exist $(subst /,\,$(OUTDIR)/$(TARGET)) del /q $(subst /,\,$(OUTDIR)/$(TARGET)) + -@if exist $(subst /,\,$(OBJDIR)) del /q $(subst /,\,$(OBJDIR)) + -@if exist $(subst /,\,$(OBJDIR)) rmdir /s /q $(subst /,\,$(OBJDIR)) +endif + +$(OBJDIR)/AcknowledgePdu.o: ../../cpp/DIS/AcknowledgePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/AcknowledgeReliablePdu.o: ../../cpp/DIS/AcknowledgeReliablePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/AcousticBeamData.o: ../../cpp/DIS/AcousticBeamData.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/AcousticBeamFundamentalParameter.o: ../../cpp/DIS/AcousticBeamFundamentalParameter.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/AcousticEmitter.o: ../../cpp/DIS/AcousticEmitter.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/AcousticEmitterSystem.o: ../../cpp/DIS/AcousticEmitterSystem.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/AcousticEmitterSystemData.o: ../../cpp/DIS/AcousticEmitterSystemData.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ActionRequestPdu.o: ../../cpp/DIS/ActionRequestPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ActionRequestReliablePdu.o: ../../cpp/DIS/ActionRequestReliablePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ActionResponsePdu.o: ../../cpp/DIS/ActionResponsePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ActionResponseReliablePdu.o: ../../cpp/DIS/ActionResponseReliablePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/AggregateID.o: ../../cpp/DIS/AggregateID.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/AggregateMarking.o: ../../cpp/DIS/AggregateMarking.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/AggregateStatePdu.o: ../../cpp/DIS/AggregateStatePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/AggregateType.o: ../../cpp/DIS/AggregateType.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/AngularVelocityVector.o: ../../cpp/DIS/AngularVelocityVector.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/AntennaLocation.o: ../../cpp/DIS/AntennaLocation.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ApaData.o: ../../cpp/DIS/ApaData.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ArealObjectStatePdu.o: ../../cpp/DIS/ArealObjectStatePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ArticulationParameter.o: ../../cpp/DIS/ArticulationParameter.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/BeamAntennaPattern.o: ../../cpp/DIS/BeamAntennaPattern.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/BeamData.o: ../../cpp/DIS/BeamData.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/BurstDescriptor.o: ../../cpp/DIS/BurstDescriptor.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ClockTime.o: ../../cpp/DIS/ClockTime.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/CollisionElasticPdu.o: ../../cpp/DIS/CollisionElasticPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/CollisionPdu.o: ../../cpp/DIS/CollisionPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/CommentPdu.o: ../../cpp/DIS/CommentPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/CommentReliablePdu.o: ../../cpp/DIS/CommentReliablePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/CreateEntityPdu.o: ../../cpp/DIS/CreateEntityPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/CreateEntityReliablePdu.o: ../../cpp/DIS/CreateEntityReliablePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/DataPdu.o: ../../cpp/DIS/DataPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/DataQueryPdu.o: ../../cpp/DIS/DataQueryPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/DataQueryReliablePdu.o: ../../cpp/DIS/DataQueryReliablePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/DataReliablePdu.o: ../../cpp/DIS/DataReliablePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/DeadReckoningParameter.o: ../../cpp/DIS/DeadReckoningParameter.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/DesignatorPdu.o: ../../cpp/DIS/DesignatorPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/DetonationPdu.o: ../../cpp/DIS/DetonationPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/DistributedEmissionsFamilyPdu.o: ../../cpp/DIS/DistributedEmissionsFamilyPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/EightByteChunk.o: ../../cpp/DIS/EightByteChunk.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ElectronicEmissionBeamData.o: ../../cpp/DIS/ElectronicEmissionBeamData.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ElectronicEmissionsPdu.o: ../../cpp/DIS/ElectronicEmissionsPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ElectronicEmissionSystemData.o: ../../cpp/DIS/ElectronicEmissionSystemData.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/EmitterSystem.o: ../../cpp/DIS/EmitterSystem.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/EntityID.o: ../../cpp/DIS/EntityID.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/EntityInformationFamilyPdu.o: ../../cpp/DIS/EntityInformationFamilyPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/EntityManagementFamilyPdu.o: ../../cpp/DIS/EntityManagementFamilyPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/EntityStatePdu.o: ../../cpp/DIS/EntityStatePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/EntityStateUpdatePdu.o: ../../cpp/DIS/EntityStateUpdatePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/EntityType.o: ../../cpp/DIS/EntityType.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/Environment.o: ../../cpp/DIS/Environment.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/EnvironmentalProcessPdu.o: ../../cpp/DIS/EnvironmentalProcessPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/EventID.o: ../../cpp/DIS/EventID.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/EventReportPdu.o: ../../cpp/DIS/EventReportPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/EventReportReliablePdu.o: ../../cpp/DIS/EventReportReliablePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/FastEntityStatePdu.o: ../../cpp/DIS/FastEntityStatePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/FirePdu.o: ../../cpp/DIS/FirePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/FixedDatum.o: ../../cpp/DIS/FixedDatum.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/FourByteChunk.o: ../../cpp/DIS/FourByteChunk.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/FundamentalParameterData.o: ../../cpp/DIS/FundamentalParameterData.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/FundamentalParameterDataIff.o: ../../cpp/DIS/FundamentalParameterDataIff.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/GridAxisRecord.o: ../../cpp/DIS/GridAxisRecord.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/GridAxisRecordRepresentation0.o: ../../cpp/DIS/GridAxisRecordRepresentation0.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/GridAxisRecordRepresentation1.o: ../../cpp/DIS/GridAxisRecordRepresentation1.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/GridAxisRecordRepresentation2.o: ../../cpp/DIS/GridAxisRecordRepresentation2.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/GriddedDataPdu.o: ../../cpp/DIS/GriddedDataPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/IffAtcNavAidsLayer1Pdu.o: ../../cpp/DIS/IffAtcNavAidsLayer1Pdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/IffAtcNavAidsLayer2Pdu.o: ../../cpp/DIS/IffAtcNavAidsLayer2Pdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/IffFundamentalData.o: ../../cpp/DIS/IffFundamentalData.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/IntercomCommunicationsParameters.o: ../../cpp/DIS/IntercomCommunicationsParameters.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/IntercomControlPdu.o: ../../cpp/DIS/IntercomControlPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/IntercomSignalPdu.o: ../../cpp/DIS/IntercomSignalPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/IsGroupOfPdu.o: ../../cpp/DIS/IsGroupOfPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/IsPartOfPdu.o: ../../cpp/DIS/IsPartOfPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/LayerHeader.o: ../../cpp/DIS/LayerHeader.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/LinearObjectStatePdu.o: ../../cpp/DIS/LinearObjectStatePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/LinearSegmentParameter.o: ../../cpp/DIS/LinearSegmentParameter.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/LogisticsFamilyPdu.o: ../../cpp/DIS/LogisticsFamilyPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/LogisticsPdu.o: ../../cpp/DIS/LogisticsPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/Marking.o: ../../cpp/DIS/Marking.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/MinefieldDataPdu.o: ../../cpp/DIS/MinefieldDataPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/MinefieldFamilyPdu.o: ../../cpp/DIS/MinefieldFamilyPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/MinefieldPduFamily.o: ../../cpp/DIS/MinefieldPduFamily.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/MinefieldQueryPdu.o: ../../cpp/DIS/MinefieldQueryPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/MinefieldResponseNackPdu.o: ../../cpp/DIS/MinefieldResponseNackPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/MinefieldStatePdu.o: ../../cpp/DIS/MinefieldStatePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ModulationType.o: ../../cpp/DIS/ModulationType.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/NamedLocation.o: ../../cpp/DIS/NamedLocation.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ObjectType.o: ../../cpp/DIS/ObjectType.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/OneByteChunk.o: ../../cpp/DIS/OneByteChunk.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/Orientation.o: ../../cpp/DIS/Orientation.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/Pdu.o: ../../cpp/DIS/Pdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/Point.o: ../../cpp/DIS/Point.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/PointObjectStatePdu.o: ../../cpp/DIS/PointObjectStatePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/PropulsionSystemData.o: ../../cpp/DIS/PropulsionSystemData.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/RadioCommunicationsFamilyPdu.o: ../../cpp/DIS/RadioCommunicationsFamilyPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/RadioEntityType.o: ../../cpp/DIS/RadioEntityType.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ReceiverPdu.o: ../../cpp/DIS/ReceiverPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/RecordQueryReliablePdu.o: ../../cpp/DIS/RecordQueryReliablePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/RecordSet.o: ../../cpp/DIS/RecordSet.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/Relationship.o: ../../cpp/DIS/Relationship.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/RemoveEntityPdu.o: ../../cpp/DIS/RemoveEntityPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/RemoveEntityReliablePdu.o: ../../cpp/DIS/RemoveEntityReliablePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/RepairCompletePdu.o: ../../cpp/DIS/RepairCompletePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/RepairResponsePdu.o: ../../cpp/DIS/RepairResponsePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ResupplyCancelPdu.o: ../../cpp/DIS/ResupplyCancelPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ResupplyOfferPdu.o: ../../cpp/DIS/ResupplyOfferPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ResupplyReceivedPdu.o: ../../cpp/DIS/ResupplyReceivedPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/SeesPdu.o: ../../cpp/DIS/SeesPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ServiceRequestPdu.o: ../../cpp/DIS/ServiceRequestPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/SetDataPdu.o: ../../cpp/DIS/SetDataPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/SetDataReliablePdu.o: ../../cpp/DIS/SetDataReliablePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/SetRecordReliablePdu.o: ../../cpp/DIS/SetRecordReliablePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/ShaftRPMs.o: ../../cpp/DIS/ShaftRPMs.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/SignalPdu.o: ../../cpp/DIS/SignalPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/SimulationAddress.o: ../../cpp/DIS/SimulationAddress.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/SimulationManagementFamilyPdu.o: ../../cpp/DIS/SimulationManagementFamilyPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/SimulationManagementWithReliabilityFamilyPdu.o: ../../cpp/DIS/SimulationManagementWithReliabilityFamilyPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/SixByteChunk.o: ../../cpp/DIS/SixByteChunk.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/SphericalHarmonicAntennaPattern.o: ../../cpp/DIS/SphericalHarmonicAntennaPattern.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/StartResumePdu.o: ../../cpp/DIS/StartResumePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/StartResumeReliablePdu.o: ../../cpp/DIS/StartResumeReliablePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/StopFreezePdu.o: ../../cpp/DIS/StopFreezePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/StopFreezeReliablePdu.o: ../../cpp/DIS/StopFreezeReliablePdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/SupplyQuantity.o: ../../cpp/DIS/SupplyQuantity.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/SyntheticEnvironmentFamilyPdu.o: ../../cpp/DIS/SyntheticEnvironmentFamilyPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/SystemID.o: ../../cpp/DIS/SystemID.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/TrackJamTarget.o: ../../cpp/DIS/TrackJamTarget.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/TransferControlRequestPdu.o: ../../cpp/DIS/TransferControlRequestPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/TransmitterPdu.o: ../../cpp/DIS/TransmitterPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/TwoByteChunk.o: ../../cpp/DIS/TwoByteChunk.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/UaPdu.o: ../../cpp/DIS/UaPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/VariableDatum.o: ../../cpp/DIS/VariableDatum.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/Vector3Double.o: ../../cpp/DIS/Vector3Double.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/Vector3Float.o: ../../cpp/DIS/Vector3Float.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/VectoringNozzleSystemData.o: ../../cpp/DIS/VectoringNozzleSystemData.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/WarfareFamilyPdu.o: ../../cpp/DIS/WarfareFamilyPdu.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/Conversion.o: ../../CppUtils/DIS/Conversion.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/DataStream.o: ../../CppUtils/DIS/DataStream.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/IncomingMessage.o: ../../CppUtils/DIS/IncomingMessage.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/PacketFactory.o: ../../CppUtils/DIS/PacketFactory.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/PDUBank.o: ../../CppUtils/DIS/PDUBank.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/StreamUtils.o: ../../CppUtils/DIS/StreamUtils.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +-include $(OBJECTS:%.o=%.d) + diff --git a/Compile/gnu.mingw/Example_Receive.make b/Compile/gnu.mingw/Example_Receive.make new file mode 100644 index 00000000..6a6c146b --- /dev/null +++ b/Compile/gnu.mingw/Example_Receive.make @@ -0,0 +1,107 @@ +# C++ Console Executable Makefile autogenerated by premake +# Don't edit this file! Instead edit `premake.lua` then rerun `make` + +ifndef CONFIG + CONFIG=Debug +endif + +ifeq ($(CONFIG),Debug) + BINDIR := ../../bin + LIBDIR := ../../lib + OBJDIR := obj_gnu_Example_Receive_debug + OUTDIR := ../../bin + CPPFLAGS := -MMD -D "WIN32" -D "_DEBUG" -D "_CONSOLE" -I "../.." -I "../../cpp" -I "../../CppUtils" -I "$(HAWKNL_INC_DIR)" + CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g + CXXFLAGS := $(CFLAGS) + LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -L"$(HAWKNL_LIB_DIR)" -lHawkNL -lDIS_debug + LDDEPS := ../../bin/DIS_debug.dll + RESFLAGS := -D "WIN32" -D "_DEBUG" -D "_CONSOLE" -I "../.." -I "../../cpp" -I "../../CppUtils" -I "$(HAWKNL_INC_DIR)" + TARGET := Example_Receive_debug.exe + BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) +endif + +ifeq ($(CONFIG),Release) + BINDIR := ../../bin + LIBDIR := ../../lib + OBJDIR := obj_gnu_Example_Receive + OUTDIR := ../../bin + CPPFLAGS := -MMD -D "WIN32" -D "_CONSOLE" -I "../.." -I "../../cpp" -I "../../CppUtils" -I "$(HAWKNL_INC_DIR)" + CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -O2 + CXXFLAGS := $(CFLAGS) + LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -s -L"$(HAWKNL_LIB_DIR)" -lHawkNL -lDIS + LDDEPS := ../../bin/DIS.dll + RESFLAGS := -D "WIN32" -D "_CONSOLE" -I "../.." -I "../../cpp" -I "../../CppUtils" -I "$(HAWKNL_INC_DIR)" + TARGET := Example_Receive.exe + BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) +endif + +OBJECTS := \ + $(OBJDIR)/main_receive.o \ + $(OBJDIR)/Connection.o \ + $(OBJDIR)/Utils.o \ + $(OBJDIR)/EntityStatePduProcessor.o \ + +RESOURCES := \ + +MKDIR_TYPE := msdos +CMD := $(subst \,\\,$(ComSpec)$(COMSPEC)) +ifeq (,$(CMD)) + MKDIR_TYPE := posix +endif +ifeq (/bin/sh.exe,$(SHELL)) + MKDIR_TYPE := posix +endif +ifeq ($(MKDIR_TYPE),posix) + CMD_MKBINDIR := mkdir -p $(BINDIR) + CMD_MKLIBDIR := mkdir -p $(LIBDIR) + CMD_MKOUTDIR := mkdir -p $(OUTDIR) + CMD_MKOBJDIR := mkdir -p $(OBJDIR) +else + CMD_MKBINDIR := $(CMD) /c if not exist $(subst /,\\,$(BINDIR)) mkdir $(subst /,\\,$(BINDIR)) + CMD_MKLIBDIR := $(CMD) /c if not exist $(subst /,\\,$(LIBDIR)) mkdir $(subst /,\\,$(LIBDIR)) + CMD_MKOUTDIR := $(CMD) /c if not exist $(subst /,\\,$(OUTDIR)) mkdir $(subst /,\\,$(OUTDIR)) + CMD_MKOBJDIR := $(CMD) /c if not exist $(subst /,\\,$(OBJDIR)) mkdir $(subst /,\\,$(OBJDIR)) +endif + +.PHONY: clean + +$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES) + @echo Linking Example_Receive + -@$(CMD_MKBINDIR) + -@$(CMD_MKLIBDIR) + -@$(CMD_MKOUTDIR) + @$(BLDCMD) + +clean: + @echo Cleaning Example_Receive +ifeq ($(MKDIR_TYPE),posix) + -@rm -f $(OUTDIR)/$(TARGET) + -@rm -rf $(OBJDIR) +else + -@if exist $(subst /,\,$(OUTDIR)/$(TARGET)) del /q $(subst /,\,$(OUTDIR)/$(TARGET)) + -@if exist $(subst /,\,$(OBJDIR)) del /q $(subst /,\,$(OBJDIR)) + -@if exist $(subst /,\,$(OBJDIR)) rmdir /s /q $(subst /,\,$(OBJDIR)) +endif + +$(OBJDIR)/main_receive.o: ../../Example/main_receive.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/Connection.o: ../../Example/Connection.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/Utils.o: ../../Example/Utils.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/EntityStatePduProcessor.o: ../../Example/EntityStatePduProcessor.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +-include $(OBJECTS:%.o=%.d) + diff --git a/Compile/gnu.mingw/Example_Send.make b/Compile/gnu.mingw/Example_Send.make new file mode 100644 index 00000000..334304cd --- /dev/null +++ b/Compile/gnu.mingw/Example_Send.make @@ -0,0 +1,107 @@ +# C++ Console Executable Makefile autogenerated by premake +# Don't edit this file! Instead edit `premake.lua` then rerun `make` + +ifndef CONFIG + CONFIG=Debug +endif + +ifeq ($(CONFIG),Debug) + BINDIR := ../../bin + LIBDIR := ../../lib + OBJDIR := obj_gnu_Example_Send_debug + OUTDIR := ../../bin + CPPFLAGS := -MMD -D "WIN32" -D "_DEBUG" -D "_CONSOLE" -I "../.." -I "../../cpp" -I "../../CppUtils" -I "$(HAWKNL_INC_DIR)" + CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g + CXXFLAGS := $(CFLAGS) + LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -L"$(HAWKNL_LIB_DIR)" -lHawkNL -lDIS_debug + LDDEPS := ../../bin/DIS_debug.dll + RESFLAGS := -D "WIN32" -D "_DEBUG" -D "_CONSOLE" -I "../.." -I "../../cpp" -I "../../CppUtils" -I "$(HAWKNL_INC_DIR)" + TARGET := Example_Send_debug.exe + BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) +endif + +ifeq ($(CONFIG),Release) + BINDIR := ../../bin + LIBDIR := ../../lib + OBJDIR := obj_gnu_Example_Send + OUTDIR := ../../bin + CPPFLAGS := -MMD -D "WIN32" -D "_CONSOLE" -I "../.." -I "../../cpp" -I "../../CppUtils" -I "$(HAWKNL_INC_DIR)" + CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -O2 + CXXFLAGS := $(CFLAGS) + LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -s -L"$(HAWKNL_LIB_DIR)" -lHawkNL -lDIS + LDDEPS := ../../bin/DIS.dll + RESFLAGS := -D "WIN32" -D "_CONSOLE" -I "../.." -I "../../cpp" -I "../../CppUtils" -I "$(HAWKNL_INC_DIR)" + TARGET := Example_Send.exe + BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) +endif + +OBJECTS := \ + $(OBJDIR)/main.o \ + $(OBJDIR)/Connection.o \ + $(OBJDIR)/Utils.o \ + $(OBJDIR)/Timer.o \ + +RESOURCES := \ + +MKDIR_TYPE := msdos +CMD := $(subst \,\\,$(ComSpec)$(COMSPEC)) +ifeq (,$(CMD)) + MKDIR_TYPE := posix +endif +ifeq (/bin/sh.exe,$(SHELL)) + MKDIR_TYPE := posix +endif +ifeq ($(MKDIR_TYPE),posix) + CMD_MKBINDIR := mkdir -p $(BINDIR) + CMD_MKLIBDIR := mkdir -p $(LIBDIR) + CMD_MKOUTDIR := mkdir -p $(OUTDIR) + CMD_MKOBJDIR := mkdir -p $(OBJDIR) +else + CMD_MKBINDIR := $(CMD) /c if not exist $(subst /,\\,$(BINDIR)) mkdir $(subst /,\\,$(BINDIR)) + CMD_MKLIBDIR := $(CMD) /c if not exist $(subst /,\\,$(LIBDIR)) mkdir $(subst /,\\,$(LIBDIR)) + CMD_MKOUTDIR := $(CMD) /c if not exist $(subst /,\\,$(OUTDIR)) mkdir $(subst /,\\,$(OUTDIR)) + CMD_MKOBJDIR := $(CMD) /c if not exist $(subst /,\\,$(OBJDIR)) mkdir $(subst /,\\,$(OBJDIR)) +endif + +.PHONY: clean + +$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES) + @echo Linking Example_Send + -@$(CMD_MKBINDIR) + -@$(CMD_MKLIBDIR) + -@$(CMD_MKOUTDIR) + @$(BLDCMD) + +clean: + @echo Cleaning Example_Send +ifeq ($(MKDIR_TYPE),posix) + -@rm -f $(OUTDIR)/$(TARGET) + -@rm -rf $(OBJDIR) +else + -@if exist $(subst /,\,$(OUTDIR)/$(TARGET)) del /q $(subst /,\,$(OUTDIR)/$(TARGET)) + -@if exist $(subst /,\,$(OBJDIR)) del /q $(subst /,\,$(OBJDIR)) + -@if exist $(subst /,\,$(OBJDIR)) rmdir /s /q $(subst /,\,$(OBJDIR)) +endif + +$(OBJDIR)/main.o: ../../Example/main.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/Connection.o: ../../Example/Connection.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/Utils.o: ../../Example/Utils.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/Timer.o: ../../Example/Timer.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +-include $(OBJECTS:%.o=%.d) + diff --git a/Compile/gnu.mingw/Makefile b/Compile/gnu.mingw/Makefile new file mode 100644 index 00000000..2fb6b044 --- /dev/null +++ b/Compile/gnu.mingw/Makefile @@ -0,0 +1,40 @@ +# Makefile autogenerated by premake +# Don't edit this file! Instead edit `premake.lua` then rerun `make` +# Options: +# CONFIG=[Debug|Release] + +ifndef CONFIG + CONFIG=Debug +endif + +export CONFIG + +.PHONY: all clean DIS UnitTest_DIS Example_Send Example_Receive + +all: DIS UnitTest_DIS Example_Send Example_Receive + +Makefile: ../premake/Projects/DIS.lua ../premake/Projects/../Packages/DIS.lua ../premake/Projects/../Packages/UnitTest_DIS.lua ../premake/Projects/../Packages/Example_Send.lua ../premake/Projects/../Packages/Example_Receive.lua + @echo ==== Regenerating Makefiles ==== + @premake --file $^ --target gnu + +DIS: + @echo ==== Building DIS ==== + @$(MAKE) --no-print-directory -C . -f DIS.make + +UnitTest_DIS: DIS + @echo ==== Building UnitTest_DIS ==== + @$(MAKE) --no-print-directory -C . -f UnitTest_DIS.make + +Example_Send: DIS + @echo ==== Building Example_Send ==== + @$(MAKE) --no-print-directory -C . -f Example_Send.make + +Example_Receive: DIS + @echo ==== Building Example_Receive ==== + @$(MAKE) --no-print-directory -C . -f Example_Receive.make + +clean: + @$(MAKE) --no-print-directory -C . -f DIS.make clean + @$(MAKE) --no-print-directory -C . -f UnitTest_DIS.make clean + @$(MAKE) --no-print-directory -C . -f Example_Send.make clean + @$(MAKE) --no-print-directory -C . -f Example_Receive.make clean diff --git a/Compile/gnu.mingw/UnitTest_DIS.make b/Compile/gnu.mingw/UnitTest_DIS.make new file mode 100644 index 00000000..8b7e6f40 --- /dev/null +++ b/Compile/gnu.mingw/UnitTest_DIS.make @@ -0,0 +1,113 @@ +# C++ Shared Library Makefile autogenerated by premake +# Don't edit this file! Instead edit `premake.lua` then rerun `make` + +ifndef CONFIG + CONFIG=Debug +endif + +ifeq ($(CONFIG),Debug) + BINDIR := ../../bin + LIBDIR := ../../lib + OBJDIR := obj_gnu_UnitTest_DIS_debug + OUTDIR := ../../bin + CPPFLAGS := -MMD -D "WIN32" -D "_DEBUG" -D "_CONSOLE" -I "../../cpp" -I "../../CppUtils" -I "$(CPPUNIT_INC)" + CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g + CXXFLAGS := $(CFLAGS) + LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -L"$(CPPUNIT_LIB)" -lDIS_debug -lcppunit + LDDEPS := ../../bin/DIS_debug.dll + RESFLAGS := -D "WIN32" -D "_DEBUG" -D "_CONSOLE" -I "../../cpp" -I "../../CppUtils" -I "$(CPPUNIT_INC)" + TARGET := UnitTest_DIS_debug.exe + BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) +endif + +ifeq ($(CONFIG),Release) + BINDIR := ../../bin + LIBDIR := ../../lib + OBJDIR := obj_gnu_UnitTest_DIS + OUTDIR := ../../bin + CPPFLAGS := -MMD -D "WIN32" -D "_CONSOLE" -I "../../cpp" -I "../../CppUtils" -I "$(CPPUNIT_INC)" + CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -O2 + CXXFLAGS := $(CFLAGS) + LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -s -L"$(CPPUNIT_LIB)" -lDIS -lcppunit + LDDEPS := ../../bin/DIS.dll + RESFLAGS := -D "WIN32" -D "_CONSOLE" -I "../../cpp" -I "../../CppUtils" -I "$(CPPUNIT_INC)" + TARGET := UnitTest_DIS.exe + BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) +endif + +OBJECTS := \ + $(OBJDIR)/DataStreamTests.o \ + $(OBJDIR)/IncomingMessageTests.o \ + $(OBJDIR)/mainTestRunner.o \ + $(OBJDIR)/PduMarshallTests.o \ + $(OBJDIR)/PduUtils.o \ + +RESOURCES := \ + +MKDIR_TYPE := msdos +CMD := $(subst \,\\,$(ComSpec)$(COMSPEC)) +ifeq (,$(CMD)) + MKDIR_TYPE := posix +endif +ifeq (/bin/sh.exe,$(SHELL)) + MKDIR_TYPE := posix +endif +ifeq ($(MKDIR_TYPE),posix) + CMD_MKBINDIR := mkdir -p $(BINDIR) + CMD_MKLIBDIR := mkdir -p $(LIBDIR) + CMD_MKOUTDIR := mkdir -p $(OUTDIR) + CMD_MKOBJDIR := mkdir -p $(OBJDIR) +else + CMD_MKBINDIR := $(CMD) /c if not exist $(subst /,\\,$(BINDIR)) mkdir $(subst /,\\,$(BINDIR)) + CMD_MKLIBDIR := $(CMD) /c if not exist $(subst /,\\,$(LIBDIR)) mkdir $(subst /,\\,$(LIBDIR)) + CMD_MKOUTDIR := $(CMD) /c if not exist $(subst /,\\,$(OUTDIR)) mkdir $(subst /,\\,$(OUTDIR)) + CMD_MKOBJDIR := $(CMD) /c if not exist $(subst /,\\,$(OBJDIR)) mkdir $(subst /,\\,$(OBJDIR)) +endif + +.PHONY: clean + +$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES) + @echo Linking UnitTest_DIS + -@$(CMD_MKBINDIR) + -@$(CMD_MKLIBDIR) + -@$(CMD_MKOUTDIR) + @$(BLDCMD) + +clean: + @echo Cleaning UnitTest_DIS +ifeq ($(MKDIR_TYPE),posix) + -@rm -f $(OUTDIR)/$(TARGET) + -@rm -rf $(OBJDIR) +else + -@if exist $(subst /,\,$(OUTDIR)/$(TARGET)) del /q $(subst /,\,$(OUTDIR)/$(TARGET)) + -@if exist $(subst /,\,$(OBJDIR)) del /q $(subst /,\,$(OBJDIR)) + -@if exist $(subst /,\,$(OBJDIR)) rmdir /s /q $(subst /,\,$(OBJDIR)) +endif + +$(OBJDIR)/DataStreamTests.o: ../../UnitTestDIS/DataStreamTests.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/IncomingMessageTests.o: ../../UnitTestDIS/IncomingMessageTests.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/mainTestRunner.o: ../../UnitTestDIS/mainTestRunner.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/PduMarshallTests.o: ../../UnitTestDIS/PduMarshallTests.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/PduUtils.o: ../../UnitTestDIS/PduUtils.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +-include $(OBJECTS:%.o=%.d) + diff --git a/Compile/premake/Packages/DIS.lua b/Compile/premake/Packages/DIS.lua new file mode 100644 index 00000000..61d7ce48 --- /dev/null +++ b/Compile/premake/Packages/DIS.lua @@ -0,0 +1,43 @@ +-- graphics DLL +-- project level +--package = newpackage() +package.name = "DIS" +-- print( target ) +package.path = "../../" .. options["target"] --.. "/" .. package.name + +-- project resulting build name +package.config.Release.target = package.name +package.config.Debug.target = package.name .. "_debug" + +package.config.Release.objdir = "obj_" .. options["target"] .. "_" .. package.name +package.config.Debug.objdir = "obj_" .. options["target"] .. "_" .. package.name .. "_debug" + +-- project build type +package.kind = "dll" +package.language = "c++" + +-- project preprocessors +if(windows) then + exportenabler = "EXPORT_LIBRARY" + debugpkg = package.config.Debug + debugpkg.defines = { "WIN32", "_DEBUG" , exportenabler } + + releasepkg = package.config.Release + releasepkg.defines = { "WIN32", exportenabler } +else + debugpkg = package.config.Debug + debugpkg.defines = { "_DEBUG" } +end + +-- project sources, relative to the project file's directory, a.k.a. the package path +package.files = { + matchrecursive("../../cpp/DIS/*.h", "../../cpp/DIS/*.cpp"), + matchrecursive("../../CppUtils/DIS/*.h", "../../CppUtils/DIS/*.cpp") +} + +-- project dependencies + -- project include dependencies. again, relative to the package path +dis_inc_dir = "../../cpp" +dis_ext_dir = "../../CppUtils" +package.includepaths = { dis_inc_dir , dis_ext_dir } + diff --git a/Compile/premake/Packages/Example_Receive.lua b/Compile/premake/Packages/Example_Receive.lua new file mode 100644 index 00000000..96b3e70b --- /dev/null +++ b/Compile/premake/Packages/Example_Receive.lua @@ -0,0 +1,69 @@ +-- example of graphics DLL +-- project level +package.name = "Example_Receive" +package.path = "../../" .. options["target"] --.. "/" .. package.name + +-- project resulting build name +package.config.Release.target = package.name +package.config.Debug.target = package.name .. "_debug" + +package.config.Release.objdir = "obj_" .. options["target"] .. "_" .. package.name +package.config.Debug.objdir = "obj_" .. options["target"] .. "_" .. package.name .. "_debug" + +-- project build type +package.kind = "exe" +package.language = "c++" + +-- project preprocessors +debugpkg = package.config.Debug +debugpkg.defines = { "_DEBUG" } +releasepkg = package.config.Release +releasepkg.defines = { } +if( windows ) then +debugpkg.defines = { "WIN32", "_DEBUG", "_CONSOLE" } +releasepkg.defines = { "WIN32", "_CONSOLE" } +end + +-- project sources, relative to the project file's directory, a.k.a. the package path +package.files = { + "../../Example/main_receive.cpp", + "../../Example/Connection.h", + "../../Example/Connection.cpp", + "../../Example/Utils.h", + "../../Example/Utils.cpp", + "../../Example/EntityStatePduProcessor.h", + "../../Example/EntityStatePduProcessor.cpp" +} + +-- project dependencies + -- project include dependencies. again, relative to the package path +dis_inc_dir = "../../cpp" +dis_ext_dir = "../../CppUtils" +example_inc_dir = "../.." +hawk_inc_dir = os.getenv("HAWKNL_INC_DIR") +if( hawk_inc_dir ) then +package.includepaths = { example_inc_dir, dis_inc_dir , dis_ext_dir, "$(HAWKNL_INC_DIR)" } +else +package.includepaths = { example_inc_dir, dis_inc_dir , dis_ext_dir } +end + + -- project library dependencies +dis_pkg_name = "DIS" +hawknl_lib_name = "NL" +if( windows ) then + hawknl_lib_name = "HawkNL" +end +if( linux ) then + pthreads_name = "pthread" + stdlib_name = "stdc++" + package.links = { hawknl_lib_name, dis_pkg_name, pthreads_name, stdlib_name } +else + package.links = { hawknl_lib_name, dis_pkg_name } +end + +hawk_lib_dir = os.getenv("HAWKNL_LIB_DIR") +if( hawk_lib_dir ) then +package.libpaths = { "$(HAWKNL_LIB_DIR)" } +else +package.libpaths = {} +end diff --git a/Compile/premake/Packages/Example_Send.lua b/Compile/premake/Packages/Example_Send.lua new file mode 100644 index 00000000..7b4ea511 --- /dev/null +++ b/Compile/premake/Packages/Example_Send.lua @@ -0,0 +1,69 @@ +-- example of graphics DLL +-- project level +package.name = "Example_Send" +package.path = "../../" .. options["target"] --.. "/" .. package.name + +-- project resulting build name +package.config.Release.target = package.name +package.config.Debug.target = package.name .. "_debug" + +package.config.Release.objdir = "obj_" .. options["target"] .. "_" .. package.name +package.config.Debug.objdir = "obj_" .. options["target"] .. "_" .. package.name .. "_debug" + +-- project build type +package.kind = "exe" +package.language = "c++" + +-- project preprocessors +debugpkg = package.config.Debug +debugpkg.defines = { "_DEBUG" } +releasepkg = package.config.Release +--releasepkg.defines = { } +if( windows ) then +debugpkg.defines = { "WIN32", "_DEBUG", "_CONSOLE" } +releasepkg.defines = { "WIN32", "_CONSOLE" } +end + +-- project sources, relative to the project file's directory, a.k.a. the package path +package.files = { + "../../Example/main.cpp", + "../../Example/Connection.h", + "../../Example/Connection.cpp", + "../../Example/Utils.h", + "../../Example/Utils.cpp", + "../../Example/Timer.h", + "../../Example/Timer.cpp" +} + +-- project dependencies + -- project include dependencies. again, relative to the package path +dis_inc_dir = "../../cpp" +dis_ext_dir = "../../CppUtils" +example_inc_dir = "../.." +hawk_inc_dir = os.getenv("HAWKNL_INC_DIR") +if( hawk_inc_dir ) then +package.includepaths = { example_inc_dir, dis_inc_dir , dis_ext_dir, "$(HAWKNL_INC_DIR)" } +else +package.includepaths = { example_inc_dir, dis_inc_dir , dis_ext_dir } +end + + -- project library dependencies +dis_pkg_name = "DIS" +hawknl_lib_name = "NL" +if( windows ) then + hawknl_lib_name = "HawkNL" +end +if( linux ) then + pthreads_name = "pthread" + stdlib_name = "stdc++" + package.links = { hawknl_lib_name, dis_pkg_name, pthreads_name, stdlib_name } +else + package.links = { hawknl_lib_name, dis_pkg_name } +end + +hawk_lib_dir = os.getenv("HAWKNL_LIB_DIR") +if( hawk_lib_dir ) then +package.libpaths = { "$(HAWKNL_LIB_DIR)" } +else +package.libpaths = {} +end diff --git a/Compile/premake/Packages/UnitTest_DIS.lua b/Compile/premake/Packages/UnitTest_DIS.lua new file mode 100644 index 00000000..08ef92ce --- /dev/null +++ b/Compile/premake/Packages/UnitTest_DIS.lua @@ -0,0 +1,51 @@ +-- example of graphics DLL +-- project level +package.name = "UnitTest_DIS" +package.path = "../../" .. options["target"] --.. "/" .. package.name + +-- project resulting build name +package.config.Release.target = package.name +package.config.Debug.target = package.name .. "_debug" + +package.config.Release.objdir = "obj_" .. options["target"] .. "_" .. package.name +package.config.Debug.objdir = "obj_" .. options["target"] .. "_" .. package.name .. "_debug" + +-- project build type +package.kind = "exe" +package.language = "c++" + +-- project preprocessors +debugpkg = package.config.Debug +debugpkg.defines = { "_DEBUG" } +releasepkg = package.config.Release +if( windows ) then +debugpkg.defines = { "WIN32", "_DEBUG", "_CONSOLE" } +releasepkg.defines = { "WIN32", "_CONSOLE" } +end + +-- project sources, relative to the project file's directory, a.k.a. the package path +package.files = { + matchrecursive("../../UnitTestDIS/*.h", "../../UnitTestDIS/*.cpp") +} + +-- project dependencies + -- project include dependencies. again, relative to the package path +dis_inc_dir = "../../cpp" +dis_ext_dir = "../../CppUtils" +cppunit_inc_dir = os.getenv("CPPUNIT_INC") +if( cppunit_inc_dir ) then +package.includepaths = { dis_inc_dir , dis_ext_dir, "$(CPPUNIT_INC)" } +else +package.includepaths = { dis_inc_dir , dis_ext_dir } +end + + -- project library dependencies +dis_pkg_name = "DIS" +cppunit_lib_name = "cppunit" +package.links = { dis_pkg_name, cppunit_lib_name } +cppunit_lib_dir = os.getenv("CPPUNIT_LIB") +if( cppunit_lib_dir ) then +package.libpaths = { "$(CPPUNIT_LIB)" } +else +package.libpaths = {} +end diff --git a/Compile/premake/Projects/DIS.lua b/Compile/premake/Projects/DIS.lua new file mode 100644 index 00000000..4023a760 --- /dev/null +++ b/Compile/premake/Projects/DIS.lua @@ -0,0 +1,36 @@ + +-- solution level +project.name = "DIS" +project.configs = { "Debug", "Release" } + +-- setup the output bin directory +install_bin_dir = os.getenv("DIS_BIN_INSTALL") +if( install_bin_dir ) then + project.bindir = install_bin_dir +else + project.bindir = "../../../bin" +end + +-- setup the output lib directory +install_lib_dir = os.getenv("DIS_LIB_INSTALL") +if( install_bin_dir ) then + project.bindir = install_lib_dir +else + project.libdir = "../../../lib" +end + +-- todo change to only, target, rather than options["target"], at the next premake release +project.path = "../../" .. options["target"] + +-- assume the directory bug on linux +-- will be avoided when I create the target directory here: +if( linux ) then + targetdir = "../../" .. options["target"] + os.execute("mkdir -p " .. targetdir) +end + +dopackage("../Packages/DIS") +dopackage("../Packages/UnitTest_DIS") +dopackage("../Packages/Example_Send") +dopackage("../Packages/Example_Receive") + diff --git a/Compile/premake/README.html b/Compile/premake/README.html new file mode 100644 index 00000000..9a871401 --- /dev/null +++ b/Compile/premake/README.html @@ -0,0 +1,10 @@ + + + How to use the Premake files. + + +

We are providing Premake files so that you can reproduce the build systems.

+

To do this, engage Premake on the command line, as many of the .bat and .sh files will show.

+

Unfortunately, for the produced CodeBlocks files, modifications needed to be made because of bugs that appear in Linux, which are the fault of CodeBlocks or Premake.

+ + diff --git a/Compile/premake/premake_cb-gcc.bat b/Compile/premake/premake_cb-gcc.bat new file mode 100644 index 00000000..e0fe2ef0 --- /dev/null +++ b/Compile/premake/premake_cb-gcc.bat @@ -0,0 +1,4 @@ +pushd Projects +premake --file DIS.lua --target cb-gcc +popd +pause \ No newline at end of file diff --git a/Compile/premake/premake_cb-gcc.sh b/Compile/premake/premake_cb-gcc.sh new file mode 100755 index 00000000..7e1e5429 --- /dev/null +++ b/Compile/premake/premake_cb-gcc.sh @@ -0,0 +1,8 @@ +pushd Projects +#export DIS_LIB_INSTALL="where you want the build system to send the binary library files to" +#export DIS_BIN_INSTALL="where you want the build system to send the other binary files to" +#export HAWKNL_INC_DIR="where the headers for HawkNL exist." +#export HAWKNL_LIB_DIR="where the library for HawkNL exists." +premake --file DIS.lua --target cb-gcc +popd + diff --git a/Compile/premake/premake_gnumake_linux.sh b/Compile/premake/premake_gnumake_linux.sh new file mode 100755 index 00000000..454040d9 --- /dev/null +++ b/Compile/premake/premake_gnumake_linux.sh @@ -0,0 +1,9 @@ +pushd Projects +#export DIS_LIB_INSTALL="where you want the build system to send the binary library files to" +#export DIS_BIN_INSTALL="where you want the build system to send the other binary files to" +#export HAWKNL_INC_DIR="where the headers for HawkNL exist." +#export HAWKNL_LIB_DIR="where the library for HawkNL exists." +premake --file DIS.lua --target gnu +premake --file DIS.lua --target vs2003 +premake --file DIS.lua --target vs2005 +popd diff --git a/Compile/premake/premake_gnumake_osx.sh b/Compile/premake/premake_gnumake_osx.sh new file mode 100644 index 00000000..1dd5f721 --- /dev/null +++ b/Compile/premake/premake_gnumake_osx.sh @@ -0,0 +1,9 @@ +pushd Projects +#export DIS_LIB_INSTALL="where you want the build system to send the binary library files to" +#export DIS_BIN_INSTALL="where you want the build system to send the other binary files to" +#export HAWKNL_INC_DIR="where the headers for HawkNL exist." +#export HAWKNL_LIB_DIR="where the library for HawkNL exists." +../premake.osx --file DIS.lua --target gnu +../premake.osx --file DIS.lua --target vs2003 +../premake.osx --file DIS.lua --target vs2005 +popd diff --git a/Compile/premake/premake_vs2003.bat b/Compile/premake/premake_vs2003.bat new file mode 100644 index 00000000..32ab5a3f --- /dev/null +++ b/Compile/premake/premake_vs2003.bat @@ -0,0 +1,8 @@ +pushd Projects +rem set DIS_LIB_INSTALL="where you want the build system to send the binary library files to" +rem set DIS_BIN_INSTALL="where you want the build system to send the other binary files to" +rem set HAWKNL_INC_DIR="where the headers for HawkNL exist." +rem set HAWKNL_LIB_DIR="where the library for HawkNL exists." +premake --file DIS.lua --target vs2003 +popd +pause \ No newline at end of file diff --git a/Compile/premake/premake_vs2005.bat b/Compile/premake/premake_vs2005.bat new file mode 100644 index 00000000..af87f513 --- /dev/null +++ b/Compile/premake/premake_vs2005.bat @@ -0,0 +1,8 @@ +pushd Projects +rem set DIS_LIB_INSTALL="where you want the build system to send the binary library files to" +rem set DIS_BIN_INSTALL="where you want the build system to send the other binary files to"premake --file DIS.lua --target vs2005 +rem set HAWKNL_INC_DIR="where the headers for HawkNL exist." +rem set HAWKNL_LIB_DIR="where the library for HawkNL exists." +premake --file DIS.lua --target vs2005 +popd +pause \ No newline at end of file diff --git a/Compile/vs2003/DIS.sln b/Compile/vs2003/DIS.sln new file mode 100644 index 00000000..465188e4 --- /dev/null +++ b/Compile/vs2003/DIS.sln @@ -0,0 +1,48 @@ +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DIS", "./DIS.vcproj", "{05F5CCC2-8942-2C48-9226-F4FC896B0EDF}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnitTest_DIS", "./UnitTest_DIS.vcproj", "{8676E83B-09E4-E64B-839B-6FB9D65A8885}" + ProjectSection(ProjectDependencies) = postProject + {05F5CCC2-8942-2C48-9226-F4FC896B0EDF} = {05F5CCC2-8942-2C48-9226-F4FC896B0EDF} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Example_Send", "./Example_Send.vcproj", "{06AFE49F-1482-0643-9705-561F888DF60D}" + ProjectSection(ProjectDependencies) = postProject + {05F5CCC2-8942-2C48-9226-F4FC896B0EDF} = {05F5CCC2-8942-2C48-9226-F4FC896B0EDF} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Example_Receive", "./Example_Receive.vcproj", "{F56EBA2B-E44C-0447-8596-7C6C59404C83}" + ProjectSection(ProjectDependencies) = postProject + {05F5CCC2-8942-2C48-9226-F4FC896B0EDF} = {05F5CCC2-8942-2C48-9226-F4FC896B0EDF} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + Debug = Debug + Release = Release + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {05F5CCC2-8942-2C48-9226-F4FC896B0EDF}.Debug.ActiveCfg = Debug|Win32 + {05F5CCC2-8942-2C48-9226-F4FC896B0EDF}.Debug.Build.0 = Debug|Win32 + {05F5CCC2-8942-2C48-9226-F4FC896B0EDF}.Release.ActiveCfg = Release|Win32 + {05F5CCC2-8942-2C48-9226-F4FC896B0EDF}.Release.Build.0 = Release|Win32 + {8676E83B-09E4-E64B-839B-6FB9D65A8885}.Debug.ActiveCfg = Debug|Win32 + {8676E83B-09E4-E64B-839B-6FB9D65A8885}.Debug.Build.0 = Debug|Win32 + {8676E83B-09E4-E64B-839B-6FB9D65A8885}.Release.ActiveCfg = Release|Win32 + {8676E83B-09E4-E64B-839B-6FB9D65A8885}.Release.Build.0 = Release|Win32 + {06AFE49F-1482-0643-9705-561F888DF60D}.Debug.ActiveCfg = Debug|Win32 + {06AFE49F-1482-0643-9705-561F888DF60D}.Debug.Build.0 = Debug|Win32 + {06AFE49F-1482-0643-9705-561F888DF60D}.Release.ActiveCfg = Release|Win32 + {06AFE49F-1482-0643-9705-561F888DF60D}.Release.Build.0 = Release|Win32 + {F56EBA2B-E44C-0447-8596-7C6C59404C83}.Debug.ActiveCfg = Debug|Win32 + {F56EBA2B-E44C-0447-8596-7C6C59404C83}.Debug.Build.0 = Debug|Win32 + {F56EBA2B-E44C-0447-8596-7C6C59404C83}.Release.ActiveCfg = Release|Win32 + {F56EBA2B-E44C-0447-8596-7C6C59404C83}.Release.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/Compile/vs2003/DIS.vcproj b/Compile/vs2003/DIS.vcproj new file mode 100644 index 00000000..202577e6 --- /dev/null +++ b/Compile/vs2003/DIS.vcproj @@ -0,0 +1,1016 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Compile/vs2003/Example_Receive.vcproj b/Compile/vs2003/Example_Receive.vcproj new file mode 100644 index 00000000..33aec32c --- /dev/null +++ b/Compile/vs2003/Example_Receive.vcproj @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Compile/vs2003/Example_Send.vcproj b/Compile/vs2003/Example_Send.vcproj new file mode 100644 index 00000000..72f4c4ed --- /dev/null +++ b/Compile/vs2003/Example_Send.vcproj @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Compile/vs2003/UnitTest_DIS.vcproj b/Compile/vs2003/UnitTest_DIS.vcproj new file mode 100644 index 00000000..2b271da5 --- /dev/null +++ b/Compile/vs2003/UnitTest_DIS.vcproj @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Compile/vs2005/DIS.sln b/Compile/vs2005/DIS.sln new file mode 100644 index 00000000..032e8c3d --- /dev/null +++ b/Compile/vs2005/DIS.sln @@ -0,0 +1,48 @@ +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DIS", "./DIS.vcproj", "{FC35B329-3A9F-7441-952C-883B9CFFEA1E}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnitTest_DIS", "./UnitTest_DIS.vcproj", "{326F5888-9721-AB45-A83A-87BD0D5D025E}" + ProjectSection(ProjectDependencies) = postProject + {FC35B329-3A9F-7441-952C-883B9CFFEA1E} = {FC35B329-3A9F-7441-952C-883B9CFFEA1E} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Example_Send", "./Example_Send.vcproj", "{EFEE2D9C-66CA-E749-844B-386EA4DD9BF6}" + ProjectSection(ProjectDependencies) = postProject + {FC35B329-3A9F-7441-952C-883B9CFFEA1E} = {FC35B329-3A9F-7441-952C-883B9CFFEA1E} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Example_Receive", "./Example_Receive.vcproj", "{45B671BB-2E8A-3B4B-8059-4E66E6B5ED11}" + ProjectSection(ProjectDependencies) = postProject + {FC35B329-3A9F-7441-952C-883B9CFFEA1E} = {FC35B329-3A9F-7441-952C-883B9CFFEA1E} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {FC35B329-3A9F-7441-952C-883B9CFFEA1E}.Debug|Win32.ActiveCfg = Debug|Win32 + {FC35B329-3A9F-7441-952C-883B9CFFEA1E}.Debug|Win32.Build.0 = Debug|Win32 + {FC35B329-3A9F-7441-952C-883B9CFFEA1E}.Release|Win32.ActiveCfg = Release|Win32 + {FC35B329-3A9F-7441-952C-883B9CFFEA1E}.Release|Win32.Build.0 = Release|Win32 + {326F5888-9721-AB45-A83A-87BD0D5D025E}.Debug|Win32.ActiveCfg = Debug|Win32 + {326F5888-9721-AB45-A83A-87BD0D5D025E}.Debug|Win32.Build.0 = Debug|Win32 + {326F5888-9721-AB45-A83A-87BD0D5D025E}.Release|Win32.ActiveCfg = Release|Win32 + {326F5888-9721-AB45-A83A-87BD0D5D025E}.Release|Win32.Build.0 = Release|Win32 + {EFEE2D9C-66CA-E749-844B-386EA4DD9BF6}.Debug|Win32.ActiveCfg = Debug|Win32 + {EFEE2D9C-66CA-E749-844B-386EA4DD9BF6}.Debug|Win32.Build.0 = Debug|Win32 + {EFEE2D9C-66CA-E749-844B-386EA4DD9BF6}.Release|Win32.ActiveCfg = Release|Win32 + {EFEE2D9C-66CA-E749-844B-386EA4DD9BF6}.Release|Win32.Build.0 = Release|Win32 + {45B671BB-2E8A-3B4B-8059-4E66E6B5ED11}.Debug|Win32.ActiveCfg = Debug|Win32 + {45B671BB-2E8A-3B4B-8059-4E66E6B5ED11}.Debug|Win32.Build.0 = Debug|Win32 + {45B671BB-2E8A-3B4B-8059-4E66E6B5ED11}.Release|Win32.ActiveCfg = Release|Win32 + {45B671BB-2E8A-3B4B-8059-4E66E6B5ED11}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Compile/vs2005/DIS.vcproj b/Compile/vs2005/DIS.vcproj new file mode 100644 index 00000000..9ed924ed --- /dev/null +++ b/Compile/vs2005/DIS.vcproj @@ -0,0 +1,1081 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Compile/vs2005/Example_Receive.vcproj b/Compile/vs2005/Example_Receive.vcproj new file mode 100644 index 00000000..6adac1ed --- /dev/null +++ b/Compile/vs2005/Example_Receive.vcproj @@ -0,0 +1,219 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Compile/vs2005/Example_Send.vcproj b/Compile/vs2005/Example_Send.vcproj new file mode 100644 index 00000000..acbc4815 --- /dev/null +++ b/Compile/vs2005/Example_Send.vcproj @@ -0,0 +1,219 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Compile/vs2005/UnitTest_DIS.vcproj b/Compile/vs2005/UnitTest_DIS.vcproj new file mode 100644 index 00000000..3d2fb0bd --- /dev/null +++ b/Compile/vs2005/UnitTest_DIS.vcproj @@ -0,0 +1,216 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CppUtils/DIS/Conversion.cpp b/CppUtils/DIS/Conversion.cpp new file mode 100644 index 00000000..34251f49 --- /dev/null +++ b/CppUtils/DIS/Conversion.cpp @@ -0,0 +1,30 @@ +#include +#include + +using namespace DIS; + +//const unsigned char Convert::ARTICULATION_PARAMETER_TYPE_METRIC_NUMBER_OF_BITS = 5; + + +int Convert::MakeArticulationParameterType(int typeclass, int typemetric) +{ + // enforce a ceiling on typemetric + typemetric = typemetric & ARTICULATION_PARAMETER_TYPE_METRIC_MASK; + + // shift the typeclass bits to the left by the precision amount of typemetric + // and then add the typemetric bits + return( (typeclass << ARTICULATION_PARAMETER_TYPE_METRIC_NUMBER_OF_BITS) + + typemetric ); +} + +int Convert::GetArticulationTypeMetric(int parametertype) +{ + // wipe off the typeclass bits and return the typemetric bits + return( parametertype & ARTICULATION_PARAMETER_TYPE_METRIC_MASK); +} + +int Convert::GetArticulationTypeClass(int parametertype) +{ + // wipe off the typemetric bits and return the typeclass bits + return( parametertype >> ARTICULATION_PARAMETER_TYPE_METRIC_NUMBER_OF_BITS ); +} diff --git a/CppUtils/DIS/Conversion.h b/CppUtils/DIS/Conversion.h new file mode 100644 index 00000000..231ca220 --- /dev/null +++ b/CppUtils/DIS/Conversion.h @@ -0,0 +1,43 @@ +/// Copyright goes here +/// License goes here +/// @author John K. Grant +/// @author Michael Guerrero + +#ifndef _dcl_dis_conversion_h_ +#define _dcl_dis_conversion_h_ + +#include // for library symbols + +namespace DIS +{ + /// a name-scope for conversion functions. + struct EXPORT_MACRO Convert + { + /// the number of bits used to store the type metric value + /// within the Articulation Parameter's parameter type value. + /// this mask is based on the IEEE Std 1278.1-1995 + static const unsigned char ARTICULATION_PARAMETER_TYPE_METRIC_NUMBER_OF_BITS = 5; + + /// make the value needed for the ArticulationParameter's Parameter Type. + /// @param typeclass the enumeration for the articulated part. + /// This must have less precision than ARTICULATION_PARAMETER_TYPE_METRIC_NUMBER_OF_BITS. + /// @param typemetric the enumeration for the motion description. + /// this must have less precision than 32 - ARTICULATION_PARAMETER_TYPE_METRIC_NUMBER_OF_BITS. + /// @return the value to be used as the Parameter Type, with 32 bits precision. + static int MakeArticulationParameterType(int typeclass, int typemetric); + + /// extract the data for the type metric value stored within the parameter type value. + /// this an inverse to the function, MakeArticulationParameterType. + /// @param parametertype the value storing the type metric and type class values. + /// @return the type metric value, with ARTICULATION_PARAMETER_TYPE_METRIC_NUMBER_OF_BITS bits precision. + static int GetArticulationTypeMetric(int parametertype); + + /// extract the data for the type class value stored within the parameter type value. + /// this an inverse to the function, MakeArticulationParameterType. + /// @param parametertype the value storing the type metric and type class values. + /// @return the type class value, with ARTICULATION_PARAMETER_TYPE_METRIC_NUMBER_OF_BITS bits precision + static int GetArticulationTypeClass(int parametertype); + }; +} + +#endif // _dcl_dis_conversion_h_ diff --git a/CppUtils/DIS/DataStream.cpp b/CppUtils/DIS/DataStream.cpp new file mode 100644 index 00000000..e634fc25 --- /dev/null +++ b/CppUtils/DIS/DataStream.cpp @@ -0,0 +1,284 @@ +#include + +#include // for debug output + +using namespace DIS; + +DataStream::DataStream(Endian stream) + : _buffer() + , _read_pos(0) + , _write_pos(0) + , _stream_endian(stream) + , _machine_endian(LITTLE) +{ + long one(1); + char e = (reinterpret_cast( &one ))[0]; + + if( e == (char)1 ) + { + _machine_endian = LITTLE; + } + else + { + _machine_endian = BIG; + } +} + +DataStream::DataStream(const char* buffer, size_t length, Endian stream) + : _buffer() + , _read_pos(0) + , _write_pos(0) + , _stream_endian(stream) + , _machine_endian(LITTLE) +{ + long one(1); + char e = (reinterpret_cast( &one ))[0]; + + if( e == (char)1 ) + { + _machine_endian = LITTLE; + } + else + { + _machine_endian = BIG; + } + + SetStream( buffer, length, stream ); +} +DataStream::~DataStream() +{ +} + +//const DataStream::BufferType& DataStream::GetBuffer() const +//{ +// return _buffer; +//} + +Endian DataStream::GetStreamEndian() const +{ + return _stream_endian; +} + +Endian DataStream::GetMachineEndian() const +{ + return _machine_endian; +} + +size_t DataStream::GetWritePos() const +{ + return _write_pos; +} + +size_t DataStream::GetReadPos() const +{ + return _read_pos; +} + +size_t DataStream::size() const +{ + return _buffer.size(); +} + +void DataStream::clear() +{ + _write_pos = 0; + _read_pos = 0; + _buffer.clear(); +} + +bool DataStream::empty() const +{ + return _buffer.empty(); +} + +const char& DataStream::operator [](unsigned int offset) const +{ + return _buffer[_read_pos+offset]; +} + +// currently copies the source data. +void DataStream::SetStream(const char* buffer, size_t length, Endian stream) +{ + // reassign the endian + _stream_endian = stream; + + _write_pos = length; + _read_pos = 0; + + // resize the array + if( _buffer.size() < length ) + { + _buffer.resize( length ); + } + + // take ownership of the data + // copy the data, expensive! + for(unsigned int i=0; i>(char& c) +{ + ReadAlgorithm( c ); + return *this; +} + +DataStream& DataStream::operator >>(unsigned char& c) +{ + ReadAlgorithm( c ); + return *this; +} + +DataStream& DataStream::operator >>(float& f) +{ + ReadAlgorithm( f ); + return *this; +} + +DataStream& DataStream::operator >>(double& d) +{ + ReadAlgorithm( d ); + return *this; +} + +DataStream& DataStream::operator >>(int& d) +{ + ReadAlgorithm( d ); + return *this; +} + +DataStream& DataStream::operator >>(unsigned int& d) +{ + ReadAlgorithm( d ); + return *this; +} + +DataStream& DataStream::operator >>(long& d) +{ + ReadAlgorithm( d ); + return *this; +} + +DataStream& DataStream::operator >>(unsigned long& d) +{ + ReadAlgorithm( d ); + return *this; +} + +DataStream& DataStream::operator >>(unsigned short& d) +{ + ReadAlgorithm( d ); + return *this; +} + +DataStream& DataStream::operator >>(short& d) +{ + ReadAlgorithm( d ); + return *this; +} diff --git a/CppUtils/DIS/DataStream.h b/CppUtils/DIS/DataStream.h new file mode 100644 index 00000000..a2cdc422 --- /dev/null +++ b/CppUtils/DIS/DataStream.h @@ -0,0 +1,152 @@ +/// Copyright goes here +/// License goes here +/// @author John K. Grant + +#ifndef _dcl_dis_data_stream_h_ +#define _dcl_dis_data_stream_h_ + +// the class member, DataStream::BufferType is causing warnign 4251. +// disable it until a proper fix is found, as instructed from the enlightening article: +// http://www.unknownroad.com/rtfm/VisualStudio/warningC4251.html +#if _MSC_VER +#pragma warning( push ) +#pragma warning( disable : 4251 ) +#endif + +#include // for typedef, member +#include // for typedef, member +#include // for enum +#include // for library symbols +#include // for size_t and NULL definition + +namespace DIS +{ + /// a class to support managing a network buffer. + /// the clients are responsible for managing the char buffer memory. + /// this class explicitly defines operators for expected types. + class EXPORT_MACRO DataStream + { + public: + /// Setup the internal buffer's Endian type. + /// @param stream the Endian type to use for the internal buffer, + /// which will be used for network socket writes. + DataStream(Endian stream); + + /// Setup the internal buffer. + /// @param buffer the data to copy and manage. + /// @param length the number of bytes in the buffer. + /// @param stream the Endian type to use for the internal buffer, + DataStream(const char* buffer, size_t length, Endian stream); + ~DataStream(); + + /// a method for reading the stored buffer data. + /// @param offset the index distance with respect to the current read point. + const char& operator [](unsigned int offset) const; + + /// take ownership of the data buffer. + void SetStream(const char* buffer, size_t length, Endian order); + + // write operations + DataStream& operator <<(bool c); + DataStream& operator <<(char c); + DataStream& operator <<(unsigned char c); + DataStream& operator <<(float c); + DataStream& operator <<(double c); + DataStream& operator <<(int c); + DataStream& operator <<(unsigned int c); + DataStream& operator <<(long c); + DataStream& operator <<(unsigned long c); + DataStream& operator <<(unsigned short c); + DataStream& operator <<(short c); + + // read operations + DataStream& operator >>(bool& c); + DataStream& operator >>(char& c); + DataStream& operator >>(unsigned char& c); + DataStream& operator >>(float& c); + DataStream& operator >>(double& c); + DataStream& operator >>(int& c); + DataStream& operator >>(unsigned int& c); + DataStream& operator >>(long& c); + DataStream& operator >>(unsigned long& c); + DataStream& operator >>(unsigned short& c); + DataStream& operator >>(short& c); + + Endian GetStreamEndian() const; + Endian GetMachineEndian() const; + + size_t GetWritePos() const; + size_t GetReadPos() const; + + size_t size() const; + + void clear(); + + bool empty() const; + + private: + template + void IncrementPointer(IterT& iter) + { + iter += sizeof(T); + } + + template + void DecrementPointer(IterT& iter) + { + iter -= sizeof(T); + } + + /// this algorithm should only be used for primitive types, + /// because the class size takes into account the virtual function table. + template + void WriteAlgorithm(T t) + { + char* ch = reinterpret_cast( &t ); + DoFlip( ch , sizeof(T) ); + DoWrite( ch , sizeof(T) ); + IncrementPointer( _write_pos ); + } + + /// this algorithm should only be used for primitive types, + /// because the class size takes into account the virtual function table. + template + void ReadAlgorithm(T& t) + { + char ch[sizeof(T)]; + DoRead( ch , sizeof(T) ); + DoFlip( ch , sizeof(T) ); + t = *reinterpret_cast( ch ); + IncrementPointer( _read_pos ); + } + + /// will flip the buffer if the buffer endian is different than the machine's. + void DoFlip(char* buf, size_t bufsize); + + void DoWrite(const char* buf, size_t bufsize); + + void DoRead(char* ch, size_t bufsize); + + + typedef std::vector BufferType; + //const BufferType& GetBuffer() const; + + BufferType _buffer; + + /// the location of the read/write. + size_t _read_pos; + size_t _write_pos; + + /// the requirement for the managed buffer + Endian _stream_endian; + + /// the native endian type + Endian _machine_endian; + }; +} + +#if _MSC_VER +#pragma warning( pop ) +#endif + +#endif // _dcl_dis_data_stream_h_ diff --git a/CppUtils/DIS/Endian.h b/CppUtils/DIS/Endian.h new file mode 100644 index 00000000..dbb89b8e --- /dev/null +++ b/CppUtils/DIS/Endian.h @@ -0,0 +1,16 @@ +#ifndef _dcl_dis_endian_h_ +#define _dcl_dis_endian_h_ + +#include // for library symbols + +namespace DIS +{ + /// the order of bytes that are on the left + EXPORT_MACRO enum Endian + { + LITTLE=1, + BIG=0, + }; +} + +#endif // _dcl_dis_endian_h_ diff --git a/CppUtils/DIS/IBufferProcessor.h b/CppUtils/DIS/IBufferProcessor.h new file mode 100644 index 00000000..0c7ec70d --- /dev/null +++ b/CppUtils/DIS/IBufferProcessor.h @@ -0,0 +1,20 @@ +/// Copyright goes here +/// License goes here +/// @author John K. Grant + +#ifndef _dcl_dis_i_buffer_processor_h_ +#define _dcl_dis_i_buffer_processor_h_ + +#include + +namespace DIS +{ + /// the interface class for handling read operations. + class IBufferProcessor + { + public: + virtual void Process(const char* buf, unsigned int size, Endian e)=0; + }; +} + +#endif // _dcl_dis_i_buffer_processor_h_ diff --git a/CppUtils/DIS/IPacketProcessor.h b/CppUtils/DIS/IPacketProcessor.h new file mode 100644 index 00000000..1b614214 --- /dev/null +++ b/CppUtils/DIS/IPacketProcessor.h @@ -0,0 +1,22 @@ +/// Copyright goes here +/// License goes here +/// @author John K. Grant + +#ifndef _dcl_dis_i_packet_processor_h_ +#define _dcl_dis_i_packet_processor_h_ + +namespace DIS +{ + class Pdu; + + /// it is the responsibility of the processor to use the packet + /// because it will be deleted after this call. + class IPacketProcessor + { + public: + virtual void Process(const Pdu& p)=0; + }; + +} + +#endif // _dcl_dis_i_packet_processor_h_ diff --git a/CppUtils/DIS/IncomingMessage.cpp b/CppUtils/DIS/IncomingMessage.cpp new file mode 100644 index 00000000..524357c7 --- /dev/null +++ b/CppUtils/DIS/IncomingMessage.cpp @@ -0,0 +1,132 @@ +#include +#include +#include +#include +#include +#include +#include + +#include + +#include + +using namespace DIS; + +// the DIS specification says the type is known for all PDUs at the 3rd byte of the PDU buffer. +const unsigned int PDU_TYPE_POSITION = 2; + +IncomingMessage::IncomingMessage() +: _processors() +{ +} + +IncomingMessage::~IncomingMessage() +{ +} + +void IncomingMessage::Process(const char* buf, unsigned int size, Endian e) +{ + if( size < 1 ) + { + return; + } + + DataStream ds( buf , size , e ); + + while( ds.GetReadPos() < ds.size() ) + { + unsigned int pdu_type = ds[PDU_TYPE_POSITION]; + SwitchOnType( pdu_type, ds ); + } +} + +void IncomingMessage::SwitchOnType(unsigned int pdu_type, DataStream& ds) +{ + DIS::PDUType enumType = (DIS::PDUType)pdu_type; + Pdu *pdu = PduBank::GetStaticPDU(enumType); + + if (pdu) + { + pdu->unmarshal( ds ); + } + else + { + ds.clear(); + } + + // assumes the location in the buffer is the packet id. + typedef std::pair RangePair; + RangePair rangepair = _processors.equal_range( pdu_type ); + PacketProcessorContainer::iterator processor_iter = rangepair.first; + PacketProcessorContainer::iterator processor_end = rangepair.second; + while( processor_iter != processor_end ) + { + (processor_iter->second)->Process( *pdu ); + ++processor_iter; + } +} + + +bool IncomingMessage::AddProcessor(unsigned char id, IPacketProcessor* pp) +{ + PacketProcessorContainer::value_type candidate(id,pp); + PacketProcessorContainer::iterator containerIter; + + // If this id doesn't already have this processor (it shouldn't) + if (!FindProccessorContainer(id, pp, containerIter)) + { + _processors.insert( candidate ); + return true; + } + + return false; +} + +///\todo add proper support for erasing from a multimap. +///\warning erases any processor registered for the id +bool IncomingMessage::RemoveProcessor(unsigned char id, const IPacketProcessor* pp) +{ + PacketProcessorContainer::iterator containerIter; + + if (FindProccessorContainer(id, pp, containerIter)) + { + // Erases only the single pair found in the interator + _processors.erase( containerIter ); + return true; + } + + // The pair doesn't exist + return false; +} + +IncomingMessage::PacketProcessorContainer& IncomingMessage::GetProcessors() +{ + return _processors; +} + +const IncomingMessage::PacketProcessorContainer& IncomingMessage::GetProcessors() const +{ + return _processors; +} + + +bool IncomingMessage::FindProccessorContainer(unsigned char id, const IPacketProcessor* pp, PacketProcessorContainer::iterator &containerIter) +{ + PacketProcessIteratorPair iterPair = _processors.equal_range(id); + + // Check to make sure that the processor we're trying to add is not already there + while (iterPair.first != iterPair.second) + { + // If this processor with a matching id has a the exact same processor, bail + if ((iterPair.first)->second == pp) + { + containerIter = iterPair.first; + return true; + } + + iterPair.first++; + } + + // No matches were found in the loop + return false; +} diff --git a/CppUtils/DIS/IncomingMessage.h b/CppUtils/DIS/IncomingMessage.h new file mode 100644 index 00000000..51e4656b --- /dev/null +++ b/CppUtils/DIS/IncomingMessage.h @@ -0,0 +1,56 @@ +/// Copyright goes here +/// License goes here +/// @author John K. Grant + +#ifndef _dcl_dis_incoming_message_ +#define _dcl_dis_incoming_message_ + +#include // for base class +#include // for member +#include // for internal type +#include // for library symbols + +namespace DIS +{ + class Pdu; + class IPacketProcessor; + class DataStream; + + /// A framework for routing the packet to the correct processor. + class EXPORT_MACRO IncomingMessage : public IBufferProcessor + { + public: + /// the container type for supporting processors. + typedef std::multimap PacketProcessorContainer; + + IncomingMessage(); + ~IncomingMessage(); + + void Process(const char* buf, unsigned int size, Endian e); + + /// registers the ipp instance to process packets with the id + /// @return 'true' if the pair of parameters were not found in the container and were addded. 'false' if the pair was found. + bool AddProcessor(unsigned char id, IPacketProcessor* pp); + + /// unregisters the ipp instance for packets with the id. it does not clean up the delete the ipp. + /// @return 'true' if the pair of parameters were found in the container and removed. 'false' if the pair was not found. + bool RemoveProcessor(unsigned char id, const IPacketProcessor* pp); + + PacketProcessorContainer& GetProcessors(); + const PacketProcessorContainer& GetProcessors() const; + + private: + typedef std::pair PacketProcessIteratorPair; + + PacketProcessorContainer _processors; + + void SwitchOnType(unsigned int pdu_type, DataStream& ds); + + /// Searches the proccesor container multimap for a matching container and returns the iterator + bool FindProccessorContainer(unsigned char id, const IPacketProcessor* pp, PacketProcessorContainer::iterator &containerIter); + }; + +} + +#endif // _dcl_dis_incoming_message_ + diff --git a/CppUtils/DIS/Masks.h b/CppUtils/DIS/Masks.h new file mode 100644 index 00000000..1fe976e1 --- /dev/null +++ b/CppUtils/DIS/Masks.h @@ -0,0 +1,18 @@ +/// Copyright goes here +/// License goes here +/// @author John K. Grant + +#ifndef _dcl_dis_masks_h_ +#define _dcl_dis_masks_h_ + +#include // for library symbols + +namespace DIS +{ + /// the mask that will leave only the typemetric + /// from an integer representing the Articulation Parameter's parameter type. + /// this mask is based on the IEEE Std 1278.1-1995 + const unsigned int ARTICULATION_PARAMETER_TYPE_METRIC_MASK = 0x001F; +} + +#endif // _dcl_dis_masks_h_ diff --git a/CppUtils/DIS/PDUBank.cpp b/CppUtils/DIS/PDUBank.cpp new file mode 100644 index 00000000..09e30093 --- /dev/null +++ b/CppUtils/DIS/PDUBank.cpp @@ -0,0 +1,78 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +using namespace DIS; + +Pdu* PduBank::GetStaticPDU( DIS::PDUType pdu_type ) +{ + static EntityStatePdu entityStatePdu; + static FirePdu firePdu; + static DetonationPdu detonationPdu; + static CollisionPdu collisionPdu; + static ServiceRequestPdu ServiceRequestPdu; + static ResupplyOfferPdu resupplyOfferPdu; + static ResupplyReceivedPdu resupplyReceivedPdu; + static ResupplyCancelPdu resupplyCancelPdu; + static RepairCompletePdu repairCompletePdu; + static RepairResponsePdu repairResponsePdu; + static CreateEntityPdu createEntityPdu; + static RemoveEntityPdu removeEntityPdu; + static StartResumePdu startResumePdu; + static AcknowledgePdu acknowledgePdu; + static ActionRequestPdu actionRequestPdu; + static ActionResponsePdu actionResponsePdu; + static DataQueryPdu dataQueryPdu; + static SetDataPdu setDataPdu; + static EventReportPdu eventReportPdu; + static CommentPdu commentPdu; + static StopFreezePdu stopFreezePdu; + + switch(pdu_type) + { + case PDU_ENTITY_STATE: return &entityStatePdu; break; + case PDU_FIRE: return &firePdu; break; + case PDU_DETONATION: return &detonationPdu; break; + case PDU_COLLISION: return &collisionPdu; break; + case PDU_SERVICE_REQUEST: return &ServiceRequestPdu; break; + case PDU_RESUPPLY_OFFER: return &resupplyOfferPdu; break; + case PDU_RESUPPLY_RECEIVED: return &resupplyReceivedPdu; break; + case PDU_RESUPPLY_CANCEL: return &resupplyCancelPdu; break; + case PDU_REPAIR_COMPLETE: return &repairCompletePdu; break; + case PDU_REPAIR_RESPONSE: return &repairResponsePdu; break; + case PDU_CREATE_ENTITY: return &createEntityPdu; break; + case PDU_REMOVE_ENTITY: return &removeEntityPdu; break; + case PDU_START_RESUME: return &startResumePdu; break; + case PDU_ACKNOWLEDGE: return &acknowledgePdu; break; + case PDU_ACTION_REQUEST: return &actionRequestPdu; break; + case PDU_ACTION_RESPONSE: return &actionResponsePdu; break; + case PDU_DATA_QUERY: return &dataQueryPdu; break; + case PDU_SET_DATA: return &setDataPdu; break; + case PDU_EVENT_REPORT: return &eventReportPdu; break; + case PDU_COMMENT: return &commentPdu; break; + case PDU_STOP_FREEZE: return &stopFreezePdu; break; + } + + return NULL; +} + diff --git a/CppUtils/DIS/PDUBank.h b/CppUtils/DIS/PDUBank.h new file mode 100644 index 00000000..95831f68 --- /dev/null +++ b/CppUtils/DIS/PDUBank.h @@ -0,0 +1,23 @@ +#ifndef _PDU_BANK_H_ +#define _PDU_BANK_H_ + +#include +#include + +namespace DIS +{ + /// houses instances for the set of known PDU classes to be returned + /// when provided with the PDU type's identifier value. + class PduBank + { + public: + /// finds the PDU instance corresponding to the identifier + /// @param pdu_type the 8-bit PDU type identifier + /// @return NULL when the pdu_type is unknown. + ///\todo make this parameter just 'unsigned char' since that will be easier to generate. + static Pdu* GetStaticPDU( DIS::PDUType pdu_type ); + }; +} + +#endif // _PDU_BANK_H_ + diff --git a/CppUtils/DIS/PDUType.h b/CppUtils/DIS/PDUType.h new file mode 100644 index 00000000..c6531495 --- /dev/null +++ b/CppUtils/DIS/PDUType.h @@ -0,0 +1,34 @@ +#ifndef _dtdis_pdu_type_h_ +#define _dtdis_pdu_type_h_ + +namespace DIS +{ + enum PDUType + { + PDU_OTHER = 0, + PDU_ENTITY_STATE = 1, + PDU_FIRE = 2, + PDU_DETONATION = 3, + PDU_COLLISION = 4, + PDU_SERVICE_REQUEST = 5, + PDU_RESUPPLY_OFFER = 6, + PDU_RESUPPLY_RECEIVED = 7, + PDU_RESUPPLY_CANCEL = 8, + PDU_REPAIR_COMPLETE = 9, + PDU_REPAIR_RESPONSE = 10, + PDU_CREATE_ENTITY = 11, + PDU_REMOVE_ENTITY = 12, + PDU_START_RESUME = 13, + PDU_STOP_FREEZE = 14, + PDU_ACKNOWLEDGE = 15, + PDU_ACTION_REQUEST = 16, + PDU_ACTION_RESPONSE = 17, + PDU_DATA_QUERY = 18, + PDU_SET_DATA = 19, + // PDU_WTF = 20 + PDU_EVENT_REPORT = 21, + PDU_COMMENT = 22, + }; +} + +#endif // _dtdis_pdu_type_h_ diff --git a/CppUtils/DIS/PacketFactory.cpp b/CppUtils/DIS/PacketFactory.cpp new file mode 100644 index 00000000..5d5f8154 --- /dev/null +++ b/CppUtils/DIS/PacketFactory.cpp @@ -0,0 +1,27 @@ +#include +#include +#include + +using namespace DIS; + +Pdu* PacketFactory::CreatePacket(unsigned char id) +{ + FunctionMap::iterator iter =_fMap.find( id ); + if( iter != _fMap.end() ) + { + return (iter->second)(); + } + + return NULL; +} + +void PacketFactory::DestroyPacket(Pdu* pdu) +{ + delete pdu; +} + +bool PacketFactory::IsRegistered(unsigned char id) const +{ + FunctionMap::const_iterator iter = _fMap.find(id); + return( iter != _fMap.end() ); +} diff --git a/CppUtils/DIS/PacketFactory.h b/CppUtils/DIS/PacketFactory.h new file mode 100644 index 00000000..5399a3ef --- /dev/null +++ b/CppUtils/DIS/PacketFactory.h @@ -0,0 +1,71 @@ +/// Copyright goes here +/// License goes here +/// @author John K. Grant +#ifndef _dcl_dis_packet_factory_h_ +#define _dcl_dis_packet_factory_h_ + +#include // for member +#include // for library symbols + +namespace DIS +{ + class Pdu; + + /// a utility to make functions + template + BaseT* CreateImplementation() + { + return new DerivedT(); + } + + /// responsible for mapping an ID value to a Pdu type. + class EXPORT_MACRO PacketFactory + { + public: + + /// Create a Pdu. + /// @param id the value representing the "type" of the Pdu. The value will be stored in the 3rd position of the buffer, as defined by the DIS specification. + /// @return a dynamically allocated instance of a concrete Pdu. The value will be 'NULL' if no support for creating the concrete Pdu was registered. + Pdu* CreatePacket(unsigned char id); + + /// Clean up the memory for the Pdu. + /// @param pdu The packet to be deleted. + void DestroyPacket(Pdu* pdu); + + /// Add support for creating the Pdu. + /// @param id The value identifying the type of the Pdu. + /// @return 'false' if a packet id was already registered for the Pdu type. 'true' if support was added. + template + bool RegisterPacket(unsigned char id) + { + FunctionMap::value_type candidate(id,&CreateImplementation); + std::pair result = _fMap.insert( candidate ); + return result.second; + } + + /// Remove support for creating the Pdu. + /// @param id The value identifying the type of the Pdu. + /// @return 'false' if no support previously existed. 'true' if support was removed. + bool UnRegisterPacket(char id) + { + return( _fMap.erase( id )>0 ); + } + + /// Check to know if the Pdu type is supported. + /// @param id The value representing the Pdu type. + /// @return 'true' if support for creating a Pdu was found, 'false' if not found. + bool IsRegistered(unsigned char id) const; + + private: + /// the function signature required for creating Pdu instances. + typedef Pdu* (*CREATE_FUNC)(); + + /// the type to contain mappings to functions used to create Pdu instances. + typedef std::map FunctionMap; + + /// instance of the storage mechanism for creating Pdu instances. + FunctionMap _fMap; + }; +} + +#endif // _dcl_dis_packet_factory_h_ diff --git a/CppUtils/DIS/PduFactory.cpp b/CppUtils/DIS/PduFactory.cpp new file mode 100644 index 00000000..565322a6 --- /dev/null +++ b/CppUtils/DIS/PduFactory.cpp @@ -0,0 +1,83 @@ +#include "PduFactory.h" +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +using namespace DIS; + +PduFactory::PduFactory(void) +{ +} + +PduFactory::~PduFactory(void) +{ +} + +/** + * Converts data read from the wire--a byte array--to a DIS PDU language + * object. A new PDU is created for every data buffer. The consumer of this + * object is responsible for freeing it. The PDUs can be up to MTU in size; + * in some fairly rare instances, mostly involving multiple PDUs in a single + * datagram packet, PDUs may be larger than this and this will fail horribly. + * If the PDU type is unrecognized, or cannot be unmarshalled, the method + * returns NULL. The caller should check for this. + */ + +Pdu * PduFactory::createPdu(const char* data) +{ + int dataLength = 1500; // MTU, might fail for some very large PDUs + int pduType = data[2]; + + //std::cout << "Decoding PDU of type " << (int)pduType << std::endl; + + DataStream dataStream(data, dataLength, DIS::BIG); + + Pdu* pdu = NULL; + + switch(pduType) + { + case PDU_ENTITY_STATE: + pdu = new EntityStatePdu(); + pdu->unmarshal(dataStream); + break; + + case PDU_FIRE: + pdu = new FirePdu(); + pdu->unmarshal(dataStream); + break; + + case PDU_DETONATION: + pdu = new DetonationPdu(); + pdu->unmarshal(dataStream); + break; + + case PDU_SET_DATA: + pdu = new SetDataPdu(); + pdu->unmarshal(dataStream); + break; + + case PDU_CREATE_ENTITY: + pdu = new CreateEntityPdu(); + pdu->unmarshal(dataStream); + break; + + case PDU_REMOVE_ENTITY: + pdu = new RemoveEntityPdu(); + pdu->unmarshal(dataStream); + break; + + default: + std::cout << "Received Unrecognized PDU of type " << (int)pduType << " change PduFactory.cpp to add new PDUs" << std::endl; + break; + } + + return pdu; + +} \ No newline at end of file diff --git a/CppUtils/DIS/PduFactory.h b/CppUtils/DIS/PduFactory.h new file mode 100644 index 00000000..230f3a21 --- /dev/null +++ b/CppUtils/DIS/PduFactory.h @@ -0,0 +1,29 @@ +#pragma once + +#include // for library symbols +#include + +namespace DIS +{ + /** + * PduFactory turns byte buffers in IEEE-1278.1 (DIS) format into + * C++ language objects. For example, if you read a datagram packet + * and extract a payload, and that payload is in DIS format, you can + * hand it off to this class and get back an EntityStatePdu, FirePdu, + * or whatever.

+ * + * @author DMcG + */ + +class EXPORT_MACRO PduFactory +{ +public: + PduFactory(void); + ~PduFactory(void); + + /** Returns a PDU of the appropriate concrete subclass. Returns NULL + * for failures or unrecognized PDU types. + */ + Pdu* createPdu(const char * data); +}; +} diff --git a/CppUtils/DIS/StreamUtils.cpp b/CppUtils/DIS/StreamUtils.cpp new file mode 100644 index 00000000..cbe3ea0f --- /dev/null +++ b/CppUtils/DIS/StreamUtils.cpp @@ -0,0 +1,36 @@ +#include + +#include +#include +#include + +std::ostream& operator <<(std::ostream& lhs, const DIS::EntityType& rhs) +{ + lhs << "EntityType (" + << (unsigned int)rhs.getEntityKind() + << "," << (unsigned int)rhs.getDomain() + << "," << (unsigned int)rhs.getCountry() + << "," << (unsigned int)rhs.getCategory() + << "," << (unsigned int)rhs.getSubcategory() + << ") "; + return lhs; +} + +std::ostream& operator <<(std::ostream& lhs, const DIS::EntityID& rhs) +{ + lhs << "EntityID (" + << (unsigned int)rhs.getEntity() << ") "; + return lhs; +} + +std::ostream& operator <<(std::ostream& lhs, const DIS::EntityStatePdu& rhs) +{ + lhs << "EntityStatePdu (" << rhs.getEntityID() << ") "; + return lhs; +} + +std::ostream& operator <<(std::ostream& lhs, const DIS::DetonationPdu& rhs) +{ + lhs << "DetonationPDU (" << rhs.getFiringEntityID() << ") "; + return lhs; +} diff --git a/CppUtils/DIS/StreamUtils.h b/CppUtils/DIS/StreamUtils.h new file mode 100644 index 00000000..3651fded --- /dev/null +++ b/CppUtils/DIS/StreamUtils.h @@ -0,0 +1,24 @@ +/// Copyright goes here +/// License goes here +/// @author John K. Grant + +#ifndef _dis_stream_utils_h_ +#define _dis_stream_utils_h_ + +#include // for parameter type +#include // for library symbols + +namespace DIS +{ + class EntityStatePdu; + class EntityID; + class DetonationPdu; + class EntityType; +} + +EXPORT_MACRO std::ostream& operator <<(std::ostream& lhs, const DIS::EntityType& rhs); +EXPORT_MACRO std::ostream& operator <<(std::ostream& lhs, const DIS::EntityID& rhs); +EXPORT_MACRO std::ostream& operator <<(std::ostream& lhs, const DIS::EntityStatePdu& rhs); +EXPORT_MACRO std::ostream& operator <<(std::ostream& lhs, const DIS::DetonationPdu& rhs); + +#endif // _dis_stream_utils_h_ diff --git a/CppUtils/docs/html/_conversion_8cpp.html b/CppUtils/docs/html/_conversion_8cpp.html new file mode 100644 index 00000000..8a916d85 --- /dev/null +++ b/CppUtils/docs/html/_conversion_8cpp.html @@ -0,0 +1,36 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/Conversion.cpp File Reference + + + + +

+
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/Conversion.cpp File Reference

#include <DIS/Conversion.h>
+#include <DIS/Masks.h>
+ + +
+
+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/_conversion_8h.html b/CppUtils/docs/html/_conversion_8h.html new file mode 100644 index 00000000..2914a7ab --- /dev/null +++ b/CppUtils/docs/html/_conversion_8h.html @@ -0,0 +1,44 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/Conversion.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/Conversion.h File Reference

#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + + +

Classes

struct  DIS::Convert
 a name-scope for conversion functions. More...

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/_conversion_8h_source.html b/CppUtils/docs/html/_conversion_8h_source.html new file mode 100644 index 00000000..3b516281 --- /dev/null +++ b/CppUtils/docs/html/_conversion_8h_source.html @@ -0,0 +1,54 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/Conversion.h Source File + + + + + +
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/_data_stream_8cpp.html b/CppUtils/docs/html/_data_stream_8cpp.html new file mode 100644 index 00000000..f499f37d --- /dev/null +++ b/CppUtils/docs/html/_data_stream_8cpp.html @@ -0,0 +1,36 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/DataStream.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/DataStream.cpp File Reference

#include <DIS/DataStream.h>
+#include <iostream>
+ + +
+
+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/_data_stream_8h.html b/CppUtils/docs/html/_data_stream_8h.html new file mode 100644 index 00000000..1880dccb --- /dev/null +++ b/CppUtils/docs/html/_data_stream_8h.html @@ -0,0 +1,47 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/DataStream.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/DataStream.h File Reference

#include <string>
+#include <vector>
+#include <DIS/Endian.h>
+#include <DIS/msLibMacro.h>
+#include <cstdlib>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::DataStream

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/_data_stream_8h_source.html b/CppUtils/docs/html/_data_stream_8h_source.html new file mode 100644 index 00000000..548fa182 --- /dev/null +++ b/CppUtils/docs/html/_data_stream_8h_source.html @@ -0,0 +1,160 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/DataStream.h Source File + + + + + +
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/_endian_8h.html b/CppUtils/docs/html/_endian_8h.html new file mode 100644 index 00000000..011e98af --- /dev/null +++ b/CppUtils/docs/html/_endian_8h.html @@ -0,0 +1,46 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/Endian.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/Endian.h File Reference

#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + + +

Namespaces

namespace  DIS

Enumerations

enum  DIS::Endian { DIS::LITTLE = 1, +DIS::BIG = 0 + }
 the order of bytes that are on the left More...
+

+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/_endian_8h_source.html b/CppUtils/docs/html/_endian_8h_source.html new file mode 100644 index 00000000..d63129e4 --- /dev/null +++ b/CppUtils/docs/html/_endian_8h_source.html @@ -0,0 +1,44 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/Endian.h Source File + + + + + +
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/_i_buffer_processor_8h.html b/CppUtils/docs/html/_i_buffer_processor_8h.html new file mode 100644 index 00000000..4ecd3bc0 --- /dev/null +++ b/CppUtils/docs/html/_i_buffer_processor_8h.html @@ -0,0 +1,44 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/IBufferProcessor.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/IBufferProcessor.h File Reference

#include <DIS/Endian.h>
+ +

+Go to the source code of this file. + + + + + + + + +

Classes

class  DIS::IBufferProcessor
 the interface class for handling read operations. More...

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/_i_buffer_processor_8h_source.html b/CppUtils/docs/html/_i_buffer_processor_8h_source.html new file mode 100644 index 00000000..486eeb44 --- /dev/null +++ b/CppUtils/docs/html/_i_buffer_processor_8h_source.html @@ -0,0 +1,48 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/IBufferProcessor.h Source File + + + + + +
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/_i_packet_processor_8h.html b/CppUtils/docs/html/_i_packet_processor_8h.html new file mode 100644 index 00000000..189e89cc --- /dev/null +++ b/CppUtils/docs/html/_i_packet_processor_8h.html @@ -0,0 +1,42 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/IPacketProcessor.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/IPacketProcessor.h File Reference

+

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::IPacketProcessor

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/_i_packet_processor_8h_source.html b/CppUtils/docs/html/_i_packet_processor_8h_source.html new file mode 100644 index 00000000..d79a49cf --- /dev/null +++ b/CppUtils/docs/html/_i_packet_processor_8h_source.html @@ -0,0 +1,49 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/IPacketProcessor.h Source File + + + + + +
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/_incoming_message_8cpp.html b/CppUtils/docs/html/_incoming_message_8cpp.html new file mode 100644 index 00000000..94cba5b1 --- /dev/null +++ b/CppUtils/docs/html/_incoming_message_8cpp.html @@ -0,0 +1,61 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/IncomingMessage.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/IncomingMessage.cpp File Reference

#include <DIS/IncomingMessage.h>
+#include <DIS/IPacketProcessor.h>
+#include <DIS/Pdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/PDUType.h>
+#include <DIS/PDUBank.h>
+#include <iostream>
+#include <DIS/EntityStatePdu.h>
+ + + + + +

Variables

const unsigned int PDU_TYPE_POSITION = 2
+

Variable Documentation

+ +
+
+ + + + +
const unsigned int PDU_TYPE_POSITION = 2
+
+
+ +

+ +

+

+

+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/_incoming_message_8h.html b/CppUtils/docs/html/_incoming_message_8h.html new file mode 100644 index 00000000..22b5cd58 --- /dev/null +++ b/CppUtils/docs/html/_incoming_message_8h.html @@ -0,0 +1,47 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/IncomingMessage.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/IncomingMessage.h File Reference

#include <DIS/IBufferProcessor.h>
+#include <map>
+#include <DIS/Endian.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + + +

Classes

class  DIS::IncomingMessage
 A framework for routing the packet to the correct processor. More...

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/_incoming_message_8h_source.html b/CppUtils/docs/html/_incoming_message_8h_source.html new file mode 100644 index 00000000..da60065b --- /dev/null +++ b/CppUtils/docs/html/_incoming_message_8h_source.html @@ -0,0 +1,78 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/IncomingMessage.h Source File + + + + + +
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/_masks_8h.html b/CppUtils/docs/html/_masks_8h.html new file mode 100644 index 00000000..a571fe9d --- /dev/null +++ b/CppUtils/docs/html/_masks_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/Masks.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/Masks.h File Reference

#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Namespaces

namespace  DIS

Variables

const unsigned int DIS::ARTICULATION_PARAMETER_TYPE_METRIC_MASK = 0x001F
+

+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/_masks_8h_source.html b/CppUtils/docs/html/_masks_8h_source.html new file mode 100644 index 00000000..457b1666 --- /dev/null +++ b/CppUtils/docs/html/_masks_8h_source.html @@ -0,0 +1,44 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/Masks.h Source File + + + + + +
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/_p_d_u_bank_8cpp.html b/CppUtils/docs/html/_p_d_u_bank_8cpp.html new file mode 100644 index 00000000..307b060d --- /dev/null +++ b/CppUtils/docs/html/_p_d_u_bank_8cpp.html @@ -0,0 +1,56 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/PDUBank.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/PDUBank.cpp File Reference

#include <DIS/PDUBank.h>
+#include <DIS/EntityStatePdu.h>
+#include <DIS/FirePdu.h>
+#include <DIS/DetonationPdu.h>
+#include <DIS/CollisionPdu.h>
+#include <DIS/ServiceRequestPdu.h>
+#include <DIS/ResupplyOfferPdu.h>
+#include <DIS/ResupplyReceivedPdu.h>
+#include <DIS/ResupplyCancelPdu.h>
+#include <DIS/RepairCompletePdu.h>
+#include <DIS/RepairResponsePdu.h>
+#include <DIS/CreateEntityPdu.h>
+#include <DIS/RemoveEntityPdu.h>
+#include <DIS/StartResumePdu.h>
+#include <DIS/AcknowledgePdu.h>
+#include <DIS/ActionRequestPdu.h>
+#include <DIS/ActionResponsePdu.h>
+#include <DIS/DataQueryPdu.h>
+#include <DIS/SetDataPdu.h>
+#include <DIS/EventReportPdu.h>
+#include <DIS/CommentPdu.h>
+#include <DIS/StopFreezePdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/_p_d_u_bank_8h.html b/CppUtils/docs/html/_p_d_u_bank_8h.html new file mode 100644 index 00000000..07eafa88 --- /dev/null +++ b/CppUtils/docs/html/_p_d_u_bank_8h.html @@ -0,0 +1,44 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/PDUBank.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/PDUBank.h File Reference

#include <DIS/Pdu.h>
+#include <DIS/PDUType.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::PduBank

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/_p_d_u_bank_8h_source.html b/CppUtils/docs/html/_p_d_u_bank_8h_source.html new file mode 100644 index 00000000..c224a4d7 --- /dev/null +++ b/CppUtils/docs/html/_p_d_u_bank_8h_source.html @@ -0,0 +1,46 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/PDUBank.h Source File + + + + + +
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/_p_d_u_type_8h.html b/CppUtils/docs/html/_p_d_u_type_8h.html new file mode 100644 index 00000000..0a9bdbf2 --- /dev/null +++ b/CppUtils/docs/html/_p_d_u_type_8h.html @@ -0,0 +1,71 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/PDUType.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/PDUType.h File Reference

+

+Go to the source code of this file. + + + + + + + +

Namespaces

namespace  DIS

Enumerations

enum  DIS::PDUType {
+  DIS::PDU_OTHER = 0, +DIS::PDU_ENTITY_STATE = 1, +DIS::PDU_FIRE = 2, +DIS::PDU_DETONATION = 3, +
+  DIS::PDU_COLLISION = 4, +DIS::PDU_SERVICE_REQUEST = 5, +DIS::PDU_RESUPPLY_OFFER = 6, +DIS::PDU_RESUPPLY_RECEIVED = 7, +
+  DIS::PDU_RESUPPLY_CANCEL = 8, +DIS::PDU_REPAIR_COMPLETE = 9, +DIS::PDU_REPAIR_RESPONSE = 10, +DIS::PDU_CREATE_ENTITY = 11, +
+  DIS::PDU_REMOVE_ENTITY = 12, +DIS::PDU_START_RESUME = 13, +DIS::PDU_STOP_FREEZE = 14, +DIS::PDU_ACKNOWLEDGE = 15, +
+  DIS::PDU_ACTION_REQUEST = 16, +DIS::PDU_ACTION_RESPONSE = 17, +DIS::PDU_DATA_QUERY = 18, +DIS::PDU_SET_DATA = 19, +
+  DIS::PDU_EVENT_REPORT = 21, +DIS::PDU_COMMENT = 22 +
+ }
+

+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/_p_d_u_type_8h_source.html b/CppUtils/docs/html/_p_d_u_type_8h_source.html new file mode 100644 index 00000000..051f179e --- /dev/null +++ b/CppUtils/docs/html/_p_d_u_type_8h_source.html @@ -0,0 +1,63 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/PDUType.h Source File + + + + + +
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/_packet_factory_8cpp.html b/CppUtils/docs/html/_packet_factory_8cpp.html new file mode 100644 index 00000000..717536ef --- /dev/null +++ b/CppUtils/docs/html/_packet_factory_8cpp.html @@ -0,0 +1,37 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/PacketFactory.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/PacketFactory.cpp File Reference

#include <DIS/PacketFactory.h>
+#include <DIS/Pdu.h>
+#include <cstdlib>
+ + +
+
+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/_packet_factory_8h.html b/CppUtils/docs/html/_packet_factory_8h.html new file mode 100644 index 00000000..f1876009 --- /dev/null +++ b/CppUtils/docs/html/_packet_factory_8h.html @@ -0,0 +1,50 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/PacketFactory.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/PacketFactory.h File Reference

#include <map>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + + + + + + + +

Classes

class  DIS::PacketFactory
 responsible for mapping an ID value to a Pdu type. More...

Namespaces

namespace  DIS

Functions

template<class BaseT , class DerivedT >
BaseT * DIS::CreateImplementation ()
 a utility to make functions
+

+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/_packet_factory_8h_source.html b/CppUtils/docs/html/_packet_factory_8h_source.html new file mode 100644 index 00000000..e4482297 --- /dev/null +++ b/CppUtils/docs/html/_packet_factory_8h_source.html @@ -0,0 +1,81 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/PacketFactory.h Source File + + + + + +
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/_stream_utils_8cpp.html b/CppUtils/docs/html/_stream_utils_8cpp.html new file mode 100644 index 00000000..2e42ebaf --- /dev/null +++ b/CppUtils/docs/html/_stream_utils_8cpp.html @@ -0,0 +1,164 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/StreamUtils.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/StreamUtils.cpp File Reference

#include <DIS/StreamUtils.h>
+#include <DIS/EntityStatePdu.h>
+#include <DIS/EntityID.h>
+#include <DIS/DetonationPdu.h>
+ + + + + + + + + + + +

Functions

std::ostream & operator<< (std::ostream &lhs, const DIS::EntityType &rhs)
std::ostream & operator<< (std::ostream &lhs, const DIS::EntityID &rhs)
std::ostream & operator<< (std::ostream &lhs, const DIS::EntityStatePdu &rhs)
std::ostream & operator<< (std::ostream &lhs, const DIS::DetonationPdu &rhs)
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
std::ostream& operator<< (std::ostream &  lhs,
const DIS::DetonationPdu &  rhs 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
std::ostream& operator<< (std::ostream &  lhs,
const DIS::EntityStatePdu &  rhs 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
std::ostream& operator<< (std::ostream &  lhs,
const DIS::EntityID &  rhs 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
std::ostream& operator<< (std::ostream &  lhs,
const DIS::EntityType &  rhs 
)
+
+
+ +

+ +

+

+

+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/_stream_utils_8h.html b/CppUtils/docs/html/_stream_utils_8h.html new file mode 100644 index 00000000..4a5ded6e --- /dev/null +++ b/CppUtils/docs/html/_stream_utils_8h.html @@ -0,0 +1,167 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/StreamUtils.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/StreamUtils.h File Reference

#include <ostream>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + + + + + + + +

Namespaces

namespace  DIS

Functions

EXPORT_MACRO std::ostream & operator<< (std::ostream &lhs, const DIS::EntityType &rhs)
EXPORT_MACRO std::ostream & operator<< (std::ostream &lhs, const DIS::EntityID &rhs)
EXPORT_MACRO std::ostream & operator<< (std::ostream &lhs, const DIS::EntityStatePdu &rhs)
EXPORT_MACRO std::ostream & operator<< (std::ostream &lhs, const DIS::DetonationPdu &rhs)
+


Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
EXPORT_MACRO std::ostream& operator<< (std::ostream &  lhs,
const DIS::DetonationPdu &  rhs 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
EXPORT_MACRO std::ostream& operator<< (std::ostream &  lhs,
const DIS::EntityStatePdu &  rhs 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
EXPORT_MACRO std::ostream& operator<< (std::ostream &  lhs,
const DIS::EntityID &  rhs 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
EXPORT_MACRO std::ostream& operator<< (std::ostream &  lhs,
const DIS::EntityType &  rhs 
)
+
+
+ +

+ +

+

+

+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/_stream_utils_8h_source.html b/CppUtils/docs/html/_stream_utils_8h_source.html new file mode 100644 index 00000000..d31b3df4 --- /dev/null +++ b/CppUtils/docs/html/_stream_utils_8h_source.html @@ -0,0 +1,53 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/StreamUtils.h Source File + + + + + +
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/annotated.html b/CppUtils/docs/html/annotated.html new file mode 100644 index 00000000..c3ed209d --- /dev/null +++ b/CppUtils/docs/html/annotated.html @@ -0,0 +1,41 @@ + + +open-dis: Class List + + + + + +
+

Class List

Here are the classes, structs, unions and interfaces with brief descriptions: + + + + + + + +
DIS::ConvertName-scope for conversion functions
DIS::DataStream
DIS::IBufferProcessorInterface class for handling read operations
DIS::IncomingMessageA framework for routing the packet to the correct processor
DIS::IPacketProcessor
DIS::PacketFactoryResponsible for mapping an ID value to a Pdu type
DIS::PduBank
+
+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/class_d_i_s_1_1_data_stream-members.html b/CppUtils/docs/html/class_d_i_s_1_1_data_stream-members.html new file mode 100644 index 00000000..ee4fc219 --- /dev/null +++ b/CppUtils/docs/html/class_d_i_s_1_1_data_stream-members.html @@ -0,0 +1,67 @@ + + +open-dis: Member List + + + + + +
+

DIS::DataStream Member List

This is the complete list of members for DIS::DataStream, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
clear()DIS::DataStream
DataStream(Endian stream)DIS::DataStream
DataStream(const char *buffer, size_t length, Endian stream)DIS::DataStream
empty() const DIS::DataStream
GetMachineEndian() const DIS::DataStream
GetReadPos() const DIS::DataStream
GetStreamEndian() const DIS::DataStream
GetWritePos() const DIS::DataStream
operator<<(bool c)DIS::DataStream
operator<<(char c)DIS::DataStream
operator<<(unsigned char c)DIS::DataStream
operator<<(float c)DIS::DataStream
operator<<(double c)DIS::DataStream
operator<<(int c)DIS::DataStream
operator<<(unsigned int c)DIS::DataStream
operator<<(long c)DIS::DataStream
operator<<(unsigned long c)DIS::DataStream
operator<<(unsigned short c)DIS::DataStream
operator<<(short c)DIS::DataStream
operator>>(bool &c)DIS::DataStream
operator>>(char &c)DIS::DataStream
operator>>(unsigned char &c)DIS::DataStream
operator>>(float &c)DIS::DataStream
operator>>(double &c)DIS::DataStream
operator>>(int &c)DIS::DataStream
operator>>(unsigned int &c)DIS::DataStream
operator>>(long &c)DIS::DataStream
operator>>(unsigned long &c)DIS::DataStream
operator>>(unsigned short &c)DIS::DataStream
operator>>(short &c)DIS::DataStream
operator[](unsigned int offset) const DIS::DataStream
SetStream(const char *buffer, size_t length, Endian order)DIS::DataStream
size() const DIS::DataStream
~DataStream()DIS::DataStream

+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/class_d_i_s_1_1_data_stream.html b/CppUtils/docs/html/class_d_i_s_1_1_data_stream.html new file mode 100644 index 00000000..8c142c39 --- /dev/null +++ b/CppUtils/docs/html/class_d_i_s_1_1_data_stream.html @@ -0,0 +1,837 @@ + + +open-dis: DIS::DataStream Class Reference + + + + + +
+

DIS::DataStream Class Reference

#include <DataStream.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 DataStream (Endian stream)
 DataStream (const char *buffer, size_t length, Endian stream)
 ~DataStream ()
const char & operator[] (unsigned int offset) const
void SetStream (const char *buffer, size_t length, Endian order)
 take ownership of the data buffer.
DataStreamoperator<< (bool c)
DataStreamoperator<< (char c)
DataStreamoperator<< (unsigned char c)
DataStreamoperator<< (float c)
DataStreamoperator<< (double c)
DataStreamoperator<< (int c)
DataStreamoperator<< (unsigned int c)
DataStreamoperator<< (long c)
DataStreamoperator<< (unsigned long c)
DataStreamoperator<< (unsigned short c)
DataStreamoperator<< (short c)
DataStreamoperator>> (bool &c)
DataStreamoperator>> (char &c)
DataStreamoperator>> (unsigned char &c)
DataStreamoperator>> (float &c)
DataStreamoperator>> (double &c)
DataStreamoperator>> (int &c)
DataStreamoperator>> (unsigned int &c)
DataStreamoperator>> (long &c)
DataStreamoperator>> (unsigned long &c)
DataStreamoperator>> (unsigned short &c)
DataStreamoperator>> (short &c)
Endian GetStreamEndian () const
Endian GetMachineEndian () const
size_t GetWritePos () const
size_t GetReadPos () const
size_t size () const
void clear ()
bool empty () const
+


Detailed Description

+a class to support managing a network buffer. the clients are responsible for managing the char buffer memory. this class explicitly defines operators for expected types.

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + +
DataStream::DataStream (Endian  stream  ) 
+
+
+ +

+Setup the internal buffer's Endian type.

Parameters:
+ + +
stream the Endian type to use for the internal buffer, which will be used for network socket writes.
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
DataStream::DataStream (const char *  buffer,
size_t  length,
Endian  stream 
)
+
+
+ +

+Setup the internal buffer.

Parameters:
+ + + + +
buffer the data to copy and manage.
length the number of bytes in the buffer.
stream the Endian type to use for the internal buffer,
+
+ +
+

+ +

+
+ + + + + + + + +
DataStream::~DataStream (  ) 
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
void DataStream::clear (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
bool DataStream::empty (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Endian DataStream::GetMachineEndian (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
size_t DataStream::GetReadPos (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Endian DataStream::GetStreamEndian (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
size_t DataStream::GetWritePos (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
DataStream & DataStream::operator<< (short  c  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
DataStream & DataStream::operator<< (unsigned short  c  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
DataStream & DataStream::operator<< (unsigned long  c  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
DataStream & DataStream::operator<< (long  c  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
DataStream & DataStream::operator<< (unsigned int  c  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
DataStream & DataStream::operator<< (int  c  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
DataStream & DataStream::operator<< (double  c  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
DataStream & DataStream::operator<< (float  c  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
DataStream & DataStream::operator<< (unsigned char  c  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
DataStream & DataStream::operator<< (char  c  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
DataStream& DIS::DataStream::operator<< (bool  c  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
DataStream & DataStream::operator>> (short &  c  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
DataStream & DataStream::operator>> (unsigned short &  c  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
DataStream & DataStream::operator>> (unsigned long &  c  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
DataStream & DataStream::operator>> (long &  c  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
DataStream & DataStream::operator>> (unsigned int &  c  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
DataStream & DataStream::operator>> (int &  c  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
DataStream & DataStream::operator>> (double &  c  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
DataStream & DataStream::operator>> (float &  c  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
DataStream & DataStream::operator>> (unsigned char &  c  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
DataStream & DataStream::operator>> (char &  c  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
DataStream& DIS::DataStream::operator>> (bool &  c  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
const char & DataStream::operator[] (unsigned int  offset  )  const
+
+
+ +

+a method for reading the stored buffer data.

Parameters:
+ + +
offset the index distance with respect to the current read point.
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void DataStream::SetStream (const char *  buffer,
size_t  length,
Endian  order 
)
+
+
+ +

+take ownership of the data buffer. +

+ +

+

+ +

+
+ + + + + + + + +
size_t DataStream::size (  )  const
+
+
+ +

+ +

+

+


The documentation for this class was generated from the following files:
    +
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/DataStream.h
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/DataStream.cpp
+
+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/class_d_i_s_1_1_i_buffer_processor-members.html b/CppUtils/docs/html/class_d_i_s_1_1_i_buffer_processor-members.html new file mode 100644 index 00000000..0f839cde --- /dev/null +++ b/CppUtils/docs/html/class_d_i_s_1_1_i_buffer_processor-members.html @@ -0,0 +1,34 @@ + + +open-dis: Member List + + + + + +
+

DIS::IBufferProcessor Member List

This is the complete list of members for DIS::IBufferProcessor, including all inherited members.

+ +
Process(const char *buf, unsigned int size, Endian e)=0DIS::IBufferProcessor [pure virtual]

+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/class_d_i_s_1_1_i_buffer_processor.html b/CppUtils/docs/html/class_d_i_s_1_1_i_buffer_processor.html new file mode 100644 index 00000000..fcf7934f --- /dev/null +++ b/CppUtils/docs/html/class_d_i_s_1_1_i_buffer_processor.html @@ -0,0 +1,97 @@ + + +open-dis: DIS::IBufferProcessor Class Reference + + + + + +
+

DIS::IBufferProcessor Class Reference

the interface class for handling read operations. +More... +

+#include <IBufferProcessor.h> +

+

+Inheritance diagram for DIS::IBufferProcessor:
+
+ +

+ +DIS::IncomingMessage + +
+ +

+List of all members. + + + + +

Public Member Functions

virtual void Process (const char *buf, unsigned int size, Endian e)=0
+


Detailed Description

+the interface class for handling read operations.

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual void DIS::IBufferProcessor::Process (const char *  buf,
unsigned int  size,
Endian  e 
) [pure virtual]
+
+
+ +

+ +

Implemented in DIS::IncomingMessage.

+ +
+

+


The documentation for this class was generated from the following file: +
+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/class_d_i_s_1_1_i_buffer_processor.png b/CppUtils/docs/html/class_d_i_s_1_1_i_buffer_processor.png new file mode 100644 index 00000000..9f484f59 Binary files /dev/null and b/CppUtils/docs/html/class_d_i_s_1_1_i_buffer_processor.png differ diff --git a/CppUtils/docs/html/class_d_i_s_1_1_i_packet_processor-members.html b/CppUtils/docs/html/class_d_i_s_1_1_i_packet_processor-members.html new file mode 100644 index 00000000..2cae4954 --- /dev/null +++ b/CppUtils/docs/html/class_d_i_s_1_1_i_packet_processor-members.html @@ -0,0 +1,34 @@ + + +open-dis: Member List + + + + + +
+

DIS::IPacketProcessor Member List

This is the complete list of members for DIS::IPacketProcessor, including all inherited members.

+ +
Process(const Pdu &p)=0DIS::IPacketProcessor [pure virtual]

+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/class_d_i_s_1_1_i_packet_processor.html b/CppUtils/docs/html/class_d_i_s_1_1_i_packet_processor.html new file mode 100644 index 00000000..6057ded5 --- /dev/null +++ b/CppUtils/docs/html/class_d_i_s_1_1_i_packet_processor.html @@ -0,0 +1,68 @@ + + +open-dis: DIS::IPacketProcessor Class Reference + + + + + +
+

DIS::IPacketProcessor Class Reference

#include <IPacketProcessor.h> +

+ +

+List of all members. + + + + +

Public Member Functions

virtual void Process (const Pdu &p)=0
+


Detailed Description

+it is the responsibility of the processor to use the packet because it will be deleted after this call.

Member Function Documentation

+ +
+
+ + + + + + + + + +
virtual void DIS::IPacketProcessor::Process (const Pdu &  p  )  [pure virtual]
+
+
+ +

+ +

+

+


The documentation for this class was generated from the following file: +
+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/class_d_i_s_1_1_incoming_message-members.html b/CppUtils/docs/html/class_d_i_s_1_1_incoming_message-members.html new file mode 100644 index 00000000..3565ecd1 --- /dev/null +++ b/CppUtils/docs/html/class_d_i_s_1_1_incoming_message-members.html @@ -0,0 +1,41 @@ + + +open-dis: Member List + + + + + +
+

DIS::IncomingMessage Member List

This is the complete list of members for DIS::IncomingMessage, including all inherited members.

+ + + + + + + + +
AddProcessor(unsigned char id, IPacketProcessor *pp)DIS::IncomingMessage
GetProcessors()DIS::IncomingMessage
GetProcessors() const DIS::IncomingMessage
IncomingMessage()DIS::IncomingMessage
PacketProcessorContainer typedefDIS::IncomingMessage
Process(const char *buf, unsigned int size, Endian e)DIS::IncomingMessage [virtual]
RemoveProcessor(unsigned char id, const IPacketProcessor *pp)DIS::IncomingMessage
~IncomingMessage()DIS::IncomingMessage

+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/class_d_i_s_1_1_incoming_message.html b/CppUtils/docs/html/class_d_i_s_1_1_incoming_message.html new file mode 100644 index 00000000..59fa3e10 --- /dev/null +++ b/CppUtils/docs/html/class_d_i_s_1_1_incoming_message.html @@ -0,0 +1,272 @@ + + +open-dis: DIS::IncomingMessage Class Reference + + + + + +
+

DIS::IncomingMessage Class Reference

A framework for routing the packet to the correct processor. +More... +

+#include <IncomingMessage.h> +

+

+Inheritance diagram for DIS::IncomingMessage:
+
+ +

+ +DIS::IBufferProcessor + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + +

Public Types

typedef std::multimap
+< unsigned char,
+IPacketProcessor * > 
PacketProcessorContainer
 the container type for supporting processors.

Public Member Functions

 IncomingMessage ()
 ~IncomingMessage ()
void Process (const char *buf, unsigned int size, Endian e)
bool AddProcessor (unsigned char id, IPacketProcessor *pp)
bool RemoveProcessor (unsigned char id, const IPacketProcessor *pp)
PacketProcessorContainerGetProcessors ()
const PacketProcessorContainerGetProcessors () const
+


Detailed Description

+A framework for routing the packet to the correct processor.

Member Typedef Documentation

+ +
+
+ + + + +
typedef std::multimap<unsigned char,IPacketProcessor*> DIS::IncomingMessage::PacketProcessorContainer
+
+
+ +

+the container type for supporting processors. +

+ +

+

+


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
IncomingMessage::IncomingMessage (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
IncomingMessage::~IncomingMessage (  ) 
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool IncomingMessage::AddProcessor (unsigned char  id,
IPacketProcessor pp 
)
+
+
+ +

+registers the ipp instance to process packets with the id

Returns:
'true' if the pair of parameters were not found in the container and were addded. 'false' if the pair was found.
+ +
+

+ +

+
+ + + + + + + + +
const IncomingMessage::PacketProcessorContainer & IncomingMessage::GetProcessors (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
IncomingMessage::PacketProcessorContainer & IncomingMessage::GetProcessors (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void IncomingMessage::Process (const char *  buf,
unsigned int  size,
Endian  e 
) [virtual]
+
+
+ +

+ +

Implements DIS::IBufferProcessor.

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
bool IncomingMessage::RemoveProcessor (unsigned char  id,
const IPacketProcessor pp 
)
+
+
+ +

+unregisters the ipp instance for packets with the id. it does not clean up the delete the ipp.

Returns:
'true' if the pair of parameters were found in the container and removed. 'false' if the pair was not found.
+
Todo:
add proper support for erasing from a multimap.
+
Warning:
erases any processor registered for the id
+ +
+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/class_d_i_s_1_1_incoming_message.png b/CppUtils/docs/html/class_d_i_s_1_1_incoming_message.png new file mode 100644 index 00000000..49f572d1 Binary files /dev/null and b/CppUtils/docs/html/class_d_i_s_1_1_incoming_message.png differ diff --git a/CppUtils/docs/html/class_d_i_s_1_1_packet_factory-members.html b/CppUtils/docs/html/class_d_i_s_1_1_packet_factory-members.html new file mode 100644 index 00000000..b71c1de2 --- /dev/null +++ b/CppUtils/docs/html/class_d_i_s_1_1_packet_factory-members.html @@ -0,0 +1,38 @@ + + +open-dis: Member List + + + + + +
+

DIS::PacketFactory Member List

This is the complete list of members for DIS::PacketFactory, including all inherited members.

+ + + + + +
CreatePacket(unsigned char id)DIS::PacketFactory
DestroyPacket(Pdu *pdu)DIS::PacketFactory
IsRegistered(unsigned char id) const DIS::PacketFactory
RegisterPacket(unsigned char id)DIS::PacketFactory [inline]
UnRegisterPacket(char id)DIS::PacketFactory [inline]

+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/class_d_i_s_1_1_packet_factory.html b/CppUtils/docs/html/class_d_i_s_1_1_packet_factory.html new file mode 100644 index 00000000..4d09835d --- /dev/null +++ b/CppUtils/docs/html/class_d_i_s_1_1_packet_factory.html @@ -0,0 +1,191 @@ + + +open-dis: DIS::PacketFactory Class Reference + + + + + +
+

DIS::PacketFactory Class Reference

responsible for mapping an ID value to a Pdu type. +More... +

+#include <PacketFactory.h> +

+ +

+List of all members. + + + + + + + + + + + + + +

Public Member Functions

Pdu * CreatePacket (unsigned char id)
void DestroyPacket (Pdu *pdu)
template<class T >
bool RegisterPacket (unsigned char id)
bool UnRegisterPacket (char id)
bool IsRegistered (unsigned char id) const
+


Detailed Description

+responsible for mapping an ID value to a Pdu type.

Member Function Documentation

+ +
+
+ + + + + + + + + +
Pdu * PacketFactory::CreatePacket (unsigned char  id  ) 
+
+
+ +

+Create a Pdu.

Parameters:
+ + +
id the value representing the "type" of the Pdu. The value will be stored in the 3rd position of the buffer, as defined by the DIS specification.
+
+
Returns:
a dynamically allocated instance of a concrete Pdu. The value will be 'NULL' if no support for creating the concrete Pdu was registered.
+ +
+

+ +

+
+ + + + + + + + + +
void PacketFactory::DestroyPacket (Pdu *  pdu  ) 
+
+
+ +

+Clean up the memory for the Pdu.

Parameters:
+ + +
pdu The packet to be deleted.
+
+ +
+

+ +

+
+ + + + + + + + + +
bool PacketFactory::IsRegistered (unsigned char  id  )  const
+
+
+ +

+Check to know if the Pdu type is supported.

Parameters:
+ + +
id The value representing the Pdu type.
+
+
Returns:
'true' if support for creating a Pdu was found, 'false' if not found.
+ +
+

+ +

+
+
+template<class T >
+ + + + + + + + + +
bool DIS::PacketFactory::RegisterPacket (unsigned char  id  )  [inline]
+
+
+ +

+Add support for creating the Pdu.

Parameters:
+ + +
id The value identifying the type of the Pdu.
+
+
Returns:
'false' if a packet id was already registered for the Pdu type. 'true' if support was added.
+ +
+

+ +

+
+ + + + + + + + + +
bool DIS::PacketFactory::UnRegisterPacket (char  id  )  [inline]
+
+
+ +

+Remove support for creating the Pdu.

Parameters:
+ + +
id The value identifying the type of the Pdu.
+
+
Returns:
'false' if no support previously existed. 'true' if support was removed.
+ +
+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/class_d_i_s_1_1_pdu_bank-members.html b/CppUtils/docs/html/class_d_i_s_1_1_pdu_bank-members.html new file mode 100644 index 00000000..da93c32a --- /dev/null +++ b/CppUtils/docs/html/class_d_i_s_1_1_pdu_bank-members.html @@ -0,0 +1,34 @@ + + +open-dis: Member List + + + + + +
+

DIS::PduBank Member List

This is the complete list of members for DIS::PduBank, including all inherited members.

+ +
GetStaticPDU(DIS::PDUType pdu_type)DIS::PduBank [static]

+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/class_d_i_s_1_1_pdu_bank.html b/CppUtils/docs/html/class_d_i_s_1_1_pdu_bank.html new file mode 100644 index 00000000..fe0782c7 --- /dev/null +++ b/CppUtils/docs/html/class_d_i_s_1_1_pdu_bank.html @@ -0,0 +1,75 @@ + + +open-dis: DIS::PduBank Class Reference + + + + + +
+

DIS::PduBank Class Reference

#include <PDUBank.h> +

+ +

+List of all members. + + + + +

Static Public Member Functions

static Pdu * GetStaticPDU (DIS::PDUType pdu_type)
+


Detailed Description

+houses instances for the set of known PDU classes to be returned when provided with the PDU type's identifier value.

Member Function Documentation

+ +
+
+ + + + + + + + + +
Pdu * PduBank::GetStaticPDU (DIS::PDUType  pdu_type  )  [static]
+
+
+ +

+finds the PDU instance corresponding to the identifier

Parameters:
+ + +
pdu_type the 8-bit PDU type identifier
+
+
Returns:
NULL when the pdu_type is unknown.
+
Todo:
make this parameter just 'unsigned char' since that will be easier to generate.
+ +
+

+


The documentation for this class was generated from the following files:
    +
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/PDUBank.h
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/PDUBank.cpp
+
+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/classes.html b/CppUtils/docs/html/classes.html new file mode 100644 index 00000000..fc77876d --- /dev/null +++ b/CppUtils/docs/html/classes.html @@ -0,0 +1,39 @@ + + +open-dis: Alphabetical List + + + + + +
+

Class Index

C | D | I | P

+ +
  C  
+
DataStream (DIS)   IBufferProcessor (DIS)   IPacketProcessor (DIS)   PacketFactory (DIS)   
Convert (DIS)   
  I  
+
IncomingMessage (DIS)   
  P  
+
PduBank (DIS)   
  D  
+

C | D | I | P

+

+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/doxygen.css b/CppUtils/docs/html/doxygen.css new file mode 100644 index 00000000..3767dc95 --- /dev/null +++ b/CppUtils/docs/html/doxygen.css @@ -0,0 +1,441 @@ +body, table, div, p, dl { + font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif; + font-size: 12px; +} + +/* @group Heading Levels */ + +h1 { + text-align: center; + font-size: 150%; +} + +h2 { + font-size: 120%; +} + +h3 { + font-size: 100%; +} + +/* @end */ + +caption { + font-weight: bold; +} + +div.qindex, div.navtab{ + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + padding: 2px; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #153788; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #1b77c5; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #6666cc; + color: #ffffff; + border: 1px double #9295C2; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code { +} + +a.codeRef { +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +.fragment { + font-family: monospace, fixed; + font-size: 105%; +} + +pre.fragment { + border: 1px solid #CCCCCC; + background-color: #f5f5f5; + padding: 4px 6px; + margin: 4px 8px 4px 2px; +} + +div.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + margin-bottom: 6px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background: white; + color: black; + margin-right: 20px; + margin-left: 20px; +} + +td.indexkey { + background-color: #e8eef2; + font-weight: bold; + border: 1px solid #CCCCCC; + margin: 2px 0px 2px 0; + padding: 2px 10px; +} + +td.indexvalue { + background-color: #e8eef2; + border: 1px solid #CCCCCC; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #f0f0f0; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +/* @end */ + +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #84b0c7; +} + +th.dirtab { + background: #e8eef2; + font-weight: bold; +} + +hr { + height: 0; + border: none; + border-top: 1px solid #666; +} + +/* @group Member Descriptions */ + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #FAFAFA; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memItemLeft, .memItemRight, .memTemplParams { + border-top: 1px solid #ccc; +} + +.memTemplParams { + color: #606060; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtemplate { + font-size: 80%; + color: #606060; + font-weight: normal; + margin-left: 3px; +} + +.memnav { + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.memitem { + padding: 0; +} + +.memname { + white-space: nowrap; + font-weight: bold; +} + +.memproto, .memdoc { + border: 1px solid #84b0c7; +} + +.memproto { + padding: 0; + background-color: #d5e1e8; + font-weight: bold; + -webkit-border-top-left-radius: 8px; + -webkit-border-top-right-radius: 8px; + -moz-border-radius-topleft: 8px; + -moz-border-radius-topright: 8px; +} + +.memdoc { + padding: 2px 5px; + background-color: #eef3f5; + border-top-width: 0; + -webkit-border-bottom-left-radius: 8px; + -webkit-border-bottom-right-radius: 8px; + -moz-border-radius-bottomleft: 8px; + -moz-border-radius-bottomright: 8px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} + +/* @end */ + +/* @group Directory (tree) */ + +/* for the tree view */ + +.ftvtree { + font-family: sans-serif; + margin: 0.5em; +} + +/* these are for tree view when used as main index */ + +.directory { + font-size: 9pt; + font-weight: bold; +} + +.directory h3 { + margin: 0px; + margin-top: 1em; + font-size: 11pt; +} + +/* +The following two styles can be used to replace the root node title +with an image of your choice. Simply uncomment the next two styles, +specify the name of your image and be sure to set 'height' to the +proper pixel height of your image. +*/ + +/* +.directory h3.swap { + height: 61px; + background-repeat: no-repeat; + background-image: url("yourimage.gif"); +} +.directory h3.swap span { + display: none; +} +*/ + +.directory > h3 { + margin-top: 0; +} + +.directory p { + margin: 0px; + white-space: nowrap; +} + +.directory div { + display: none; + margin: 0px; +} + +.directory img { + vertical-align: -30%; +} + +/* these are for tree view when not used as main index */ + +.directory-alt { + font-size: 100%; + font-weight: bold; +} + +.directory-alt h3 { + margin: 0px; + margin-top: 1em; + font-size: 11pt; +} + +.directory-alt > h3 { + margin-top: 0; +} + +.directory-alt p { + margin: 0px; + white-space: nowrap; +} + +.directory-alt div { + display: none; + margin: 0px; +} + +.directory-alt img { + vertical-align: -30%; +} + +/* @end */ + +address { + font-style: normal; + color: #333; +} diff --git a/CppUtils/docs/html/doxygen.png b/CppUtils/docs/html/doxygen.png new file mode 100644 index 00000000..f0a274bb Binary files /dev/null and b/CppUtils/docs/html/doxygen.png differ diff --git a/CppUtils/docs/html/files.html b/CppUtils/docs/html/files.html new file mode 100644 index 00000000..da27d133 --- /dev/null +++ b/CppUtils/docs/html/files.html @@ -0,0 +1,50 @@ + + +open-dis: File Index + + + + + +
+

File List

Here is a list of all files with brief descriptions: + + + + + + + + + + + + + + + + + +
/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/Conversion.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/Conversion.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/DataStream.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/DataStream.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/Endian.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/IBufferProcessor.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/IncomingMessage.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/IncomingMessage.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/IPacketProcessor.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/Masks.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/PacketFactory.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/PacketFactory.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/PDUBank.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/PDUBank.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/PDUType.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/StreamUtils.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/StreamUtils.h [code]
+
+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/ftv2blank.png b/CppUtils/docs/html/ftv2blank.png new file mode 100644 index 00000000..493c3c0b Binary files /dev/null and b/CppUtils/docs/html/ftv2blank.png differ diff --git a/CppUtils/docs/html/ftv2doc.png b/CppUtils/docs/html/ftv2doc.png new file mode 100644 index 00000000..f72999f9 Binary files /dev/null and b/CppUtils/docs/html/ftv2doc.png differ diff --git a/CppUtils/docs/html/ftv2folderclosed.png b/CppUtils/docs/html/ftv2folderclosed.png new file mode 100644 index 00000000..d6d06344 Binary files /dev/null and b/CppUtils/docs/html/ftv2folderclosed.png differ diff --git a/CppUtils/docs/html/ftv2folderopen.png b/CppUtils/docs/html/ftv2folderopen.png new file mode 100644 index 00000000..bbe2c913 Binary files /dev/null and b/CppUtils/docs/html/ftv2folderopen.png differ diff --git a/CppUtils/docs/html/ftv2lastnode.png b/CppUtils/docs/html/ftv2lastnode.png new file mode 100644 index 00000000..e7b9ba90 Binary files /dev/null and b/CppUtils/docs/html/ftv2lastnode.png differ diff --git a/CppUtils/docs/html/ftv2link.png b/CppUtils/docs/html/ftv2link.png new file mode 100644 index 00000000..14f3fed0 Binary files /dev/null and b/CppUtils/docs/html/ftv2link.png differ diff --git a/CppUtils/docs/html/ftv2mlastnode.png b/CppUtils/docs/html/ftv2mlastnode.png new file mode 100644 index 00000000..09ceb6ad Binary files /dev/null and b/CppUtils/docs/html/ftv2mlastnode.png differ diff --git a/CppUtils/docs/html/ftv2mnode.png b/CppUtils/docs/html/ftv2mnode.png new file mode 100644 index 00000000..3254c051 Binary files /dev/null and b/CppUtils/docs/html/ftv2mnode.png differ diff --git a/CppUtils/docs/html/ftv2node.png b/CppUtils/docs/html/ftv2node.png new file mode 100644 index 00000000..c9f06a57 Binary files /dev/null and b/CppUtils/docs/html/ftv2node.png differ diff --git a/CppUtils/docs/html/ftv2plastnode.png b/CppUtils/docs/html/ftv2plastnode.png new file mode 100644 index 00000000..0b07e009 Binary files /dev/null and b/CppUtils/docs/html/ftv2plastnode.png differ diff --git a/CppUtils/docs/html/ftv2pnode.png b/CppUtils/docs/html/ftv2pnode.png new file mode 100644 index 00000000..2001b797 Binary files /dev/null and b/CppUtils/docs/html/ftv2pnode.png differ diff --git a/CppUtils/docs/html/ftv2vertline.png b/CppUtils/docs/html/ftv2vertline.png new file mode 100644 index 00000000..b330f3a3 Binary files /dev/null and b/CppUtils/docs/html/ftv2vertline.png differ diff --git a/CppUtils/docs/html/functions.html b/CppUtils/docs/html/functions.html new file mode 100644 index 00000000..0e2b369c --- /dev/null +++ b/CppUtils/docs/html/functions.html @@ -0,0 +1,147 @@ + + +open-dis: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- a -

+

- c -

+

- d -

+

- e -

+

- g -

+

- i -

+

- m -

+

- o -

+

- p -

+

- r -

+

- s -

+

- u -

+

- ~ -

+
+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/functions_func.html b/CppUtils/docs/html/functions_func.html new file mode 100644 index 00000000..069d03af --- /dev/null +++ b/CppUtils/docs/html/functions_func.html @@ -0,0 +1,143 @@ + + +open-dis: Class Members - Functions + + + + + +
+  +

+

- a -

+

- c -

+

- d -

+

- e -

+

- g -

+

- i -

+

- m -

+

- o -

+

- p -

+

- r -

+

- s -

+

- u -

+

- ~ -

+
+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/functions_type.html b/CppUtils/docs/html/functions_type.html new file mode 100644 index 00000000..04547478 --- /dev/null +++ b/CppUtils/docs/html/functions_type.html @@ -0,0 +1,46 @@ + + +open-dis: Class Members - Typedefs + + + + + +
+  +

+

+
+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/functions_vars.html b/CppUtils/docs/html/functions_vars.html new file mode 100644 index 00000000..f3cc1867 --- /dev/null +++ b/CppUtils/docs/html/functions_vars.html @@ -0,0 +1,46 @@ + + +open-dis: Class Members - Variables + + + + + +
+  +

+

    +
  • ARTICULATION_PARAMETER_TYPE_METRIC_NUMBER_OF_BITS +: DIS::Convert +
+
+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/globals.html b/CppUtils/docs/html/globals.html new file mode 100644 index 00000000..93db4efc --- /dev/null +++ b/CppUtils/docs/html/globals.html @@ -0,0 +1,48 @@ + + +open-dis: Class Members + + + + + +
+Here is a list of all file members with links to the files they belong to: +

+

+
+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/globals_func.html b/CppUtils/docs/html/globals_func.html new file mode 100644 index 00000000..2c9a6715 --- /dev/null +++ b/CppUtils/docs/html/globals_func.html @@ -0,0 +1,46 @@ + + +open-dis: Class Members + + + + + +
+  +

+

+
+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/globals_vars.html b/CppUtils/docs/html/globals_vars.html new file mode 100644 index 00000000..5325eee2 --- /dev/null +++ b/CppUtils/docs/html/globals_vars.html @@ -0,0 +1,44 @@ + + +open-dis: Class Members + + + + + +
+  +

+

+
+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/hierarchy.html b/CppUtils/docs/html/hierarchy.html new file mode 100644 index 00000000..1fd7263e --- /dev/null +++ b/CppUtils/docs/html/hierarchy.html @@ -0,0 +1,100 @@ + + +open-dis: Hierarchical Index + + + + + +
+

Class Hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically: + + + +
+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/index.html b/CppUtils/docs/html/index.html new file mode 100644 index 00000000..bbc80253 --- /dev/null +++ b/CppUtils/docs/html/index.html @@ -0,0 +1,11 @@ + + +open-dis + + + + + <a href="main.html">Frames are disabled. Click here to go to the main page.</a> + + + diff --git a/CppUtils/docs/html/main.html b/CppUtils/docs/html/main.html new file mode 100644 index 00000000..1396b865 --- /dev/null +++ b/CppUtils/docs/html/main.html @@ -0,0 +1,27 @@ + + +open-dis: Main Page + + + + + +
+

open-dis Documentation

+

+

3.1.2

+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/namespace_d_i_s.html b/CppUtils/docs/html/namespace_d_i_s.html new file mode 100644 index 00000000..92405363 --- /dev/null +++ b/CppUtils/docs/html/namespace_d_i_s.html @@ -0,0 +1,233 @@ + + +open-dis: DIS Namespace Reference + + + + + +
+

DIS Namespace Reference

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Classes

struct  Convert
 a name-scope for conversion functions. More...
class  DataStream
class  IBufferProcessor
 the interface class for handling read operations. More...
class  IncomingMessage
 A framework for routing the packet to the correct processor. More...
class  IPacketProcessor
class  PacketFactory
 responsible for mapping an ID value to a Pdu type. More...
class  PduBank

Enumerations

enum  Endian { LITTLE = 1, +BIG = 0 + }
 the order of bytes that are on the left More...
enum  PDUType {
+  PDU_OTHER = 0, +PDU_ENTITY_STATE = 1, +PDU_FIRE = 2, +PDU_DETONATION = 3, +
+  PDU_COLLISION = 4, +PDU_SERVICE_REQUEST = 5, +PDU_RESUPPLY_OFFER = 6, +PDU_RESUPPLY_RECEIVED = 7, +
+  PDU_RESUPPLY_CANCEL = 8, +PDU_REPAIR_COMPLETE = 9, +PDU_REPAIR_RESPONSE = 10, +PDU_CREATE_ENTITY = 11, +
+  PDU_REMOVE_ENTITY = 12, +PDU_START_RESUME = 13, +PDU_STOP_FREEZE = 14, +PDU_ACKNOWLEDGE = 15, +
+  PDU_ACTION_REQUEST = 16, +PDU_ACTION_RESPONSE = 17, +PDU_DATA_QUERY = 18, +PDU_SET_DATA = 19, +
+  PDU_EVENT_REPORT = 21, +PDU_COMMENT = 22 +
+ }

Functions

template<class BaseT , class DerivedT >
BaseT * CreateImplementation ()
 a utility to make functions

Variables

const unsigned int ARTICULATION_PARAMETER_TYPE_METRIC_MASK = 0x001F
+

Detailed Description

+Copyright goes here License goes here
Author:
John K. Grant

+Michael Guerrero

+Copyright goes here License goes here
Author:
John K. Grant
+ +

+


Enumeration Type Documentation

+ +
+
+ + + + +
enum DIS::Endian
+
+
+ +

+the order of bytes that are on the left +

+

Enumerator:
+ + + +
LITTLE  +
BIG  +
+
+ +
+

+ +

+
+ + + + +
enum DIS::PDUType
+
+
+ +

+

Enumerator:
+ + + + + + + + + + + + + + + + + + + + + + + +
PDU_OTHER  +
PDU_ENTITY_STATE  +
PDU_FIRE  +
PDU_DETONATION  +
PDU_COLLISION  +
PDU_SERVICE_REQUEST  +
PDU_RESUPPLY_OFFER  +
PDU_RESUPPLY_RECEIVED  +
PDU_RESUPPLY_CANCEL  +
PDU_REPAIR_COMPLETE  +
PDU_REPAIR_RESPONSE  +
PDU_CREATE_ENTITY  +
PDU_REMOVE_ENTITY  +
PDU_START_RESUME  +
PDU_STOP_FREEZE  +
PDU_ACKNOWLEDGE  +
PDU_ACTION_REQUEST  +
PDU_ACTION_RESPONSE  +
PDU_DATA_QUERY  +
PDU_SET_DATA  +
PDU_EVENT_REPORT  +
PDU_COMMENT  +
+
+ +
+

+


Function Documentation

+ +
+
+
+template<class BaseT , class DerivedT >
+ + + + + + + + +
BaseT* DIS::CreateImplementation (  )  [inline]
+
+
+ +

+a utility to make functions +

+ +

+

+


Variable Documentation

+ +
+
+ + + + +
const unsigned int DIS::ARTICULATION_PARAMETER_TYPE_METRIC_MASK = 0x001F
+
+
+ +

+the mask that will leave only the typemetric from an integer representing the Articulation Parameter's parameter type. this mask is based on the IEEE Std 1278.1-1995 +

+

+

+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/namespacemembers.html b/CppUtils/docs/html/namespacemembers.html new file mode 100644 index 00000000..3dd8441d --- /dev/null +++ b/CppUtils/docs/html/namespacemembers.html @@ -0,0 +1,100 @@ + + +open-dis: Class Members + + + + + +
+Here is a list of all namespace members with links to the namespace documentation for each member: +

+

    +
  • ARTICULATION_PARAMETER_TYPE_METRIC_MASK +: DIS +
  • BIG +: DIS +
  • CreateImplementation() +: DIS +
  • Endian +: DIS +
  • LITTLE +: DIS +
  • PDU_ACKNOWLEDGE +: DIS +
  • PDU_ACTION_REQUEST +: DIS +
  • PDU_ACTION_RESPONSE +: DIS +
  • PDU_COLLISION +: DIS +
  • PDU_COMMENT +: DIS +
  • PDU_CREATE_ENTITY +: DIS +
  • PDU_DATA_QUERY +: DIS +
  • PDU_DETONATION +: DIS +
  • PDU_ENTITY_STATE +: DIS +
  • PDU_EVENT_REPORT +: DIS +
  • PDU_FIRE +: DIS +
  • PDU_OTHER +: DIS +
  • PDU_REMOVE_ENTITY +: DIS +
  • PDU_REPAIR_COMPLETE +: DIS +
  • PDU_REPAIR_RESPONSE +: DIS +
  • PDU_RESUPPLY_CANCEL +: DIS +
  • PDU_RESUPPLY_OFFER +: DIS +
  • PDU_RESUPPLY_RECEIVED +: DIS +
  • PDU_SERVICE_REQUEST +: DIS +
  • PDU_SET_DATA +: DIS +
  • PDU_START_RESUME +: DIS +
  • PDU_STOP_FREEZE +: DIS +
  • PDUType +: DIS +
+
+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/namespacemembers_enum.html b/CppUtils/docs/html/namespacemembers_enum.html new file mode 100644 index 00000000..1f0efde5 --- /dev/null +++ b/CppUtils/docs/html/namespacemembers_enum.html @@ -0,0 +1,48 @@ + + +open-dis: Class Members + + + + + +
+  +

+

    +
  • Endian +: DIS +
  • PDUType +: DIS +
+
+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/namespacemembers_eval.html b/CppUtils/docs/html/namespacemembers_eval.html new file mode 100644 index 00000000..5fbc105d --- /dev/null +++ b/CppUtils/docs/html/namespacemembers_eval.html @@ -0,0 +1,92 @@ + + +open-dis: Class Members + + + + + +
+  +

+

    +
  • BIG +: DIS +
  • LITTLE +: DIS +
  • PDU_ACKNOWLEDGE +: DIS +
  • PDU_ACTION_REQUEST +: DIS +
  • PDU_ACTION_RESPONSE +: DIS +
  • PDU_COLLISION +: DIS +
  • PDU_COMMENT +: DIS +
  • PDU_CREATE_ENTITY +: DIS +
  • PDU_DATA_QUERY +: DIS +
  • PDU_DETONATION +: DIS +
  • PDU_ENTITY_STATE +: DIS +
  • PDU_EVENT_REPORT +: DIS +
  • PDU_FIRE +: DIS +
  • PDU_OTHER +: DIS +
  • PDU_REMOVE_ENTITY +: DIS +
  • PDU_REPAIR_COMPLETE +: DIS +
  • PDU_REPAIR_RESPONSE +: DIS +
  • PDU_RESUPPLY_CANCEL +: DIS +
  • PDU_RESUPPLY_OFFER +: DIS +
  • PDU_RESUPPLY_RECEIVED +: DIS +
  • PDU_SERVICE_REQUEST +: DIS +
  • PDU_SET_DATA +: DIS +
  • PDU_START_RESUME +: DIS +
  • PDU_STOP_FREEZE +: DIS +
+
+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/namespacemembers_func.html b/CppUtils/docs/html/namespacemembers_func.html new file mode 100644 index 00000000..eb288a13 --- /dev/null +++ b/CppUtils/docs/html/namespacemembers_func.html @@ -0,0 +1,46 @@ + + +open-dis: Class Members + + + + + +
+  +

+

    +
  • CreateImplementation() +: DIS +
+
+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/namespacemembers_vars.html b/CppUtils/docs/html/namespacemembers_vars.html new file mode 100644 index 00000000..29a48153 --- /dev/null +++ b/CppUtils/docs/html/namespacemembers_vars.html @@ -0,0 +1,46 @@ + + +open-dis: Class Members + + + + + +
+  +

+

    +
  • ARTICULATION_PARAMETER_TYPE_METRIC_MASK +: DIS +
+
+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/namespaces.html b/CppUtils/docs/html/namespaces.html new file mode 100644 index 00000000..b4bab110 --- /dev/null +++ b/CppUtils/docs/html/namespaces.html @@ -0,0 +1,34 @@ + + +open-dis: Namespace Index + + + + + +
+

Namespace List

Here is a list of all namespaces with brief descriptions: + +
DIS
+
+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/pages.html b/CppUtils/docs/html/pages.html new file mode 100644 index 00000000..85833b41 --- /dev/null +++ b/CppUtils/docs/html/pages.html @@ -0,0 +1,29 @@ + + +open-dis: Page Index + + + + + +
+

Related Pages

Here is a list of all related documentation pages: +
+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/struct_d_i_s_1_1_convert-members.html b/CppUtils/docs/html/struct_d_i_s_1_1_convert-members.html new file mode 100644 index 00000000..d747bf0b --- /dev/null +++ b/CppUtils/docs/html/struct_d_i_s_1_1_convert-members.html @@ -0,0 +1,37 @@ + + +open-dis: Member List + + + + + +
+

DIS::Convert Member List

This is the complete list of members for DIS::Convert, including all inherited members.

+ + + + +
ARTICULATION_PARAMETER_TYPE_METRIC_NUMBER_OF_BITSDIS::Convert [static]
GetArticulationTypeClass(int parametertype)DIS::Convert [static]
GetArticulationTypeMetric(int parametertype)DIS::Convert [static]
MakeArticulationParameterType(int typeclass, int typemetric)DIS::Convert [static]

+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/struct_d_i_s_1_1_convert.html b/CppUtils/docs/html/struct_d_i_s_1_1_convert.html new file mode 100644 index 00000000..135ef043 --- /dev/null +++ b/CppUtils/docs/html/struct_d_i_s_1_1_convert.html @@ -0,0 +1,162 @@ + + +open-dis: DIS::Convert Struct Reference + + + + + +
+

DIS::Convert Struct Reference

a name-scope for conversion functions. +More... +

+#include <Conversion.h> +

+ +

+List of all members. + + + + + + + + + + + +

Static Public Member Functions

static int MakeArticulationParameterType (int typeclass, int typemetric)
static int GetArticulationTypeMetric (int parametertype)
static int GetArticulationTypeClass (int parametertype)

Static Public Attributes

static const unsigned char ARTICULATION_PARAMETER_TYPE_METRIC_NUMBER_OF_BITS = 5
+


Detailed Description

+a name-scope for conversion functions.

Member Function Documentation

+ +
+
+ + + + + + + + + +
int Convert::GetArticulationTypeClass (int  parametertype  )  [static]
+
+
+ +

+extract the data for the type class value stored within the parameter type value. this an inverse to the function, MakeArticulationParameterType.

Parameters:
+ + +
parametertype the value storing the type metric and type class values.
+
+
Returns:
the type class value, with ARTICULATION_PARAMETER_TYPE_METRIC_NUMBER_OF_BITS bits precision
+ +
+

+ +

+
+ + + + + + + + + +
int Convert::GetArticulationTypeMetric (int  parametertype  )  [static]
+
+
+ +

+extract the data for the type metric value stored within the parameter type value. this an inverse to the function, MakeArticulationParameterType.

Parameters:
+ + +
parametertype the value storing the type metric and type class values.
+
+
Returns:
the type metric value, with ARTICULATION_PARAMETER_TYPE_METRIC_NUMBER_OF_BITS bits precision.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
int Convert::MakeArticulationParameterType (int  typeclass,
int  typemetric 
) [static]
+
+
+ +

+make the value needed for the ArticulationParameter's Parameter Type.

Parameters:
+ + + +
typeclass the enumeration for the articulated part. This must have less precision than ARTICULATION_PARAMETER_TYPE_METRIC_NUMBER_OF_BITS.
typemetric the enumeration for the motion description. this must have less precision than 32 - ARTICULATION_PARAMETER_TYPE_METRIC_NUMBER_OF_BITS.
+
+
Returns:
the value to be used as the Parameter Type, with 32 bits precision.
+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
const unsigned char DIS::Convert::ARTICULATION_PARAMETER_TYPE_METRIC_NUMBER_OF_BITS = 5 [static]
+
+
+ +

+the number of bits used to store the type metric value within the Articulation Parameter's parameter type value. this mask is based on the IEEE Std 1278.1-1995 +

+

+


The documentation for this struct was generated from the following files:
    +
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/Conversion.h
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/CppUtils/DIS/Conversion.cpp
+
+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/tab_b.gif b/CppUtils/docs/html/tab_b.gif new file mode 100644 index 00000000..0d623483 Binary files /dev/null and b/CppUtils/docs/html/tab_b.gif differ diff --git a/CppUtils/docs/html/tab_l.gif b/CppUtils/docs/html/tab_l.gif new file mode 100644 index 00000000..9b1e6337 Binary files /dev/null and b/CppUtils/docs/html/tab_l.gif differ diff --git a/CppUtils/docs/html/tab_r.gif b/CppUtils/docs/html/tab_r.gif new file mode 100644 index 00000000..ce9dd9f5 Binary files /dev/null and b/CppUtils/docs/html/tab_r.gif differ diff --git a/CppUtils/docs/html/tabs.css b/CppUtils/docs/html/tabs.css new file mode 100644 index 00000000..ab02c624 --- /dev/null +++ b/CppUtils/docs/html/tabs.css @@ -0,0 +1,105 @@ +/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */ + +DIV.tabs +{ + float : left; + width : 100%; + background : url("tab_b.gif") repeat-x bottom; + margin-bottom : 4px; +} + +DIV.tabs UL +{ + margin : 0px; + padding-left : 10px; + list-style : none; +} + +DIV.tabs LI, DIV.tabs FORM +{ + display : inline; + margin : 0px; + padding : 0px; +} + +DIV.tabs FORM +{ + float : right; +} + +DIV.tabs A +{ + float : left; + background : url("tab_r.gif") no-repeat right top; + border-bottom : 1px solid #84B0C7; + font-size : 80%; + font-weight : bold; + text-decoration : none; +} + +DIV.tabs A:hover +{ + background-position: 100% -150px; +} + +DIV.tabs A:link, DIV.tabs A:visited, +DIV.tabs A:active, DIV.tabs A:hover +{ + color: #1A419D; +} + +DIV.tabs SPAN +{ + float : left; + display : block; + background : url("tab_l.gif") no-repeat left top; + padding : 5px 9px; + white-space : nowrap; +} + +DIV.tabs INPUT +{ + float : right; + display : inline; + font-size : 1em; +} + +DIV.tabs TD +{ + font-size : 80%; + font-weight : bold; + text-decoration : none; +} + + + +/* Commented Backslash Hack hides rule from IE5-Mac \*/ +DIV.tabs SPAN {float : none;} +/* End IE5-Mac hack */ + +DIV.tabs A:hover SPAN +{ + background-position: 0% -150px; +} + +DIV.tabs LI.current A +{ + background-position: 100% -150px; + border-width : 0px; +} + +DIV.tabs LI.current SPAN +{ + background-position: 0% -150px; + padding-bottom : 6px; +} + +DIV.navpath +{ + background : none; + border : none; + border-bottom : 1px solid #84B0C7; + text-align : center; + margin : 2px; + padding : 2px; +} diff --git a/CppUtils/docs/html/todo.html b/CppUtils/docs/html/todo.html new file mode 100644 index 00000000..7a62b4ed --- /dev/null +++ b/CppUtils/docs/html/todo.html @@ -0,0 +1,34 @@ + + +open-dis: Todo List + + + + + +
+

Todo List

+
Member DIS::IncomingMessage::RemoveProcessor (unsigned char id, const IPacketProcessor *pp)
+
add proper support for erasing from a multimap.
+
+

+

+
Member DIS::PduBank::GetStaticPDU (DIS::PDUType pdu_type)
+
make this parameter just 'unsigned char' since that will be easier to generate.
+
+
+
Generated on Mon Jun 29 21:47:15 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/CppUtils/docs/html/tree.html b/CppUtils/docs/html/tree.html new file mode 100644 index 00000000..f7835a95 --- /dev/null +++ b/CppUtils/docs/html/tree.html @@ -0,0 +1,118 @@ + + + + + + + TreeView + + + + +
+

open-dis

+
+

o*Todo List

+

o+Class List

+ +

o+Class Hierarchy

+ +

o*Class Members

+

o+Namespace List

+
+

|\*DIS

+
+

o*Namespace Members

+

o+File List

+ +

\*File Members

+
+
+ diff --git a/DISDescription b/DISDescription new file mode 160000 index 00000000..6ff1b088 --- /dev/null +++ b/DISDescription @@ -0,0 +1 @@ +Subproject commit 6ff1b0889dcf6053cf654f07f4773ff67ae48109 diff --git a/DISIntro.html b/DISIntro.html new file mode 100644 index 00000000..d563f321 --- /dev/null +++ b/DISIntro.html @@ -0,0 +1,1015 @@ + + + + + Distributed Interactive Simulation + + +
Distributed +Interactive Simulation
+IEEE Std 1278

+
+
+
+Introduction
+The Problem
+Entity State PDU
+Other PDUs
+Networking
+Heartbeat
+Examples
+
+Introduction
+
+Distributed Interactive Simulation (DIS) is an open standards network +protocol used in military simulations. It can be used to set the +position, orientation, and speed of entities in a virtual world. It is +a peer-to-peer architecture, with no central server, and can be used +with multicast, UDP, and TCP network transports.
+
+You can find open source implementations of DIS for Java and C++ at the +XMSF project, +hosted at sourceforge.net. There are actually more than one +implementations that have been developed over the years.
+
+
    +
  • DIS-XML is a Java language implementation that is capable of +reading and writing the information contained in the DIS protocol in an +XML format. It also reads and writes information in the IEEE standard +binary format.
  • +
  • XML Multi-Language Protocol Generator (XMLPG) is a general +purpose tool that writes parallel Java and C++ protocol +implementations. As an example parts of the DIS protocol have been +implemented with this tool.
  • +
  • DIS-Java is a conventional, hand-written implementation of DIS in +the Java language. It is unlikely to be further maintained.
    +
  • +
+Which one you choose to use depends on your needs. If you just want a +Java implementation, or want to archive to  an XML representation +of DIS, DIS-XML is probably the way to go. If you want to use C++, or +both Java and C++, XMLPG's implementation of DIS should be your choice. +Both implementations use a BSD open source license.
+
+The Problem
+
+Suppose you have two computers, each of which controls a tank in a +virtual environment. You want to draw your own tank in the 3D world in +which it is placed; this is easy enough, since you know its position +and orientation. What you need is the information about the other tank. +This needs to be transmitted across the network, typically using +sockets of one sort or another. Likewise, you must send your own +information to the other entity so that simulator can draw your tank +accurately.
+
+
+Tank Picture                       +Tank Picture
View from Computer 1                                 +View from Computer 2
+
+What information needs to be passed? The approach used in DIS is to +sent out a binary format packet containing nearly all the entity's +state information. This includes the entity's position, orientation, +and velocity, and information about what type of entity this is. This +is the most frequently used packet in DIS, accounting for well over 90% +of DIS's network traffic. It is called the Entity State Protocol Data +Unit (ESPDU).
+
+Entity State Protocol Data +Unit
+
+Periodically the software controlling an entity will send out an ESPDU. +In the example above, one computer is controlling a tank in an armored +platoon. The software on that computer will send out an ESPDU as often +as needed to keep the other computers in the overall simulation +informed about its location. All other computers in the simulation do +the same thing for entities under their control.
+
+The basics of the ESPDU are reasonably straightforward. The paragraphs +below discuss the various major parts and how to use them.
+
+The PDU header contains +information that is common to all  PDUs, including non-ESPDUs. +This includes:
+
+
    +
  • IEEE DIS Protocol Version
  • +
  • Exercise ID
  • +
  • PDU Type ( = 1 for ESPDUs)
  • +
  • Protocol Family (=1 for ESPDUs)
  • +
  • Timestamp
  • +
  • Length of PDU in bytes (typically 144 bytes)
  • +
+The protocol version refers to the revision of the IEEE standard being +used. The 1998 revision of the DIS standard uses a version number of 6.
+
+The exercise ID refers to an identifier for an exercise being conducted +on a network. For example, a one group on a network may be running a +simulation of tank combat in central Europe, while another group might +be conducting a simulation of naval warfare in the Persian Gulf. Each +exercise is given a unique identifer so the ESPDUs from one simulation +can be easily distinguished from ESPDUs from another.
+
+DIS has over a hundred different types of PDUs in addition to the +ESPDU. Each type of PDU is given a unique identifier. The identifier +assigned to ESPDUs is 1.
+
+The many PDUs defined in the standard are grouped into families of +related PDUs, such as electromagnetic warfare or logistics. The ESPDU +is in the "Entity Information/Interaction" family, and has an +identifier of 1.
+
+Because ESPDUs very often use multicast or UDP as a network transport +it is possible that packets will arrive out of order or be duplicated. +The timestamp field is used to reduce the impact of these events. Often +client software will be configured to discard packets if the timestamp +precedes that of the last packet received from that entity. For +example, suppose a packet arrives for an entity with a timestamp value +of 42. Shortly afterwards, a packet for that entity arrives with a +timestamp of 41. Very often a client will assume that a problem has +occured in the transport layer, and that the more recently arrived +packet with a timestamp of 41 actually represents older data. It is +therefore discarded. The same assumption may be applied to packets with +the same timestamp as the previous packet--the software may assume that +the PDU is a duplicate and discard it.
+
+The implications of this for the application programmer are important. +It means that if you send a stream of ESPDU updates, you must increase the timestamp field. +Otherwise, the receiving software is likely to discard every packet +after the first.
+
+Officially, the timestamp represents the time at which the ESPDU was +generated. For most interactive virtual simulations this is  +represented by UTC time. The units are 1.676 microseconds per tick, and +the least significant bit of the field should be set to 1 in order to +specify that absolute time is being used. In practice, so long as you +are working only with ESPDUs generated by you, it's simpler to just use +the Unix convention for time of seconds or milliseconds since January +1, 1970. This is the value returned by most system calls that determine +the time. In modern implementations this is a long, while the timestamp +field is a 4 byte integer, but you can simply take the lowest four +bytes, or do a cast, which will work until the year 2038. In a pinch +you can simply increase the timestamp by one every time you send a new +ESPDU, though this is much less reliable and does a lot more violence +to the standard.
+
+The length is the length of +the PDU, in bytes. this is usually 144 bytes for an ESPDU, but you +should add 16 bytes to the length for every instance of Articulation +Parameter added to the PDU.
+
+The EntityID is the next +major part of the ESPDU. Every update sent out is tied to a specific +entity in the world, so we need a unique identifier for every one of +those entities. This is what the Entity ID provides. The entity ID is a +triplet of three numbers, the site, application, and entity. Imagine a +large distributed simulation with sites at Fort Benning and Fort +Campbell. ESPDUs originating from each site would be assigned a site +ID. A single simulation might have several applications (a tank +simulator, a helicopter simulator) and each of those applications is +also assigned an identifier. Finally, within each application, the +application is responsible for handing out unique entity identifiers. +The combination of these thre--site, application, and entity--combines +to form a unique identifier for every entity in the virtual world.
+
+Typically on arrival an ESPDU is examined and the entityID extracted. +Based on this information the new state information is sent to a +programming language object that represents that entity.
+
+The Force ID represents the +"side" the entity is on. A value of 1 means the entity is friendly, 2 +is opposinng, and 3 is neutral.
+
+While a vehicle or entity may be placed in the world with the correct +orientation, there may be parts attached to the entity pointing in +different directions. A tank may have its turret rotated, and the gun +elevated. Articulation parameters are designed to handle this case. +They allow the programmer to specify the orientation of attached parts. +Since there may be a variable number of articulation parameters, the articulation parameter count field +provides a way to specify how many articulation parameters are included.
+
+The Entity Type field is a +multi-value structure that defines exactly what an entity is. The +Entity Kind subfield identifies the entity in very broad terms--as a +life form, a platform, a munition, a cultural feature, a supply, a +radio emmission, etc.  The domain +subfield identifies where an entity operates; typical values are +surface, subsurface, air, land, etc.) The country subfield identifies the +country to which the design of the entity is attributed. The US has an +enumerated value of 225, the UK one of 224, Turkey of 218, Greece of +82, Iran of 101, etc.  The Category, +Subcategory, and Specific +subfield's interpretation depends on the preceding kind, domain, and +country fields. US equipment should have a kind value of 1 and a +country value of 225. Within that context, a category value of 1 means +tanks, a subcategory of 1 means an M1 Abrams, and a specific of 3 means +an M1A2 Abrams, a specific field value of 4 means an M1A1 with mine +rollers, etc. If the country code changes, to the UK for example, these +enumerated values may have completely different meanings in the context +of UK equipment, perhaps describing Challenger tanks rather than M1 +tanks. The enumerated values for these fields is described in the +Institute for Simulation and Training document entitled Enumeration and Bit Encoding Values for +Use with Protocols for Distributed Interactive Simulation Applications.
+
+The Alternative Entity Type +field of ESPDU contains the same information, but as it appears to +forces other than those of the issuing entity. This allows for some +degree of deception; an entity can claim that opposing forces should +see a M1A1 tank as an M1A2 tank, for example.
+
+The Entity Linear Velocity field +describes the entities velocity in the form of a vector with three +values. Officially, the DIS standard specifies a coordinate system with +its origin at the earth's center, the Z-axis pointing up through the +north pole, the X-axis pointing out through the equator and prime +meridian, and the Y-axis pointing out at the 90 degree east meridian. +Many simulations simply use their own, arbitrary coordinate systems, +though.
+
+The Entity Location field is +used to describe the entity's location in a 3-value vector of double +precision floating point values. As mentioned, the coordinate system is +offically located at the earth's center, but other coordinate systems +can be used.
+
+The Entity Orientation field +describes the entity's rotation when located at a particular point in +space. The three values, psi, theta, and phi, describe the order and +axis about which the entity should be rotated, using units of radians. +First, the entity is rotated aroudn the z axis by psi; then, about the +y axis by theta; and finally around the x axis by phi. Note that the +order in which these rotations are performed is significant. Psi and +phi can vary from negative pi to pi randians, while theta can range +from +/- pi/2.
+
+The Entity Appearance field +is a series of bit-flags that help software accurately draw the entity. +The 0th bit position, for example, specifies whether the vehicle should +be drawn with a uniform color or with camouflage. Bit positions 5-6 +specify whether and how much the entity is smoking.
+
+Dead Reckoning Parameters +provide the system with information to fill in the gaps between +arrivals of entity state PDUs. One of the subfields is the dead reckoning algorithm field, +which specifies what system is to be used. A value of 1 means no dead +reckoning should be performed; a value of 2 means that only velocity +should be used for dead reckoning; a value of 5 means that both +velocity and acceleration should be used. The Other parameters field +allows 120 bits of specialized dead reckoning data to be passed. The linear and angular velocity subfields provide +more information for the dead reckoning implementation.
+
+Entity Marking allows a few +characters to be sent along with the PDU. This can be useful for +debugging, or for drawing a unit number or vehicle number on an entity.
+
+The capabilties field is +another series of bit-flags, mostly used for logistics simulations.
+
+The articulation parameters are a variable length list. The list length +is defined by the articulation parameter count field. As mentioned, the +articulation parameters allow the user to describe the orientation of +parts attached to the entity, such as turrets or gun elevations.
+
+Other PDUs
+
+The ESPDU accounts for, typically, over 95% of the PDU traffic. There +are other PDUs, however, including those that simulation logistics or +electronic warfare.
+
+Networking
+
+Any network transport can be used to send DIS packets. On older +simulations hosted on a single machine even things like shared memory +have been used to send PDUs. But today most DIS PDU traffic goes across +the network.
+
+On a single LAN or within a single campus it is typical to use +multicast, and place one PDU inside of each multicast packet. At NPS we +have a habit of using multicast group 239.1.2.3 on port 62040. The +multicast group should typically be in the 239.x.x.x range; this is +defined as a site-local multicast group and is not routed off the local +site. If you must cross a router, be sure that the Time to Live value +in the network packet is set to an appropriate number of hops. To cross +a router it should be set to at least two when sent.
+
+Multicast is not usually available on the big internet. In that +situation you can use unicast UDP. This is inherently less efficient, +since you must send an individual ESPDU update packet to each host in +the simulation.
+
+You can also use TCP sockets. However, this is not a prefered solution +for interactive systems. TCP, if it drops a packet, will resend data, +and may have pathological behavior in the face of unreliable networks.
+
+If you're adventurous you can use DIS-XML to place DIS packets into XML +format and send DIS packets across an XMPP (chat) backbone.
+
+Heartbeat
+
+Because DIS is a peer-to-peer system, there is no one place a host that +has just joined the system can go to get a list of all the participants +in a simulation. Instead, a new host simply listens for ESPDU packets, +and builds up its knowledge of the world via the ESPDUs it receives. +However, if an enitity sends out no PDUs, it cannot be discovered. To +solve this problem an entity is required to send out an ESPDU at least +once every five seconds, whether it moves or "needs" to or not.
+
+Examples
+
+Some example code using different DIS APIs follows.
+
+First of all, DIS-XML, a Java API. This example that moves an entity +with an ID of (0,1,2) along the X-axis.
+
+import +org.web3d.xmsf.dis.*;
+import +org.web3d.xmsf.disutil.*;
+
+import +java.io.*;
+import +java.math.*;
+import +java.net.*;
+import +java.util.*;
+
+/**
+ * The +objective here is to be as simply as possible generate DIS entity state +PDUs with
+ * +minimally interesting behavior, and send them out on the network. As +such a lot of
+ * stuff +is stripped out.<p>
+ *
+ * This +generates entity state PDUs (espdus) that drives an entity along the +x-axis, with
+ * some +orientation changes.<p>
+ *
+ * +@author DMcG
+ */
+public class +SimpleDriver extends Object
+{
+    +public static void main(String args[])
+    +{
+          +EntityStatePduType  espdu;
+          +MulticastSocket socket;
+          +InetAddress     address;
+          +DatagramPacket  packet;     // The +UDP/Multicast packet we will send
+          +byte            +buffer[];   // Holds binary format DIS packet
+
+          +try
+          +{
+              +// The PduFactory is where we go to get new instances of PDUs; it works +as
+              +// something like a constructor in that it initializes the PDUs.
+              +PduFactory pduFactory = new PduFactory();
+
+              +// The DisMarshaller is responsible for converting a Java DIS object +into
+              +// DIS-compliant binary format.
+              +DisMarshaller disMarshaller = new DisMarshaller();
+
+              +// Create a new entity state PDU. this will be re-used below, with only
+              +// some values changed. We set the ID for this to be (0,1,2), the unique
+              +// identifer in the DIS world of that entity.
+              +espdu = pduFactory.getEntityStatePdu();
+              +EntityIDType id = espdu.getEntityID();
+              +id.setSite(0);
+              +id.setApplication(1);
+              +id.setEntity(2);
+
+              +// Create a new multicast socket to send data
+              +socket = new MulticastSocket(1234);
+              +socket.joinGroup(InetAddress.getByName("239.1.2.3"));
+
+
+              +// loop forever, moving the entity along the x-axis and rotating it.
+
+              +while(true)
+              +{
+                  +// Move along the x-axis, left to right, in 100 steps.
+
+                  +for(int idx = -50; idx < 50  ; idx++)
+                  +{
+                      +Vector3Double location = espdu.getEntityLocation();
+
+                      +// update location
+                      +location.setX((double)idx);
+                      +location.setY(0.0);
+                      +location.setZ(0.0);
+
+                      +// Modify the enity orientation. The units are in radians
+                      +EulerAnglesType eulers = espdu.getEntityOrientation();
+                      +eulers.setPhi((float)((float)idx / 6.0));
+
+
+                      +// This updates the timestamp to make it current. Since UDP and +multicast may
+                      +// deliver packets out of order, this is a safety measure that allows +us to throw
+                      +// away packets older than what we've already received. This is actually
+                      +// non-DIS-compliant; the packet expects to be set to the wall clock +time.
+                      +// However, the xj3d browser (and many others) are only checking that +the
+                      +// timestamp is monotonically increasing; it throws away packets that +have
+                      +// lower timestamps than have already been processed.
+                      +espdu.getPduHeader().setTimestamp(idx);
+
+                      +// Set the PDU length
+                      +espdu.getPduHeader().setLength((short)144);
+
+                      +// There are a lot of other things we can (and should!) set here, +including
+                      +// the entity type. But this is OK for an example.
+
+                      +// Marshall the Java DIS object to DIS binary format. This updates the +timestamp
+                      +// automatically; to do without this use marshallPdu().
+                      +buffer = disMarshaller.marshallPduToSend(espdu);
+
+
+                      +// And create a UDP packet sent to the node specified in the .x3dv file.
+                      +packet = new DatagramPacket(buffer, buffer.length,
+                                                  +InetAddress.getByName("239.1.2.3"),
+                                                  +62040);
+
+                      +// And finally send it.
+                      +socket.send(packet);
+
+                      +// It moves right along without this. Sleep for 30 ms to slow things +down.
+                      +Thread.sleep(75);
+                  +}
+                  +//Thread.sleep(2000);
+              +}
+      +}
+      +catch(Exception e)
+      +{
+          +System.out.println(e);
+      +}
+    +}
+}
+

+
+
+The next example uses the code generated by XMLPG. This API does not +read or write XML.
+
+
+import +java.io.*;
+import +java.net.*;
+import +java.util.*;
+
+import +edu.nps.moves.dis.*;
+
+/**
+ * +Creates and sends ESPDUs generated by the XML file.
+ *
+ * +@author DMcG
+ */
+public class +EspduSender
+{
+    +public static final String MULTICAST_GROUP="239.1.2.3";
+    +public static final int    PORT = 62040;
+    +
+public static +void main(String args[])
+{
+    +EntityStatePdu espdu = new EntityStatePdu();
+    +MulticastSocket socket;
+    +InetAddress     address;
+    +
+    +espdu.setProtocolVersion((short)6);
+    +espdu.setExerciseID((short)0);
+    +espdu.setPduType((short)1);
+    +espdu.setProtocolFamily((short)1);
+    +espdu.setLength(144);
+    +
+    +// The EID is the unique identifier for objects in the world. This
+    +// EID should match up with the ID for the object specified in the
+    +// VMRL/x3d world.
+    +EntityID eid = espdu.getEntityID();
+    +eid.setSite(0);
+    +eid.setApplication(1);
+    +eid.setEntity(2);
+
+    +try
+    +{
+        +socket = new MulticastSocket(PORT);
+        +address = InetAddress.getByName(MULTICAST_GROUP);
+        +socket.joinGroup(address);
+        +
+        +while(true)
+        +{
+            +for(int idx = 0; idx < 100; idx++)
+            +{
+                +// The timestamp should be monotonically increasing. Many +implementations
+                +// discard packets that have earlier timestamps (assumption is that it
+                +// arrived out of order) or non-increasing timestamp (dupe packet).
+                +long timestamp = espdu.getTimestamp();
+                +timestamp++;
+                +espdu.setTimestamp(timestamp);
+                +
+                +// Modify the x-axis position of the object
+                +Vector3Double location = espdu.getEntityLocation();
+                +location.setX(idx);
+                +location.setY(idx);
+                +
+                +// Do some rotation to make sure that works
+                +Orientation orientation = espdu.getEntityOrientation();
+                +float psi = orientation.getPsi();
+                +psi = psi + idx;
+                +orientation.setPsi(psi);
+                +orientation.setTheta((float)(orientation.getTheta() + idx /2.0));
+                +
+                +// Marshal out the object to a byte array, then send a datagram
+                +// packet with that data in it.
+                +ByteArrayOutputStream baos = new ByteArrayOutputStream();
+                +DataOutputStream dos = new DataOutputStream(baos);
+                +espdu.marshal(dos);
+                +byte[] data = baos.toByteArray();
+                +DatagramPacket packet = new DatagramPacket(data, data.length, address, +PORT);
+                +
+                +socket.send(packet);
+                +Thread.sleep(1000);
+                +
+                +System.out.println("Moving espdu");
+            +}
+        +}
+    +}
+    +catch(Exception e)
+    +{
+        +System.out.println(e);
+    +}
+}
+
+}

+
+In both cases the procedure is relatviely straightforward: create a new +object, set the fields, then marshal it out to a byte array and put it +into a datagram packet.
+
+The C++ code for receiving DIS from te network with the XMLPG-generated +API is as follows:
+
+#include +<DIS/IncomingMessage.h>
+#include +<DIS/IPacketProcessor.h>
+#include +<DIS/Pdu.h>
+#include +<DIS/DataStream.h>
+#include +<iostream>
+
+using +namespace DIS;
+
+IncomingMessage::IncomingMessage()
+{
+}
+
+IncomingMessage::~IncomingMessage()
+{
+}
+
+void +IncomingMessage::Process(const char* buf, unsigned int size, Endian e)
+{
+   +if( size < 1 )
+   {
+      +return;
+   }
+
+   +// assumes the location in the buffer is the packet id.
+   +PacketProcessorContainer::iterator iter = _processors.find( buf[2] );
+
+   +if( iter != _processors.end() )
+   {
+      +DataStream ds( e );
+      +ds.SetBuffer( buf , size , e );
+      +Pdu* pdu = _factory.CreatePacket( buf[2] );
+      +pdu->unmarshal( ds );
+      +(iter->second)->Process( *pdu );
+      +delete pdu;
+   }
+   +else
+   {
+      +std::cerr << "no registered processor for id = " << buf[0] +<< std::endl;
+   }
+}
+
+///\warning +erases any processor registered for the id
+bool +IncomingMessage::RemoveProcessor(char id, const IPacketProcessor* pp)
+{
+   +return _processors.erase( id );
+}
+
+IncomingMessage::PacketProcessorContainer& +IncomingMessage::GetProcessors()
+{
+   +return _processors;
+}
+
+const +IncomingMessage::PacketProcessorContainer& +IncomingMessage::GetProcessors() const
+{
+   +return _processors;
+}
+
+PacketFactory& +IncomingMessage::GetFactory()
+{
+   +return _factory;
+}
+
+const +PacketFactory& IncomingMessage::GetFactory() const
+{
+   +return _factory;
+}

+
+
+
+ + diff --git a/Example/Connection.cpp b/Example/Connection.cpp new file mode 100644 index 00000000..75c38fb2 --- /dev/null +++ b/Example/Connection.cpp @@ -0,0 +1,108 @@ +#include +#include + +#include + +using namespace Example; + +void Connection::Connect(unsigned int port, const std::string& host) +{ + NLboolean success = nlInit(); + + if (!success) + { + HandleError(); + return; + } + + if (nlSelectNetwork(NL_IP) == NL_INVALID) + { + LOG_ERROR("Can't select network type"); + } + + NLaddress maddr; + if (nlStringToAddr(host.c_str(), &maddr) == NL_INVALID ) + { + std::ostringstream strm; + strm << "Can't get address for : " + host + ". " + << "Error:" << nlGetErrorStr(nlGetError()) + << ". System: " << nlGetSystemErrorStr(nlGetSystemError()); + LOG_ERROR( strm.str() ); + } + + nlSetAddrPort(&maddr, port); + + nlHint(NL_MULTICAST_TTL, NL_TTL_LOCAL); + nlHint(NL_REUSE_ADDRESS, NL_TRUE); + + mSocket = nlOpen(port, NL_UDP_MULTICAST); + + if(mSocket == NL_INVALID) + { + std::ostringstream strm; + strm << "Can't open socket: " << nlGetErrorStr(nlGetError()) + << ". System: " << + nlGetSystemErrorStr(nlGetSystemError()); + LOG_ERROR( strm.str() ) + } + + if(nlConnect(mSocket, &maddr) == NL_FALSE) + { + nlClose(mSocket); + + std::ostringstream strm; + strm << "Can't connect to socket: " << nlGetErrorStr(nlGetError()) + << ". System: " << nlGetSystemErrorStr(nlGetSystemError()); + LOG_ERROR( strm.str() ); + } +} + +void Connection::Disconnect() +{ + nlShutdown(); +} + +void Connection::Send(const char* buf, size_t numbytes) +{ + if( numbytes < 1 ) + { + return; + } + + if (int ret = nlWrite(mSocket, (NLvoid *)buf, numbytes )) + { + if (ret == 0) + { + LOG_WARNING("Network buffers are full"); + } + else if (ret == NL_INVALID) + { + std::ostringstream strm; + strm << "Problem sending: "; + LOG_ERROR(strm.str() + nlGetErrorStr(nlGetError()) + + ". System: " + nlGetSystemErrorStr(nlGetSystemError()) ); + } + } +} + +size_t Connection::Receive(char* buf, size_t numbytes) +{ + NLint result = nlRead(mSocket, (NLvoid *)buf, (NLint)numbytes); + + if ( result == NL_INVALID ) + { + HandleError(); + return 0; + } + + return result; +} + +void Connection::HandleError() +{ + NLenum error = nlGetError(); + const NLchar* errorString = nlGetErrorStr( error ); + + LOG_ERROR("A network error occurred: " + std::string(errorString)); +} + + diff --git a/Example/Connection.h b/Example/Connection.h new file mode 100644 index 00000000..276dcde4 --- /dev/null +++ b/Example/Connection.h @@ -0,0 +1,38 @@ +#ifndef _example_dis_connection_h_ +#define _example_dis_connection_h_ + +#include // for member & implementation +#include // for param +#include // for size_t definition + + +namespace Example +{ + /// the value for a typical ethernet connection's maximum transfer unit. + const unsigned int MTU_SIZE = 1500; + + /// makes a multicast connection to support DIS networks. + /// requires the HawkNL socket library. + /// http://www.hawksoft.com/hawknl/ + class Connection + { + public: + void Connect(unsigned int port, const std::string& host); + void Disconnect(); + + void Send(const char* buf, size_t numbytes); + + /// allocates buf with size numbytes. + /// @param buf the buffer to be written to with network bytes + /// @param numbytes the maximum index used for the buffer (buf) + /// @return the number of bytes read from the connection + size_t Receive(char* buf, size_t numbytes); + + private: + void HandleError(); + + NLsocket mSocket; + }; +} + +#endif // _example_dis_connection_h_ diff --git a/Example/EntityStatePduProcessor.cpp b/Example/EntityStatePduProcessor.cpp new file mode 100644 index 00000000..2cd9fa2e --- /dev/null +++ b/Example/EntityStatePduProcessor.cpp @@ -0,0 +1,19 @@ +#include + +#include + +using namespace Example; + +void EntityStatePduProcessor::Process(const DIS::Pdu& packet) +{ + const DIS::EntityStatePdu& espdu = static_cast( packet ); + if( espdu.getTimestamp() % 10 ) + { + const DIS::Vector3Double& position = espdu.getEntityLocation(); + std::cout << "x:" << position.getX() + << "\ty:" << position.getY() + << "\tz:" << position.getZ() + << std::endl; + } +} + diff --git a/Example/EntityStatePduProcessor.h b/Example/EntityStatePduProcessor.h new file mode 100644 index 00000000..924d0088 --- /dev/null +++ b/Example/EntityStatePduProcessor.h @@ -0,0 +1,18 @@ +#ifndef _example_entity_state_pdu_processor_h_ +#define _example_entity_state_pdu_processor_h_ + +#include // for typedef +#include // for base class + +namespace Example +{ + class EntityStatePduProcessor : public DIS::IPacketProcessor + { + public: + typedef DIS::EntityStatePdu PduType; + + void Process(const DIS::Pdu& packet); + }; +} + +#endif // _example_entity_state_pdu_processor_h_ diff --git a/Example/Logging.h b/Example/Logging.h new file mode 100644 index 00000000..498009a2 --- /dev/null +++ b/Example/Logging.h @@ -0,0 +1,12 @@ +#ifndef _example_logging_h_ +#define _example_logging_h_ + +#include + +#define LOG_ERROR(text) \ + std::cerr << text << std::endl; + +#define LOG_WARNING(text) \ + std::cerr << text << std::endl; + +#endif // _example_logging_h_ diff --git a/Example/Readme.txt b/Example/Readme.txt new file mode 100644 index 00000000..55125239 --- /dev/null +++ b/Example/Readme.txt @@ -0,0 +1,21 @@ +This is an example usage of the DIS implementation. +It shows how to send/receive data to a DIS network. + +The main idea is to use the library to pack and send/receive data. +The example socket implementation is outside the scope +of the DIS implementation, but provided so that the +testing is complete. This socket implementation depends +upon the HawkNL library. Please visit +http://www.hawksoft.com/hawknl/ +for information about how to download, build, and install the SDK. +I am using version 1.68 of HawkNL. + +When compiling, the project files reference the following environment variables: +HAWKNL_INC_DIR +HAWKNL_LIB_DIR + +For example, if the package was located at the following: +C:\hawknl1.68 +Then the environment variables could be defined as such: +HAWKNL_INC_DIR=C:\hawknl1.68\include +HAWKNL_LIB_DIR=C:\hawknl1.68\lib diff --git a/Example/Timer.cpp b/Example/Timer.cpp new file mode 100644 index 00000000..b2203430 --- /dev/null +++ b/Example/Timer.cpp @@ -0,0 +1,40 @@ + +#include +#include + +using namespace Example; + +const double MILLI = 0.001; +const double MICRO = 0.000001; + +void Timer::Update() +{ + nlTime( &_time_of_day ); +} + +NLlong Timer::GetCurrentSeconds() const +{ + return _time_of_day.useconds; +} + +NLlong Timer::GetCurrentMSeconds() const +{ + return _time_of_day.useconds; +} + +NLlong Timer::GetCurrentUSeconds() const +{ + return _time_of_day.useconds; +} + +double Timer::GetSeconds() const +{ + //return( _time_of_day.seconds + _time_of_day.mseconds*MILLI + _time_of_day.useconds*MICRO ); + return( _time_of_day.seconds + _time_of_day.mseconds*MILLI ); + //return( _time_of_day.seconds + _time_of_day.useconds*MICRO ); +} + +NLtime Timer::GetData() const +{ + return _time_of_day; +} diff --git a/Example/Timer.h b/Example/Timer.h new file mode 100644 index 00000000..22b254d5 --- /dev/null +++ b/Example/Timer.h @@ -0,0 +1,28 @@ +#ifndef _example_timer_h_ +#define _example_timer_h_ + +#include // for member + +namespace Example +{ + /// grabs the time of day + class Timer + { + public: + void Update(); + + NLlong GetCurrentSeconds() const; + NLlong GetCurrentMSeconds() const; + NLlong GetCurrentUSeconds() const; + + // @return the time of day in seconds + double GetSeconds() const; + + NLtime GetData() const; + + private: + NLtime _time_of_day; + }; +} + +#endif // _example_timer_h_ diff --git a/Example/Utils.cpp b/Example/Utils.cpp new file mode 100644 index 00000000..e8813589 --- /dev/null +++ b/Example/Utils.cpp @@ -0,0 +1,127 @@ +#include "Utils.h" + +#ifdef WIN32 +#include +#else +#include +#endif + +#include +#include +#include + +///\todo make cross platform solution +void Example::sleep(unsigned int ms) +{ +#ifdef WIN32 + Sleep( ms ); +#else + usleep( ms*1000 ); +#endif +} + +using namespace Example; + +HeloFlightDynamics::HeloFlightDynamics(float angular_vel, + float radius, + const Point3d& ip, + float init_angle) + : _angular_velocity(angular_vel) + , _radius(radius) + , _rotation(init_angle) + , _ip(ip) +{ +} + +void HeloFlightDynamics::operator ()(double dt) +{ + _rotation += _angular_velocity * dt; + + float cos_rot = cos(_rotation); + float sin_rot = sin(_rotation); + float r_cos_rot = _radius * cos_rot; + float r_sin_rot = _radius * sin_rot; + + // set the position + position.setX( _ip.x + r_cos_rot ); + position.setY( _ip.y ); // hold this axis constant + position.setZ( _ip.z + r_sin_rot ); + + // set the velocity vector + float vx = -_angular_velocity * r_sin_rot; + velocity.setX( vx ); + velocity.setY( 0.f ); + velocity.setZ( _angular_velocity * r_cos_rot ); + + // set the orientation + orientation.setPsi( 0.f); + orientation.setTheta( 0.f); + orientation.setPhi( 30.f ); + //if( vx < 0.f ) + //{ + // orientation.setPhi( M_PI - acos(-vx) ); + //} + //else + //{ + // orientation.setPhi( acos(vx) ); + //} +} + + +TankDynamics::TankDynamics(double tv, double ev) + : _angle_primary_turret(0.f) + , _velocity_turret(tv) + , _angle_primary_gun(0.f) + , _angle_secondary_gun(0.f) + , _primary_gun_range(0.f, Example::DegreesToRadians(45.f) ) + , _secondary_gun_range(Example::DegreesToRadians(270.f), Example::DegreesToRadians(360.f) ) + , _control_elevation( 0. ) + , _control_elevation_velocity(ev) +{ +} + +void TankDynamics::Update(double dt) +{ + _angle_primary_turret += _velocity_turret * (float)dt; + + // update the gun elevation based on the sin function. + // the valid range of angles is defined in the normalized range, + // first calculate the normalized value. + _control_elevation += _control_elevation_velocity * dt; + float k = 0.5 * (sin(_control_elevation) + 1.f); + + _angle_primary_gun = _primary_gun_range.Interpolate(k); + _angle_secondary_gun = _secondary_gun_range.Interpolate(k); +} + +NormalizedRange::NormalizedRange(float l, float h) + : _low_end( l ) + , _high_end( h ) +{ +} + +float NormalizedRange::Interpolate(float k) +{ + return Example::Lerp(_low_end, _high_end, k); +} + +/// @param interval the time between alerts +TimedAlert::TimedAlert(double interval) + : _interval(interval) + , _time_elapsed( 0.0 ) +{ +} + +/// Update the internal time +bool TimedAlert::operator()(double dt) +{ + _time_elapsed += dt; + + if (_time_elapsed > _interval) + { + _time_elapsed = 0.0; + return true; + } + + return false; +} diff --git a/Example/Utils.h b/Example/Utils.h new file mode 100644 index 00000000..9f0a8a8a --- /dev/null +++ b/Example/Utils.h @@ -0,0 +1,151 @@ +#ifndef _example_utils_h_ +#define _example_utils_h_ + +#include +#include + +#define _USE_MATH_DEFINES +#include + +#include +#include +#include + +namespace Example +{ + const double PI_UNDER_180 = 180.0 / M_PI; + const double PI_OVER_180 = M_PI / 180.0; + + struct Point3d + { + float x; + float y; + float z; + }; + + + /// alerts the user when the incremented time passes a threshhold interval + struct TimedAlert + { + public: + /// @param interval the time between alerts + TimedAlert(double interval); + + /// Update the internal time + bool operator()(double dt); + + private: + TimedAlert(); ///< not implemented by design + + double _interval; + double _time_elapsed; + }; + + /// hovers in a circle + struct HeloFlightDynamics + { + /// pass the initialization parameters to affect the behavior or the model around an IP. + /// @param angular_vel the velocity for sweeping the circle, in radians / second. + HeloFlightDynamics(float angular_vel, + float radius, + const Point3d& ip, + float init_angle); + + /// @param dt the time change + void operator ()(double dt); + + DIS::Vector3Double position; + DIS::Orientation orientation; + DIS::Vector3Float velocity; + + private: + HeloFlightDynamics(); ///< not implemented by design + + float _angular_velocity; + float _radius; + float _rotation; + Point3d _ip; + }; + + /// utility to hold state about a range + /// and get an interpolated value from a normalized value. + struct NormalizedRange + { + NormalizedRange(float low, float high); + + float Interpolate(float k); + + private: + NormalizedRange(); ///< not implemented by design + + float _low_end; + float _high_end; + }; + + class TankDynamics + { + public: + TankDynamics(double turret_velocity, double elevation_controller_rate); + + void Update(double dt); + + private: + TankDynamics(); ///< not implemented by design + + public: + float _angle_primary_turret; + double _velocity_turret; + + float _angle_primary_gun; + float _angle_secondary_gun; + + NormalizedRange _primary_gun_range; ///< stores the limited movement values + NormalizedRange _secondary_gun_range; ///< stores the limited movement values + + private: + float _control_elevation; + double _control_elevation_velocity; + }; + + /// converts degrees to radians + /// @param radians + template + Real DegreesToRadians(Real degrees) + { + return( degrees * PI_OVER_180 ); + } + + /// converts radians to degrees + /// @return degrees + template + Real RadiansToDegrees(Real radians) + { + return( radians * PI_UNDER_180 ); + } + + /// calculate a point between 2 others. + /// @param p a point. + /// @param q another point. + /// @param k the multiplier defining the distance between the points + /// @return the linearly interpolated point. + template + Real Lerp(Real p, Real q, Real k) + { + return k*(q-p) + p; + } + + /// @param ms The number of milliseconds to wait. + void sleep(unsigned int ms); + + template + T ToType(const std::string& data) + { + std::stringstream ss; + ss << data; + T t; + ss >> t; + return t; + } +} + +#endif // _example_utils_h_ diff --git a/Example/main.cpp b/Example/main.cpp new file mode 100644 index 00000000..7cff4890 --- /dev/null +++ b/Example/main.cpp @@ -0,0 +1,394 @@ + +// specific for the example +#include +#include +#include + +// the DIS library usage +#include +#include +#include +#include +#include + +#include + +#include + +namespace Example +{ + enum T72_Articulation_Index + { + INDEX_TURRET_AZIMUTH = 0, + INDEX_TURRET_AZIMUTH_RATE = 1, + INDEX_GUN_ELEVATION = 2, + INDEX_GUN_2_ELEVATION = 3 + }; + + namespace Articulation + { + enum Motion + { + AZIMUTH = 11, + AZIMUTH_RATE, + ELEVATION + }; + + enum Part + { + PRIMARY_TURRET = 4096, + PRIMARY_GUN = 4416, + SECONDARY_GUN = 6016 + }; + + enum Designator + { + ARTICULATED = 0, + ATTACHED = 1 + }; + } + + enum DeadReckoningModel + { + STATIC = 1, + DRM_FPW, + DRM_RPW, + DRM_RVW, + DRM_FVW, + DRM_FPB, + DRM_RPB, + DRM_RVB, + DRM_FVB, + }; +} + + +void init_entities(DIS::EntityStatePdu& friendly0, + DIS::EntityStatePdu& friendly1, + DIS::EntityStatePdu& enemy) +{ + /// basic pdu info + + { + enemy.setProtocolVersion(6); + enemy.setExerciseID(0); + //enemy.setPduType(1); + //enemy.setProtocolFamily(1); + + friendly0.setProtocolVersion(6); + friendly0.setExerciseID(0); + //friendly0.setPduType(1); + //friendly0.setProtocolFamily(1); + //friendly0.setArticulationParameterCount(0); + + friendly1.setProtocolVersion(6); + friendly1.setExerciseID(0); + //friendly1.setPduType(1); + //friendly1.setProtocolFamily(1); + //friendly1.setArticulationParameterCount(0); + } + + /// entity id data + { + // the enemies + DIS::EntityID enemy_entity_id; + enemy_entity_id.setSite( 0 ); + enemy_entity_id.setApplication( 1 ); + enemy_entity_id.setEntity( 1 ); + + enemy.setEntityID( enemy_entity_id ); + + // the friendlies + DIS::EntityID friendly_entity_id[2]; + friendly_entity_id[0].setSite( 0 ); + friendly_entity_id[0].setApplication( 1 ); + friendly_entity_id[0].setEntity( 2 ); + + friendly0.setEntityID( friendly_entity_id[0] ); + + friendly_entity_id[1].setSite( 0 ); + friendly_entity_id[1].setApplication( 1 ); + friendly_entity_id[1].setEntity( 3 ); + + friendly1.setEntityID( friendly_entity_id[1] ); + } + + // entity type data + { + // a T-72M + DIS::EntityType t72m; + t72m.setCategory( 1 ); + t72m.setCountry( 222 ); + t72m.setDomain( 1 ); + t72m.setEntityKind( 1 ); + t72m.setExtra( 0 ); + t72m.setSpecific( 2 ); + t72m.setSubcategory( 2 ); + + enemy.setEntityType( t72m ); + + // an AH-1W + DIS::EntityType ah_1w; + ah_1w.setCategory( 20 ); + ah_1w.setCountry( 225 ); + ah_1w.setDomain( 2 ); + ah_1w.setEntityKind( 1 ); + ah_1w.setExtra( 0 ); + ah_1w.setSpecific( 10 ); + ah_1w.setSubcategory( 2 ); + + friendly0.setEntityType( ah_1w ); + friendly1.setEntityType( ah_1w ); + } + + // dead reckoning + { + DIS::DeadReckoningParameter drp; + drp.setDeadReckoningAlgorithm( Example::DRM_FVW ); + + friendly0.setDeadReckoningParameters( drp ); + friendly1.setDeadReckoningParameters( drp ); + enemy.setDeadReckoningParameters( drp ); + } + + // articulation + { + DIS::ArticulationParameter turret_azimuth; + turret_azimuth.setParameterType( DIS::Convert::MakeArticulationParameterType(Example::Articulation::PRIMARY_TURRET,Example::Articulation::AZIMUTH) ); + turret_azimuth.setPartAttachedTo( 0 ); // 0 = connected directly to the vehicle + turret_azimuth.setParameterTypeDesignator( Example::Articulation::ARTICULATED ); + + DIS::ArticulationParameter turret_azimuth_rate; + turret_azimuth_rate.setParameterType( DIS::Convert::MakeArticulationParameterType(Example::Articulation::PRIMARY_TURRET,Example::Articulation::AZIMUTH_RATE) ); + turret_azimuth_rate.setPartAttachedTo( 0 ); // 0 = connected directly to the vehicle + turret_azimuth_rate.setParameterTypeDesignator( Example::Articulation::ARTICULATED ); + + DIS::ArticulationParameter turret_gun_elevation; + turret_gun_elevation.setParameterType( DIS::Convert::MakeArticulationParameterType(Example::Articulation::PRIMARY_GUN,Example::Articulation::ELEVATION) ); + turret_gun_elevation.setPartAttachedTo( 1 ); // 1 = connected to the turret + turret_gun_elevation.setParameterTypeDesignator( Example::Articulation::ARTICULATED ); + + DIS::ArticulationParameter gun2_elevation; + gun2_elevation.setParameterType( DIS::Convert::MakeArticulationParameterType(Example::Articulation::SECONDARY_GUN,Example::Articulation::ELEVATION) ); + gun2_elevation.setPartAttachedTo( 1 ); // 1 = connected to the turret + gun2_elevation.setParameterTypeDesignator( Example::Articulation::ARTICULATED ); + + std::vector& params = enemy.getArticulationParameters(); + params.clear(); + params.resize(4); // make default number of parameters + params[Example::INDEX_TURRET_AZIMUTH] = turret_azimuth; + params[Example::INDEX_TURRET_AZIMUTH_RATE] = turret_azimuth_rate; + params[Example::INDEX_GUN_ELEVATION] = turret_gun_elevation; + params[Example::INDEX_GUN_2_ELEVATION] = gun2_elevation; + } + + friendly0.setLength( friendly0.getMarshalledSize()); + friendly1.setLength( friendly1.getMarshalledSize()); + enemy.setLength(enemy.getMarshalledSize()); +} + + +void init_effects(DIS::DetonationPdu &detonation, const DIS::EntityID& firing, const DIS::EntityID& target) +{ + /// basic pdu info + { + detonation.setProtocolVersion( 1 ); // not sure what is 1 + detonation.setExerciseID( 1 ); + } + + /// entity id data + { + DIS::EntityID detonation_entity_id; + detonation_entity_id.setSite( 0 ); + detonation_entity_id.setApplication( 1 ); + detonation_entity_id.setEntity( 4 ); + + detonation.setMunitionID( detonation_entity_id ); + } + + /// event id data + { + //Event ID. + // This field shall contain the same data as in the Event ID Þeld of the Fire PDU that communicated + // the launch of the munition. If the detonation is not preceded by a corresponding Þre event, + // then the Event Number Þeld of the Event IdentiÞer record shall be zero (e.g., land mines detonation). + // This Þeld shall be represented by an Event IdentiÞer record (see 5.2.18). + + // 0200 Point Detonation (PD) + DIS::EventID detonation_event_id; + detonation_event_id.setSite( 0 ); + detonation_event_id.setApplication( 1 ); + detonation_event_id.setEventNumber( 0 ); + detonation.setEventID( detonation_event_id ); + } + + // warfare data + { + detonation.setFiringEntityID( firing ); + detonation.setTargetEntityID( target ); + } + + /// detonation specific data + { ///\todo update this position in the main loop + + // dead reckoning info + DIS::Vector3Float detonation_velocity; + detonation_velocity.setX( 0.f ); + detonation_velocity.setY( 0.f ); + detonation_velocity.setZ( 0.f ); + + DIS::Vector3Double worldPosition; + worldPosition.setX( 50.0 ); + worldPosition.setY( 50.0 ); + worldPosition.setZ( 50.0 ); + + detonation.setLocationInWorldCoordinates(worldPosition); + + DIS::BurstDescriptor burstDescriptor; + //burstDescriptor.setMunition( 0 ); ///\todo set this with the 64 bit type. + burstDescriptor.setWarhead( 1000 ); // 1000 High Explosive (HE) + burstDescriptor.setFuse( 200 ); // 0200 Point Detonation (PD) + burstDescriptor.setQuantity( 1 ); + burstDescriptor.setRate( 1 ); + + detonation.setDetonationResult( 5 ); // 5 Detonation + } + + detonation.setLength( detonation.getMarshalledSize() ); +} + +void UpdateHelo(DIS::EntityStatePdu& helo, Example::HeloFlightDynamics& dynamics, double dt, unsigned int frame_stamp) +{ + dynamics( dt ); + helo.setEntityLocation( dynamics.position ); + helo.setEntityOrientation( dynamics.orientation ); + helo.setEntityLinearVelocity( dynamics.velocity ); + helo.setTimestamp( frame_stamp ); +} + +void UpdateTank(DIS::EntityStatePdu& tank, Example::TankDynamics& dynamics, double dt, unsigned int frame_stamp) +{ + dynamics.Update( dt ); + + // articulation + std::vector ¶ms = tank.getArticulationParameters(); + + DIS::ArticulationParameter& turret_azimuth = params[Example::INDEX_TURRET_AZIMUTH]; + turret_azimuth.setParameterValue( dynamics._angle_primary_turret ); + turret_azimuth.setChangeIndicator( frame_stamp ); // constantly changing + + DIS::ArticulationParameter& turret_azimuth_rate = params[Example::INDEX_TURRET_AZIMUTH_RATE]; + turret_azimuth_rate.setChangeIndicator( 0 ); // no change + turret_azimuth_rate.setParameterValue( dynamics._velocity_turret ); + + DIS::ArticulationParameter& gun_elevation = params[Example::INDEX_GUN_ELEVATION]; + gun_elevation.setChangeIndicator( 0 ); // no change + gun_elevation.setParameterValue( dynamics._angle_primary_gun ); + + DIS::ArticulationParameter& gun2_elevation = params[Example::INDEX_GUN_2_ELEVATION]; + gun2_elevation.setChangeIndicator( frame_stamp ); // no change + gun2_elevation.setParameterValue( dynamics._angle_secondary_gun ); +} + +int main(int argc, char* argv[]) +{ + unsigned int port(62040); + std::string ip("239.1.2.3"); + if( argc > 2 ) + { + port = Example::ToType( argv[1] ); + ip = argv[2]; + } + + /// the basic pieces for sending data + Example::Connection multicast; + multicast.Connect( port , ip ); + DIS::DataStream buffer( DIS::BIG ); + + DIS::EntityStatePdu enemy; + DIS::EntityStatePdu friendly[2]; + init_entities( friendly[0], friendly[1], enemy ); + + DIS::DetonationPdu tank_round; + init_effects( tank_round, friendly[0].getEntityID(), enemy.getEntityID()); + + // -- initialize the flight controllers -- // + // the holding location of the friendly aircraft + Example::Point3d IP; + IP.x = 50.f; + IP.y = 50.f; // altitude? + IP.z = 50.f; + Example::HeloFlightDynamics helo_flight_dynamics_0(Example::DegreesToRadians(20.f),20., IP, 0.); + IP.x = 75.f; + IP.y = 75.f; // altitude? + IP.z = 75.f; + Example::HeloFlightDynamics helo_flight_dynamics_1(Example::DegreesToRadians(40.f),40., IP, 0.); + + Example::TankDynamics tank_dynamics( Example::DegreesToRadians(10.f), Example::DegreesToRadians(20.f) ); + // Initialize the timer + Example::Timer timer; + timer.Update(); + + // define the content to be sent of the network + double sim_time = 0; + double dt = 0; + unsigned int frame_stamp=0; + + Example::TimedAlert isDetonationReady(10.0); // alert us at 10.0 second intervals + Example::TimedAlert isTimeToPrintStatistics(5.0); // alert us at 10.0 second intervals + + double last_time = timer.GetSeconds(); + + // the simulation loop + ///\todo find an exit condition so we don't need to explicitly kill the app + while( true ) + { + timer.Update(); + double current_time = timer.GetSeconds(); + dt = current_time - last_time; + sim_time += dt; + last_time = current_time; + + // use the dynamics to update the entities' state. + UpdateHelo( friendly[0], helo_flight_dynamics_0, dt, frame_stamp ); + UpdateHelo( friendly[1], helo_flight_dynamics_1, dt, frame_stamp ); + UpdateTank( enemy, tank_dynamics, dt, frame_stamp ); + + // serialize for network send + friendly[0].marshal( buffer ); + friendly[1].marshal( buffer ); + enemy.marshal( buffer ); + + // Are we ready for le boom boom? + if( isDetonationReady(dt) ) + { + tank_round.marshal( buffer ); + // some feedback + std::cout << "detonation!" << std::endl; + } + + // some feedback + if( isTimeToPrintStatistics(dt) ) + { + std::cout << "frame:" << frame_stamp + << "\t dt:" << dt + //<< " | x:" << temp_position.getX() + //<< " | y:" << temp_position.getY() + << std::endl; + } + + // send it over the line + multicast.Send( &buffer[0] , buffer.size() ); + + // clear for next frame + buffer.clear(); + + // increase for next frame + frame_stamp++; + + Example::sleep( 10000 ); + } + + multicast.Disconnect(); + return 0; +} diff --git a/Example/main_receive.cpp b/Example/main_receive.cpp new file mode 100644 index 00000000..6822f46a --- /dev/null +++ b/Example/main_receive.cpp @@ -0,0 +1,49 @@ + +#include // for reading packets from the socket +#include // for usage +#include + +#include // for library usage +#include // for library usage + +#include // for strlen +#include // for size_t definition + +int main(int argc, char* argv[]) +{ + unsigned int port(62040); + std::string ip("239.1.2.3"); + if( argc > 2 ) + { + port = Example::ToType( argv[1] ); + ip = argv[2]; + } + + Example::Connection multicast; + multicast.Connect( port , ip ); + DIS::Endian endian = DIS::BIG; + + char buffer[Example::MTU_SIZE+1]; + buffer[Example::MTU_SIZE] = '\0'; // should be NULL terminated somewhere in case the network read does not do this? + + Example::EntityStatePduProcessor processor; + + const unsigned char es_pdu_type = 1; + DIS::IncomingMessage incoming; + incoming.AddProcessor( es_pdu_type , &processor ); + while( true ) + { + ///\todo find a way to use the stream rather than a raw char buffer, + /// so that copying the buffer into the DataStream within the IncomingMessage + /// will not be necessary. + size_t bytes_read = multicast.Receive( buffer , Example::MTU_SIZE ); + + // engage the higher level support + incoming.Process( buffer , bytes_read , endian ); + } + + incoming.RemoveProcessor( es_pdu_type , &processor ); + multicast.Disconnect(); + return 0; +} + diff --git a/License.html b/License.html new file mode 100644 index 00000000..b0c8c79a --- /dev/null +++ b/License.html @@ -0,0 +1,11 @@ + + + + + License.html + + +
* Copyright (c) 2006, Naval Postgraduate School, MOVES Institute
* All rights reserved.
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the Naval Postgraduate School nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
* * All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the Naval Postgraduate School
* MOVES Institute and its contributors.
*
* THIS SOFTWARE IS PROVIDED BY NPS AND CONTRIBUTORS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ + diff --git a/README.html b/README.html new file mode 100644 index 00000000..afb3850c --- /dev/null +++ b/README.html @@ -0,0 +1,79 @@ + + + + + README + + +README.html
+
+Introduction
+
+This directory contains the C++ code to implement the +Distributed +Interactive Simulation (DIS) IEEE-1278 standard, which is often used in +military simulations.
+
+The C++ code consists of two portions. The protocol +code itself consists of classes that represent Protocol Data Units +(PDUs). These classes have fields, getters, and setters, and are able +to marshal and unmarshal themselves to and from the DIS binary format. +The Java implementation can also marshal itself to XML and Java +serialization format. This code was automatically generated via XMLPG, +a tool that generates +Java, CSharp, Objective C, and C++ code automatically from an XML description. The +generated code is in the cpp directory.
+
+The second portion of the code is supporting classes that read and +write PDUs from the network, log PDUs to a file, and more. These are +essentially example files that demonstrate the use of the generated DIS +code. The cpp code for this is in CppUtils and Example. Unit tests are +in the UnitTestDIS directory. Make files and project files were automatically +generated, and reside in the Compile directory.
+
+XML Description File
+
+An XML file that is an abstract description of the protocol classes is +in DIS1998.xml. This file is used by XML Multi-Language Protocol +Generator +(XMLPG), which is available at the sourceforge site for download.
+
+The XML file is processed by XMLPG and writes the C++ +protocol code. The idea is to use the XMLPG tool to get the final +product "close", and then manually modify the source code in subversion +to tweak the last bit.
+
+Java
+
+C++
+
+The C++ code is in the Cpp directory. The prefab C++ implemenation uses +the DIS +namespace to contain the protocol code. The Compile directory contains +Microsoft Visual C++ build files, which allows the code to be compiled +and linked to a dll or executable. The CppUtils directory contains +supporting files for the DIS protocol, including a data stream class +for marshaling and unmarshaling, a factory class, and some simple +example code that generates Entity State PDUs. Simple unit test code is +also available in the UnitTestDIS directory.
+
+* Automated patch application. The Unix patch utility is used to modify +the auotmatically generated code. See the patch directory in the +open-dis +directory. Patches are applied via the ant task "patch". Windows +users  need to install cygwin utilities to be able to use patch, +and make some minor changes to the ant build.xml file.
+
+LICENSE
+
+All code is BSD license, three-clause for compatibility with debian and +other distributions. See License.html
+
+
+
+
+ + + diff --git a/UnitTestDIS/DataStreamTests.cpp b/UnitTestDIS/DataStreamTests.cpp new file mode 100644 index 00000000..34ae7032 --- /dev/null +++ b/UnitTestDIS/DataStreamTests.cpp @@ -0,0 +1,161 @@ +/// Copyright goes here +/// License goes here +/// @author John K. Grant + +#include + +#include // for testing +#include // for usage + +#include // for NULL definition +#include // for strlen + +namespace TestDIS +{ + /// tests the support for serializing basic types. + class DataStreamTests : public CPPUNIT_NS::TestFixture + { + public: + void setup(); + void teardown(); + + void TestChar(); + void TestShort(); + void TestDouble(); + void TestFloat(); + void TestStream(); + void TestChaining(); + + CPPUNIT_TEST_SUITE( DataStreamTests ); + CPPUNIT_TEST( TestChar ); + CPPUNIT_TEST( TestShort ); + CPPUNIT_TEST( TestDouble ); + CPPUNIT_TEST( TestFloat ); + CPPUNIT_TEST( TestChaining ); + CPPUNIT_TEST_SUITE_END(); + + protected: + /// tests to know if the same data comes out of the DataStream's char buffer that was put into it. + /// also tests to know if the DataStream's read and write positions were updated. + template + void TestData(DIS::Endian e, T t0, T t1, T t2); + }; +} + +using namespace TestDIS; +using namespace DIS; +CPPUNIT_TEST_SUITE_REGISTRATION( DataStreamTests ); + +template +void DataStreamTests::TestData(DIS::Endian e, T t0, T t1, T t2) +{ + DataStream ds( e ); + CPPUNIT_ASSERT( ds.empty() ); + + size_t read_pos( 0 ); + size_t write_pos( 0 ); + + // check the read and write positions + CPPUNIT_ASSERT_EQUAL( ds.GetReadPos() , read_pos ); + CPPUNIT_ASSERT_EQUAL( ds.GetWritePos() , write_pos ); + + // check the size of the buffer + CPPUNIT_ASSERT_EQUAL( ds.size() , write_pos ); + + // fill the stream + T ch = t0; + ds << ch; + CPPUNIT_ASSERT( !ds.empty() ); + write_pos += sizeof(T); + CPPUNIT_ASSERT_EQUAL( ds.size(), write_pos ); // size check + CPPUNIT_ASSERT_EQUAL( ds.GetReadPos() , read_pos ); // read check + CPPUNIT_ASSERT_EQUAL( ds.GetWritePos() , write_pos ); // write check + + ch = t1; + ds << ch; + write_pos += sizeof(T); + CPPUNIT_ASSERT( !ds.empty() ); // empty check + CPPUNIT_ASSERT_EQUAL( ds.size(), write_pos ); // size check + CPPUNIT_ASSERT_EQUAL( ds.GetReadPos() , read_pos ); // read check + CPPUNIT_ASSERT_EQUAL( ds.GetWritePos() , write_pos ); // write check + + ch = t2; + ds << ch; + write_pos += sizeof(T); + CPPUNIT_ASSERT( !ds.empty() ); // empty check + CPPUNIT_ASSERT_EQUAL( ds.size(), write_pos ); // size check + CPPUNIT_ASSERT_EQUAL( ds.GetReadPos() , read_pos ); // read check + CPPUNIT_ASSERT_EQUAL( ds.GetWritePos() , write_pos ); // write check + + // read from the stream + ds >> ch; + read_pos += sizeof(T); + CPPUNIT_ASSERT_EQUAL( ch , t0 ); // value check + CPPUNIT_ASSERT( !ds.empty() ); // empty check + CPPUNIT_ASSERT_EQUAL( ds.size(), write_pos ); // size check + CPPUNIT_ASSERT_EQUAL( ds.GetReadPos() , read_pos ); // read check + CPPUNIT_ASSERT_EQUAL( ds.GetWritePos() , write_pos ); // write check + + ds >> ch; + read_pos += sizeof(T); + CPPUNIT_ASSERT_EQUAL( ch , t1 ); // value check + CPPUNIT_ASSERT( !ds.empty() ); // empty check + CPPUNIT_ASSERT_EQUAL( ds.size(), write_pos ); // size check + CPPUNIT_ASSERT_EQUAL( ds.GetReadPos() , read_pos ); // read check + CPPUNIT_ASSERT_EQUAL( ds.GetWritePos() , write_pos ); // write check + + ds >> ch; + read_pos += sizeof(T); + CPPUNIT_ASSERT_EQUAL( ch , t2 ); // value check + CPPUNIT_ASSERT( !ds.empty() ); // empty check + CPPUNIT_ASSERT_EQUAL( ds.size(), write_pos ); // size check + CPPUNIT_ASSERT_EQUAL( ds.GetReadPos() , read_pos ); // read check + CPPUNIT_ASSERT_EQUAL( ds.GetWritePos() , write_pos ); // write check +} + +void DataStreamTests::TestChar() +{ + TestData( DIS::BIG , 'a' , 'b' , 'c' ); +} + +void DataStreamTests::TestShort() +{ + short a(1), b(2), c(3); + TestData( DIS::BIG , a , b , c ); +} + +void DataStreamTests::TestDouble() +{ + TestData( DIS::BIG , 9. , 10. , 11. ); +} + +void DataStreamTests::TestFloat() +{ + TestData( DIS::BIG , 9.f , 10.f , 11.f ); +} + +void DataStreamTests::TestChaining() +{ + // define a psuedo packet + char id=3; + float x=9.f; + float y=11.f; + char length=sizeof(char)+sizeof(char)+sizeof(float)+sizeof(float); // 10 + + DIS::DataStream output(DIS::BIG); + output << id << length << x << y; + + // catch the psuedo packet + char inid=0; + char inlength=0; + float inx=0; + float iny=0; + + DIS::DataStream input( &(output[0]) , output.size() , output.GetStreamEndian() ); + input >> inid >> inlength >> inx >> iny; + + CPPUNIT_ASSERT_EQUAL( id , inid ); + CPPUNIT_ASSERT_EQUAL( length , inlength ); + CPPUNIT_ASSERT_EQUAL( x , inx ); + CPPUNIT_ASSERT_EQUAL( y , iny ); +} diff --git a/UnitTestDIS/IncomingMessageTests.cpp b/UnitTestDIS/IncomingMessageTests.cpp new file mode 100644 index 00000000..46163664 --- /dev/null +++ b/UnitTestDIS/IncomingMessageTests.cpp @@ -0,0 +1,210 @@ +/// Copyright goes here +/// License goes here +/// @author John K. Grant + +#include + +#include // for testing +#include // for usage +#include // for usage +#include // for usage +#include // for usage +#include // for usage +#include +#include "PduUtils.h" + +namespace TestDIS +{ + /// tests the support for listening to packets + class IMTests : public CPPUNIT_NS::TestFixture + { + public: + void setup(); + void teardown(); + + void TestAddRemoveProcessor(); + void TestObserving(); + + void TestEntityStateThenDetonation(); + void TestCollisionThenEntityState(); + + CPPUNIT_TEST_SUITE( IMTests ); + CPPUNIT_TEST( TestAddRemoveProcessor ); + CPPUNIT_TEST( TestObserving ); + CPPUNIT_TEST( TestEntityStateThenDetonation ); + CPPUNIT_TEST( TestCollisionThenEntityState ); + CPPUNIT_TEST_SUITE_END(); + + protected: + template + void TestMultiplePackets(const PduT1& src1, const PduT2& src2); + }; + + /// knows if it has been visited + class HitProcessor : public DIS::IPacketProcessor + { + private: + DIS::PDUType mPduType; + + public: + unsigned int _hits; + + HitProcessor(DIS::PDUType pdut) + : DIS::IPacketProcessor() + , mPduType(pdut) + , _hits(0) + { + } + + DIS::PDUType GetRegisteredType() const { return mPduType; } + + /// test casting to a concrete type + void Process(const DIS::Pdu& packet) + { + //const DIS::EntityStatePdu& espdu = static_cast( packet ); + //espdu.getEntityAppearance(); + _hits++; + } + + private: + HitProcessor(); ///< not implemented by design + }; +} + +using namespace TestDIS; +using namespace DIS; +CPPUNIT_TEST_SUITE_REGISTRATION( IMTests ); + + +void IMTests::TestAddRemoveProcessor() +{ + EntityStatePdu espdu; + HitProcessor hp0((DIS::PDUType)espdu.getPduType()); + + IncomingMessage im; + CPPUNIT_ASSERT( im.GetProcessors().empty() ); + + // test a single mapping + im.AddProcessor( hp0.GetRegisteredType() , &hp0 ); + CPPUNIT_ASSERT_EQUAL( im.GetProcessors().size(), size_t(1) ); + + im.RemoveProcessor( hp0.GetRegisteredType() , &hp0 ); + CPPUNIT_ASSERT_EQUAL( im.GetProcessors().size(), size_t(0) ); + CPPUNIT_ASSERT( im.GetProcessors().empty() ); + + // test the multimap + DIS::CollisionPdu cpdu; + HitProcessor hp1((DIS::PDUType)cpdu.getPduType()); + + im.AddProcessor( hp0.GetRegisteredType() , &hp0 ); + CPPUNIT_ASSERT_EQUAL( im.GetProcessors().size(), size_t(1) ); + + im.AddProcessor( hp0.GetRegisteredType() , &hp1 ); + CPPUNIT_ASSERT_EQUAL( im.GetProcessors().size(), size_t(2) ); + + // This should not allow multiples of the exact same pair + im.AddProcessor( hp0.GetRegisteredType() , &hp0 ); + CPPUNIT_ASSERT_EQUAL( im.GetProcessors().size(), size_t(2) ); + + // this should not remove the pair that does not exist + im.RemoveProcessor( hp1.GetRegisteredType() , &hp0 ); + CPPUNIT_ASSERT_EQUAL( im.GetProcessors().size(), size_t(2) ); + + im.RemoveProcessor( hp0.GetRegisteredType() , &hp1 ); + CPPUNIT_ASSERT_EQUAL( im.GetProcessors().size(), size_t(1) ); + + im.RemoveProcessor( hp0.GetRegisteredType() , &hp0 ); + CPPUNIT_ASSERT_EQUAL( im.GetProcessors().size(), size_t(0) ); + CPPUNIT_ASSERT( im.GetProcessors().empty() ); +} + +void IMTests::TestObserving() +{ + // sample pdu for testing + EntityStatePdu espdu; + + // will tell us if the packet processor framework within IncomingMessage is working. + HitProcessor hp((DIS::PDUType)espdu.getPduType()); + CPPUNIT_ASSERT_EQUAL( hp._hits, (unsigned int)0 ); // better not be hit + + // map the HitProcessor to the type of pdu + IncomingMessage im; + im.AddProcessor( espdu.getPduType() , &hp ); + + // fake a network buffer to read + DIS::DataStream ds(DIS::BIG); + espdu.marshal( ds ); + + // test the packet processor framework + im.Process( &(ds[0]), ds.size(), ds.GetStreamEndian() ); + CPPUNIT_ASSERT_EQUAL( hp._hits, (unsigned int)1 ); // better be hit now + + // clean up things + im.RemoveProcessor( espdu.getPduType() , &hp ); +} + +void IMTests::TestEntityStateThenDetonation() +{ + DIS::EntityStatePdu espdu; + TestDIS::InitPDU( espdu ); + + DIS::DetonationPdu detpdu; + TestDIS::InitPDU( detpdu ); + + TestMultiplePackets( espdu , detpdu ); +} + +void IMTests::TestCollisionThenEntityState() +{ + DIS::CollisionPdu colpdu; + TestDIS::InitPDU( colpdu ); + + DIS::EntityStatePdu espdu; + TestDIS::InitPDU( espdu ); + + TestMultiplePackets( colpdu , espdu ); +} + +template +void IMTests::TestMultiplePackets(const PduT1& src1, const PduT2& src2) +{ + // populate the factory + IncomingMessage im; + + // sample PDUs for testing + const unsigned int NUM_ES = 3; + PduT1 pdu1_array[NUM_ES]; + for(unsigned int pdu1clone=0; pdu1clone +#include "PduUtils.h" // for init functions + +#include // for stream operators so unit test macros compile +#include // for use +#include // for testing +#include // for testing + +namespace TestDIS +{ + /// tests serializing the data for various Pdu types. + ///\todo figure out why CppUnit won't compile the commented code in 'CheckSerialization' + class PduMarshallTests : public CPPUNIT_NS::TestFixture + { + public: + static const unsigned int NUMBER_OF_CLONES = 3; + + void setup(); + void teardown(); + + CPPUNIT_TEST_SUITE( PduMarshallTests ); + CPPUNIT_TEST( TestESPdu ); + CPPUNIT_TEST( TestDetonationPdu ); + CPPUNIT_TEST_SUITE_END(); + + /// test the EntityStatePdu packet. + void TestESPdu(); + void TestDetonationPdu(); + + protected: + /// tests the results of serialization of back-2-back serializations of the same PDU type. + /// @param src1 data to be serialized + template + void CheckSerialization(const PduT& src1, const PduT2& src2); + + /// copies data of 1 & 2 via serialization + /// @param read1 data will be copied from this to the write1 parameter. + /// @param write1 data will be copied to this to the read1 parameter. + template + void MarshallLaw(const PduT& read1, DIS::DataStream& ds, PduT& write1) const; + }; +} + +using namespace TestDIS; +CPPUNIT_TEST_SUITE_REGISTRATION( PduMarshallTests ); + +template +void PduMarshallTests::MarshallLaw(const PduT& read1, DIS::DataStream& ds, PduT& write1) const +{ +} + +template +void PduMarshallTests::CheckSerialization(const PduT& src1, const PduT2& src2) +{ + DIS::DataStream ds( DIS::BIG ); + PduT pdu_array[clones]; + + // initialize the array + // also add data to the stream + for(unsigned int c_index=0; c_index( p1, p2 ); +} + +void PduMarshallTests::TestDetonationPdu() +{ + DIS::DetonationPdu p1; + TestDIS::InitPDU( p1 ); + + DIS::EntityStatePdu p2; + TestDIS::InitPDU( p2 ); + + CheckSerialization( p1, p2 ); +} + diff --git a/UnitTestDIS/PduUtils.cpp b/UnitTestDIS/PduUtils.cpp new file mode 100644 index 00000000..4061a3f9 --- /dev/null +++ b/UnitTestDIS/PduUtils.cpp @@ -0,0 +1,159 @@ +#include "PduUtils.h" + +#include +#include +#include + +#include + +void TestDIS::InitPDU(DIS::DetonationPdu& pdu) +{ + // some temp variables to be used as content for the detonation + DIS::EntityID friendly, enemy; + InitEntityID( friendly ); + InitEntityID( enemy ); + + DIS::EntityType vehicle; + InitEntityType( vehicle ); + + DIS::BurstDescriptor burst; + burst.setFuse( 4 ); + burst.setMunition( vehicle ); + burst.setQuantity( 3 ); + burst.setRate( 4 ); + burst.setWarhead( 2 ); + + DIS::EventID eventid; + InitEventID( eventid ); + + DIS::Vector3Double pos; + pos.setX( 3. ); + pos.setY( 4. ); + pos.setZ( 5. ); + + DIS::Vector3Float vel; + vel.setX( 44.f ); + vel.setY( 44.f ); + vel.setZ( 44.f ); + + std::vector art_params; + TestDIS::InitArticulationParams( art_params ); + + //pdu.setArticulationParameters( art_params ); + pdu.setBurstDescriptor( burst ); + pdu.setDetonationResult( 2 ); + pdu.setEventID( eventid ); + pdu.setExerciseID( 2 ); + pdu.setFiringEntityID( friendly ); + pdu.setLocationInWorldCoordinates( pos ); + pdu.setMunitionID( friendly ); + pdu.setTargetEntityID( enemy ); + pdu.setTimestamp( 2 ); + pdu.setVelocity( vel ); +} + +void TestDIS::InitPDU(DIS::EntityStatePdu& pdu) +{ + DIS::EntityID eid; + InitEntityID( eid ); + + DIS::EntityType etype; + InitEntityType( etype ); + + std::vector art_params; + InitArticulationParams( art_params ); + + DIS::DeadReckoningParameter drparam; + InitDeadReckoningParameters( drparam ); + + pdu.setEntityID( eid ); + pdu.setEntityType( etype ); + pdu.setEntityAppearance( 2 ); + pdu.setAlternativeEntityType( etype ); + //pdu.setArticulationParameters( art_params ); + pdu.setCapabilities( 3 ); + pdu.setDeadReckoningParameters( drparam ); +} + +void TestDIS::InitPDU(DIS::CollisionPdu& pdu) +{ + DIS::EntityID eid; + InitEntityID( eid ); + + DIS::EventID evid; + TestDIS::InitEventID( evid ); + + DIS::Vector3Float vec3f; + TestDIS::InitVec3f( vec3f ); + + pdu.setIssuingEntityID( eid ); + pdu.setCollidingEntityID( eid ); + pdu.setEventID( evid ); + pdu.setCollisionType( 3 ); + pdu.setPad( 2 ); + pdu.setVelocity( vec3f ); + pdu.setMass( 3.f ); + pdu.setLocation( vec3f ); +} + +void TestDIS::InitVec3f(DIS::Vector3Float& vec3f) +{ + vec3f.setX( 33.f ); + vec3f.setY( 33.f ); + vec3f.setZ( 33.f ); +} + +void TestDIS::InitEventID(DIS::EventID& eventid) +{ + eventid.setApplication( 2 ); + eventid.setEventNumber( 2 ); + eventid.setSite( 3 ); +} + +void TestDIS::InitEntityID(DIS::EntityID& eid) +{ + eid.setEntity( 2 ); + eid.setApplication( 2 ); + eid.setSite( 2 ); +} + +void TestDIS::InitEntityType(DIS::EntityType& etype) +{ + etype.setCategory( 2 ); + etype.setCountry( 222 ); + etype.setDomain( 2 ); + etype.setEntityKind( 2 ); + etype.setExtra( 2 ); + etype.setSpecific( 2 ); + etype.setSubcategory( 2 ); +} + +void TestDIS::InitArticulationParams(std::vector& params) +{ + DIS::ArticulationParameter turret_azimuth; + turret_azimuth.setChangeIndicator( 2 ); + turret_azimuth.setParameterType( DIS::Convert::MakeArticulationParameterType( 4096, 11 ) ); + turret_azimuth.setParameterTypeDesignator( 2 ); + turret_azimuth.setParameterValue( 3.14 ); + turret_azimuth.setPartAttachedTo( 0 ); + + params.push_back( turret_azimuth ); +} + +void TestDIS::InitDeadReckoningParameters(DIS::DeadReckoningParameter& param) +{ + DIS::Vector3Float angvel; + angvel.setX( 22.f ); + angvel.setY( 22.f ); + angvel.setZ( 22.f ); + + DIS::Vector3Float linacc; + linacc.setX( 33.f ); + linacc.setY( 33.f ); + linacc.setZ( 33.f ); + + param.setDeadReckoningAlgorithm( 2 ); + param.setEntityAngularVelocity( angvel ); + param.setEntityLinearAcceleration( linacc ); + //param.setOtherParameters( ??? ); +} diff --git a/UnitTestDIS/PduUtils.h b/UnitTestDIS/PduUtils.h new file mode 100644 index 00000000..19e980f8 --- /dev/null +++ b/UnitTestDIS/PduUtils.h @@ -0,0 +1,37 @@ +/// Copyright goes here +/// License goes here +/// @author John K. Grant + +#ifndef _dis_pdu_utils_h_ +#define _dis_pdu_utils_h_ + +#include +#include +#include + +namespace DIS +{ + class DetonationPdu; + class EntityStatePdu; + class EntityID; + class EntityType; + class CollisionPdu; + class EventID; + class Vector3Float; +} + +namespace TestDIS +{ + void InitPDU(DIS::DetonationPdu& pdu); + void InitPDU(DIS::EntityStatePdu& pdu); + void InitPDU(DIS::CollisionPdu& pdu); + + void InitVec3f(DIS::Vector3Float& vec3f); + void InitEventID(DIS::EventID& eid); + void InitEntityID(DIS::EntityID& eid); + void InitEntityType(DIS::EntityType& etype); + void InitArticulationParams(std::vector& params); + void InitDeadReckoningParameters(DIS::DeadReckoningParameter& param); +} + +#endif // _dis_pdu_utils_h_ diff --git a/UnitTestDIS/Readme.txt b/UnitTestDIS/Readme.txt new file mode 100644 index 00000000..dc5fad71 --- /dev/null +++ b/UnitTestDIS/Readme.txt @@ -0,0 +1,18 @@ +The source code within this folder requires +a dependency project to compile and link against. +The package known as CppUnit must be installed. +To help users, the choice of installation location +can vary, and 2 environment variables will be used +to locate the CppUnit SDK. +CPPUNIT_INC +CPPUNIT_LIB + +For example, if the package was located at the following: +C:\cppunit-1.12.0 +Then the environment variables could be defined as such: +CPPUNIT_INC=C:\cppunit-1.12.0\include +CPPUNIT_LIB=C:\cppunit-1.12.0\lib + +CppUnit can be obtained via the instructions at: +http://cppunit.sourceforge.net/ + diff --git a/UnitTestDIS/mainTestRunner.cpp b/UnitTestDIS/mainTestRunner.cpp new file mode 100644 index 00000000..8068841f --- /dev/null +++ b/UnitTestDIS/mainTestRunner.cpp @@ -0,0 +1,29 @@ + +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +int main (int argc, char* argv[]) +{ + CPPUNIT_NS::TestResult testResult; + + CPPUNIT_NS::TestResultCollector collectedResults; + testResult.addListener(&collectedResults); + + CPPUNIT_NS::TestRunner testRunner; + testRunner.addTest(CPPUNIT_NS::TestFactoryRegistry::getRegistry().makeTest()); + testRunner.run(testResult); + + CPPUNIT_NS::CompilerOutputter compilerOutputter(&collectedResults,std::cerr); + compilerOutputter.write(); + + return collectedResults.wasSuccessful () ? 0 : 1; +} + diff --git a/build.xml b/build.xml new file mode 100644 index 00000000..76a8e518 --- /dev/null +++ b/build.xml @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cpp/DIS/AcknowledgePdu.cpp b/cpp/DIS/AcknowledgePdu.cpp new file mode 100644 index 00000000..d1fab4c6 --- /dev/null +++ b/cpp/DIS/AcknowledgePdu.cpp @@ -0,0 +1,118 @@ +#include + +using namespace DIS; + + +AcknowledgePdu::AcknowledgePdu() : SimulationManagementFamilyPdu(), + _acknowledgeFlag(0), + _responseFlag(0), + _requestID(0) +{ + setPduType( 15 ); +} + +AcknowledgePdu::~AcknowledgePdu() +{ +} + +unsigned short AcknowledgePdu::getAcknowledgeFlag() const +{ + return _acknowledgeFlag; +} + +void AcknowledgePdu::setAcknowledgeFlag(unsigned short pX) +{ + _acknowledgeFlag = pX; +} + +unsigned short AcknowledgePdu::getResponseFlag() const +{ + return _responseFlag; +} + +void AcknowledgePdu::setResponseFlag(unsigned short pX) +{ + _responseFlag = pX; +} + +unsigned int AcknowledgePdu::getRequestID() const +{ + return _requestID; +} + +void AcknowledgePdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +void AcknowledgePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _acknowledgeFlag; + dataStream << _responseFlag; + dataStream << _requestID; +} + +void AcknowledgePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _acknowledgeFlag; + dataStream >> _responseFlag; + dataStream >> _requestID; +} + + +bool AcknowledgePdu::operator ==(const AcknowledgePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementFamilyPdu::operator==(rhs); + + if( ! (_acknowledgeFlag == rhs._acknowledgeFlag) ) ivarsEqual = false; + if( ! (_responseFlag == rhs._responseFlag) ) ivarsEqual = false; + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int AcknowledgePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 2; // _acknowledgeFlag + marshalSize = marshalSize + 2; // _responseFlag + marshalSize = marshalSize + 4; // _requestID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/AcknowledgePdu.h b/cpp/DIS/AcknowledgePdu.h new file mode 100644 index 00000000..6b47b6f1 --- /dev/null +++ b/cpp/DIS/AcknowledgePdu.h @@ -0,0 +1,83 @@ +#ifndef ACKNOWLEDGEPDU_H +#define ACKNOWLEDGEPDU_H + +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.6.5. Acknowledge the receiptof a start/resume, stop/freeze, or RemoveEntityPDU. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO AcknowledgePdu : public SimulationManagementFamilyPdu +{ +protected: + /** type of message being acknowledged */ + unsigned short _acknowledgeFlag; + + /** Whether or not the receiving entity was able to comply with the request */ + unsigned short _responseFlag; + + /** Request ID that is unique */ + unsigned int _requestID; + + + public: + AcknowledgePdu(); + virtual ~AcknowledgePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getAcknowledgeFlag() const; + void setAcknowledgeFlag(unsigned short pX); + + unsigned short getResponseFlag() const; + void setResponseFlag(unsigned short pX); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const AcknowledgePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/AcknowledgeReliablePdu.cpp b/cpp/DIS/AcknowledgeReliablePdu.cpp new file mode 100644 index 00000000..d935bb92 --- /dev/null +++ b/cpp/DIS/AcknowledgeReliablePdu.cpp @@ -0,0 +1,118 @@ +#include + +using namespace DIS; + + +AcknowledgeReliablePdu::AcknowledgeReliablePdu() : SimulationManagementWithReliabilityFamilyPdu(), + _acknowledgeFlag(0), + _responseFlag(0), + _requestID(0) +{ + setPduType( 55 ); +} + +AcknowledgeReliablePdu::~AcknowledgeReliablePdu() +{ +} + +unsigned short AcknowledgeReliablePdu::getAcknowledgeFlag() const +{ + return _acknowledgeFlag; +} + +void AcknowledgeReliablePdu::setAcknowledgeFlag(unsigned short pX) +{ + _acknowledgeFlag = pX; +} + +unsigned short AcknowledgeReliablePdu::getResponseFlag() const +{ + return _responseFlag; +} + +void AcknowledgeReliablePdu::setResponseFlag(unsigned short pX) +{ + _responseFlag = pX; +} + +unsigned int AcknowledgeReliablePdu::getRequestID() const +{ + return _requestID; +} + +void AcknowledgeReliablePdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +void AcknowledgeReliablePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementWithReliabilityFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _acknowledgeFlag; + dataStream << _responseFlag; + dataStream << _requestID; +} + +void AcknowledgeReliablePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementWithReliabilityFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _acknowledgeFlag; + dataStream >> _responseFlag; + dataStream >> _requestID; +} + + +bool AcknowledgeReliablePdu::operator ==(const AcknowledgeReliablePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementWithReliabilityFamilyPdu::operator==(rhs); + + if( ! (_acknowledgeFlag == rhs._acknowledgeFlag) ) ivarsEqual = false; + if( ! (_responseFlag == rhs._responseFlag) ) ivarsEqual = false; + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int AcknowledgeReliablePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementWithReliabilityFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 2; // _acknowledgeFlag + marshalSize = marshalSize + 2; // _responseFlag + marshalSize = marshalSize + 4; // _requestID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/AcknowledgeReliablePdu.h b/cpp/DIS/AcknowledgeReliablePdu.h new file mode 100644 index 00000000..614cbfb8 --- /dev/null +++ b/cpp/DIS/AcknowledgeReliablePdu.h @@ -0,0 +1,83 @@ +#ifndef ACKNOWLEDGERELIABLEPDU_H +#define ACKNOWLEDGERELIABLEPDU_H + +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.12.5: Ack receipt of a start-resume, stop-freeze, create-entity or remove enitty (reliable) pdus. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO AcknowledgeReliablePdu : public SimulationManagementWithReliabilityFamilyPdu +{ +protected: + /** ack flags */ + unsigned short _acknowledgeFlag; + + /** response flags */ + unsigned short _responseFlag; + + /** Request ID */ + unsigned int _requestID; + + + public: + AcknowledgeReliablePdu(); + virtual ~AcknowledgeReliablePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getAcknowledgeFlag() const; + void setAcknowledgeFlag(unsigned short pX); + + unsigned short getResponseFlag() const; + void setResponseFlag(unsigned short pX); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const AcknowledgeReliablePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/AcousticBeamData.cpp b/cpp/DIS/AcousticBeamData.cpp new file mode 100644 index 00000000..a995ced0 --- /dev/null +++ b/cpp/DIS/AcousticBeamData.cpp @@ -0,0 +1,132 @@ +#include + +using namespace DIS; + + +AcousticBeamData::AcousticBeamData(): + _beamDataLength(0), + _beamIDNumber(0), + _pad2(0), + _fundamentalDataParameters() +{ +} + +AcousticBeamData::~AcousticBeamData() +{ +} + +unsigned short AcousticBeamData::getBeamDataLength() const +{ + return _beamDataLength; +} + +void AcousticBeamData::setBeamDataLength(unsigned short pX) +{ + _beamDataLength = pX; +} + +unsigned char AcousticBeamData::getBeamIDNumber() const +{ + return _beamIDNumber; +} + +void AcousticBeamData::setBeamIDNumber(unsigned char pX) +{ + _beamIDNumber = pX; +} + +unsigned short AcousticBeamData::getPad2() const +{ + return _pad2; +} + +void AcousticBeamData::setPad2(unsigned short pX) +{ + _pad2 = pX; +} + +AcousticBeamFundamentalParameter& AcousticBeamData::getFundamentalDataParameters() +{ + return _fundamentalDataParameters; +} + +const AcousticBeamFundamentalParameter& AcousticBeamData::getFundamentalDataParameters() const +{ + return _fundamentalDataParameters; +} + +void AcousticBeamData::setFundamentalDataParameters(const AcousticBeamFundamentalParameter &pX) +{ + _fundamentalDataParameters = pX; +} + +void AcousticBeamData::marshal(DataStream& dataStream) const +{ + dataStream << _beamDataLength; + dataStream << _beamIDNumber; + dataStream << _pad2; + _fundamentalDataParameters.marshal(dataStream); +} + +void AcousticBeamData::unmarshal(DataStream& dataStream) +{ + dataStream >> _beamDataLength; + dataStream >> _beamIDNumber; + dataStream >> _pad2; + _fundamentalDataParameters.unmarshal(dataStream); +} + + +bool AcousticBeamData::operator ==(const AcousticBeamData& rhs) const + { + bool ivarsEqual = true; + + if( ! (_beamDataLength == rhs._beamDataLength) ) ivarsEqual = false; + if( ! (_beamIDNumber == rhs._beamIDNumber) ) ivarsEqual = false; + if( ! (_pad2 == rhs._pad2) ) ivarsEqual = false; + if( ! (_fundamentalDataParameters == rhs._fundamentalDataParameters) ) ivarsEqual = false; + + return ivarsEqual; + } + +int AcousticBeamData::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2; // _beamDataLength + marshalSize = marshalSize + 1; // _beamIDNumber + marshalSize = marshalSize + 2; // _pad2 + marshalSize = marshalSize + _fundamentalDataParameters.getMarshalledSize(); // _fundamentalDataParameters + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/AcousticBeamData.h b/cpp/DIS/AcousticBeamData.h new file mode 100644 index 00000000..e40937ea --- /dev/null +++ b/cpp/DIS/AcousticBeamData.h @@ -0,0 +1,90 @@ +#ifndef ACOUSTICBEAMDATA_H +#define ACOUSTICBEAMDATA_H + +#include +#include +#include + + +namespace DIS +{ +// Used in UA PDU + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO AcousticBeamData +{ +protected: + /** beam data length */ + unsigned short _beamDataLength; + + /** beamIDNumber */ + unsigned char _beamIDNumber; + + /** padding */ + unsigned short _pad2; + + /** fundamental data parameters */ + AcousticBeamFundamentalParameter _fundamentalDataParameters; + + + public: + AcousticBeamData(); + virtual ~AcousticBeamData(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getBeamDataLength() const; + void setBeamDataLength(unsigned short pX); + + unsigned char getBeamIDNumber() const; + void setBeamIDNumber(unsigned char pX); + + unsigned short getPad2() const; + void setPad2(unsigned short pX); + + AcousticBeamFundamentalParameter& getFundamentalDataParameters(); + const AcousticBeamFundamentalParameter& getFundamentalDataParameters() const; + void setFundamentalDataParameters(const AcousticBeamFundamentalParameter &pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const AcousticBeamData& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/AcousticBeamFundamentalParameter.cpp b/cpp/DIS/AcousticBeamFundamentalParameter.cpp new file mode 100644 index 00000000..719d5e3f --- /dev/null +++ b/cpp/DIS/AcousticBeamFundamentalParameter.cpp @@ -0,0 +1,157 @@ +#include + +using namespace DIS; + + +AcousticBeamFundamentalParameter::AcousticBeamFundamentalParameter(): + _activeEmissionParameterIndex(0), + _scanPattern(0), + _beamCenterAzimuth(0.0), + _azimuthalBeamwidth(0.0), + _beamCenterDE(0.0), + _deBeamwidth(0.0) +{ +} + +AcousticBeamFundamentalParameter::~AcousticBeamFundamentalParameter() +{ +} + +unsigned short AcousticBeamFundamentalParameter::getActiveEmissionParameterIndex() const +{ + return _activeEmissionParameterIndex; +} + +void AcousticBeamFundamentalParameter::setActiveEmissionParameterIndex(unsigned short pX) +{ + _activeEmissionParameterIndex = pX; +} + +unsigned short AcousticBeamFundamentalParameter::getScanPattern() const +{ + return _scanPattern; +} + +void AcousticBeamFundamentalParameter::setScanPattern(unsigned short pX) +{ + _scanPattern = pX; +} + +float AcousticBeamFundamentalParameter::getBeamCenterAzimuth() const +{ + return _beamCenterAzimuth; +} + +void AcousticBeamFundamentalParameter::setBeamCenterAzimuth(float pX) +{ + _beamCenterAzimuth = pX; +} + +float AcousticBeamFundamentalParameter::getAzimuthalBeamwidth() const +{ + return _azimuthalBeamwidth; +} + +void AcousticBeamFundamentalParameter::setAzimuthalBeamwidth(float pX) +{ + _azimuthalBeamwidth = pX; +} + +float AcousticBeamFundamentalParameter::getBeamCenterDE() const +{ + return _beamCenterDE; +} + +void AcousticBeamFundamentalParameter::setBeamCenterDE(float pX) +{ + _beamCenterDE = pX; +} + +float AcousticBeamFundamentalParameter::getDeBeamwidth() const +{ + return _deBeamwidth; +} + +void AcousticBeamFundamentalParameter::setDeBeamwidth(float pX) +{ + _deBeamwidth = pX; +} + +void AcousticBeamFundamentalParameter::marshal(DataStream& dataStream) const +{ + dataStream << _activeEmissionParameterIndex; + dataStream << _scanPattern; + dataStream << _beamCenterAzimuth; + dataStream << _azimuthalBeamwidth; + dataStream << _beamCenterDE; + dataStream << _deBeamwidth; +} + +void AcousticBeamFundamentalParameter::unmarshal(DataStream& dataStream) +{ + dataStream >> _activeEmissionParameterIndex; + dataStream >> _scanPattern; + dataStream >> _beamCenterAzimuth; + dataStream >> _azimuthalBeamwidth; + dataStream >> _beamCenterDE; + dataStream >> _deBeamwidth; +} + + +bool AcousticBeamFundamentalParameter::operator ==(const AcousticBeamFundamentalParameter& rhs) const + { + bool ivarsEqual = true; + + if( ! (_activeEmissionParameterIndex == rhs._activeEmissionParameterIndex) ) ivarsEqual = false; + if( ! (_scanPattern == rhs._scanPattern) ) ivarsEqual = false; + if( ! (_beamCenterAzimuth == rhs._beamCenterAzimuth) ) ivarsEqual = false; + if( ! (_azimuthalBeamwidth == rhs._azimuthalBeamwidth) ) ivarsEqual = false; + if( ! (_beamCenterDE == rhs._beamCenterDE) ) ivarsEqual = false; + if( ! (_deBeamwidth == rhs._deBeamwidth) ) ivarsEqual = false; + + return ivarsEqual; + } + +int AcousticBeamFundamentalParameter::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2; // _activeEmissionParameterIndex + marshalSize = marshalSize + 2; // _scanPattern + marshalSize = marshalSize + 4; // _beamCenterAzimuth + marshalSize = marshalSize + 4; // _azimuthalBeamwidth + marshalSize = marshalSize + 4; // _beamCenterDE + marshalSize = marshalSize + 4; // _deBeamwidth + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/AcousticBeamFundamentalParameter.h b/cpp/DIS/AcousticBeamFundamentalParameter.h new file mode 100644 index 00000000..aa0dd17c --- /dev/null +++ b/cpp/DIS/AcousticBeamFundamentalParameter.h @@ -0,0 +1,100 @@ +#ifndef ACOUSTICBEAMFUNDAMENTALPARAMETER_H +#define ACOUSTICBEAMFUNDAMENTALPARAMETER_H + +#include +#include + + +namespace DIS +{ +// Used in UaPdu + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO AcousticBeamFundamentalParameter +{ +protected: + /** parameter index */ + unsigned short _activeEmissionParameterIndex; + + /** scan pattern */ + unsigned short _scanPattern; + + /** beam center azimuth */ + float _beamCenterAzimuth; + + /** azimuthal beamwidth */ + float _azimuthalBeamwidth; + + /** beam center */ + float _beamCenterDE; + + /** DE beamwidth (vertical beamwidth) */ + float _deBeamwidth; + + + public: + AcousticBeamFundamentalParameter(); + virtual ~AcousticBeamFundamentalParameter(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getActiveEmissionParameterIndex() const; + void setActiveEmissionParameterIndex(unsigned short pX); + + unsigned short getScanPattern() const; + void setScanPattern(unsigned short pX); + + float getBeamCenterAzimuth() const; + void setBeamCenterAzimuth(float pX); + + float getAzimuthalBeamwidth() const; + void setAzimuthalBeamwidth(float pX); + + float getBeamCenterDE() const; + void setBeamCenterDE(float pX); + + float getDeBeamwidth() const; + void setDeBeamwidth(float pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const AcousticBeamFundamentalParameter& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/AcousticEmitter.cpp b/cpp/DIS/AcousticEmitter.cpp new file mode 100644 index 00000000..27c39c8b --- /dev/null +++ b/cpp/DIS/AcousticEmitter.cpp @@ -0,0 +1,112 @@ +#include + +using namespace DIS; + + +AcousticEmitter::AcousticEmitter(): + _acousticName(0), + _function(0), + _acousticIdNumber(0) +{ +} + +AcousticEmitter::~AcousticEmitter() +{ +} + +unsigned short AcousticEmitter::getAcousticName() const +{ + return _acousticName; +} + +void AcousticEmitter::setAcousticName(unsigned short pX) +{ + _acousticName = pX; +} + +unsigned char AcousticEmitter::getFunction() const +{ + return _function; +} + +void AcousticEmitter::setFunction(unsigned char pX) +{ + _function = pX; +} + +unsigned char AcousticEmitter::getAcousticIdNumber() const +{ + return _acousticIdNumber; +} + +void AcousticEmitter::setAcousticIdNumber(unsigned char pX) +{ + _acousticIdNumber = pX; +} + +void AcousticEmitter::marshal(DataStream& dataStream) const +{ + dataStream << _acousticName; + dataStream << _function; + dataStream << _acousticIdNumber; +} + +void AcousticEmitter::unmarshal(DataStream& dataStream) +{ + dataStream >> _acousticName; + dataStream >> _function; + dataStream >> _acousticIdNumber; +} + + +bool AcousticEmitter::operator ==(const AcousticEmitter& rhs) const + { + bool ivarsEqual = true; + + if( ! (_acousticName == rhs._acousticName) ) ivarsEqual = false; + if( ! (_function == rhs._function) ) ivarsEqual = false; + if( ! (_acousticIdNumber == rhs._acousticIdNumber) ) ivarsEqual = false; + + return ivarsEqual; + } + +int AcousticEmitter::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2; // _acousticName + marshalSize = marshalSize + 1; // _function + marshalSize = marshalSize + 1; // _acousticIdNumber + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/AcousticEmitter.h b/cpp/DIS/AcousticEmitter.h new file mode 100644 index 00000000..5df25bea --- /dev/null +++ b/cpp/DIS/AcousticEmitter.h @@ -0,0 +1,82 @@ +#ifndef ACOUSTICEMITTER_H +#define ACOUSTICEMITTER_H + +#include +#include + + +namespace DIS +{ +// Section 5.2.35. information about a specific UA emmtter + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO AcousticEmitter +{ +protected: + /** the system for a particular UA emitter, and an enumeration */ + unsigned short _acousticName; + + /** The function of the acoustic system */ + unsigned char _function; + + /** The UA emitter identification number relative to a specific system */ + unsigned char _acousticIdNumber; + + + public: + AcousticEmitter(); + virtual ~AcousticEmitter(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getAcousticName() const; + void setAcousticName(unsigned short pX); + + unsigned char getFunction() const; + void setFunction(unsigned char pX); + + unsigned char getAcousticIdNumber() const; + void setAcousticIdNumber(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const AcousticEmitter& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/AcousticEmitterSystem.cpp b/cpp/DIS/AcousticEmitterSystem.cpp new file mode 100644 index 00000000..7aecfeaa --- /dev/null +++ b/cpp/DIS/AcousticEmitterSystem.cpp @@ -0,0 +1,112 @@ +#include + +using namespace DIS; + + +AcousticEmitterSystem::AcousticEmitterSystem(): + _acousticName(0), + _acousticFunction(0), + _acousticID(0) +{ +} + +AcousticEmitterSystem::~AcousticEmitterSystem() +{ +} + +unsigned short AcousticEmitterSystem::getAcousticName() const +{ + return _acousticName; +} + +void AcousticEmitterSystem::setAcousticName(unsigned short pX) +{ + _acousticName = pX; +} + +unsigned char AcousticEmitterSystem::getAcousticFunction() const +{ + return _acousticFunction; +} + +void AcousticEmitterSystem::setAcousticFunction(unsigned char pX) +{ + _acousticFunction = pX; +} + +unsigned char AcousticEmitterSystem::getAcousticID() const +{ + return _acousticID; +} + +void AcousticEmitterSystem::setAcousticID(unsigned char pX) +{ + _acousticID = pX; +} + +void AcousticEmitterSystem::marshal(DataStream& dataStream) const +{ + dataStream << _acousticName; + dataStream << _acousticFunction; + dataStream << _acousticID; +} + +void AcousticEmitterSystem::unmarshal(DataStream& dataStream) +{ + dataStream >> _acousticName; + dataStream >> _acousticFunction; + dataStream >> _acousticID; +} + + +bool AcousticEmitterSystem::operator ==(const AcousticEmitterSystem& rhs) const + { + bool ivarsEqual = true; + + if( ! (_acousticName == rhs._acousticName) ) ivarsEqual = false; + if( ! (_acousticFunction == rhs._acousticFunction) ) ivarsEqual = false; + if( ! (_acousticID == rhs._acousticID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int AcousticEmitterSystem::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2; // _acousticName + marshalSize = marshalSize + 1; // _acousticFunction + marshalSize = marshalSize + 1; // _acousticID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/AcousticEmitterSystem.h b/cpp/DIS/AcousticEmitterSystem.h new file mode 100644 index 00000000..432bd98f --- /dev/null +++ b/cpp/DIS/AcousticEmitterSystem.h @@ -0,0 +1,82 @@ +#ifndef ACOUSTICEMITTERSYSTEM_H +#define ACOUSTICEMITTERSYSTEM_H + +#include +#include + + +namespace DIS +{ +// 5.3.35: Information about a particular UA emitter shall be represented using an Acoustic Emitter System record. This record shall consist of three fields: Acoustic Name, Function, and Acoustic ID Number + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO AcousticEmitterSystem +{ +protected: + /** This field shall specify the system for a particular UA emitter. */ + unsigned short _acousticName; + + /** This field shall describe the function of the acoustic system. */ + unsigned char _acousticFunction; + + /** This field shall specify the UA emitter identification number relative to a specific system. This field shall be represented by an 8-bit unsigned integer. This field allows the differentiation of multiple systems on an entity, even if in some instances two or more of the systems may be identical UA emitter types. Numbering of systems shall begin with the value 1. */ + unsigned char _acousticID; + + + public: + AcousticEmitterSystem(); + virtual ~AcousticEmitterSystem(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getAcousticName() const; + void setAcousticName(unsigned short pX); + + unsigned char getAcousticFunction() const; + void setAcousticFunction(unsigned char pX); + + unsigned char getAcousticID() const; + void setAcousticID(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const AcousticEmitterSystem& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/AcousticEmitterSystemData.cpp b/cpp/DIS/AcousticEmitterSystemData.cpp new file mode 100644 index 00000000..15295d70 --- /dev/null +++ b/cpp/DIS/AcousticEmitterSystemData.cpp @@ -0,0 +1,190 @@ +#include + +using namespace DIS; + + +AcousticEmitterSystemData::AcousticEmitterSystemData(): + _emitterSystemDataLength(0), + _numberOfBeams(0), + _pad2(0), + _acousticEmitterSystem(), + _emitterLocation() +{ +} + +AcousticEmitterSystemData::~AcousticEmitterSystemData() +{ + _beamRecords.clear(); +} + +unsigned char AcousticEmitterSystemData::getEmitterSystemDataLength() const +{ + return _emitterSystemDataLength; +} + +void AcousticEmitterSystemData::setEmitterSystemDataLength(unsigned char pX) +{ + _emitterSystemDataLength = pX; +} + +unsigned char AcousticEmitterSystemData::getNumberOfBeams() const +{ + return _beamRecords.size(); +} + +unsigned short AcousticEmitterSystemData::getPad2() const +{ + return _pad2; +} + +void AcousticEmitterSystemData::setPad2(unsigned short pX) +{ + _pad2 = pX; +} + +AcousticEmitterSystem& AcousticEmitterSystemData::getAcousticEmitterSystem() +{ + return _acousticEmitterSystem; +} + +const AcousticEmitterSystem& AcousticEmitterSystemData::getAcousticEmitterSystem() const +{ + return _acousticEmitterSystem; +} + +void AcousticEmitterSystemData::setAcousticEmitterSystem(const AcousticEmitterSystem &pX) +{ + _acousticEmitterSystem = pX; +} + +Vector3Float& AcousticEmitterSystemData::getEmitterLocation() +{ + return _emitterLocation; +} + +const Vector3Float& AcousticEmitterSystemData::getEmitterLocation() const +{ + return _emitterLocation; +} + +void AcousticEmitterSystemData::setEmitterLocation(const Vector3Float &pX) +{ + _emitterLocation = pX; +} + +std::vector& AcousticEmitterSystemData::getBeamRecords() +{ + return _beamRecords; +} + +const std::vector& AcousticEmitterSystemData::getBeamRecords() const +{ + return _beamRecords; +} + +void AcousticEmitterSystemData::setBeamRecords(const std::vector& pX) +{ + _beamRecords = pX; +} + +void AcousticEmitterSystemData::marshal(DataStream& dataStream) const +{ + dataStream << _emitterSystemDataLength; + dataStream << ( unsigned char )_beamRecords.size(); + dataStream << _pad2; + _acousticEmitterSystem.marshal(dataStream); + _emitterLocation.marshal(dataStream); + + for(size_t idx = 0; idx < _beamRecords.size(); idx++) + { + AcousticBeamData x = _beamRecords[idx]; + x.marshal(dataStream); + } + +} + +void AcousticEmitterSystemData::unmarshal(DataStream& dataStream) +{ + dataStream >> _emitterSystemDataLength; + dataStream >> _numberOfBeams; + dataStream >> _pad2; + _acousticEmitterSystem.unmarshal(dataStream); + _emitterLocation.unmarshal(dataStream); + + _beamRecords.clear(); + for(size_t idx = 0; idx < _numberOfBeams; idx++) + { + AcousticBeamData x; + x.unmarshal(dataStream); + _beamRecords.push_back(x); + } +} + + +bool AcousticEmitterSystemData::operator ==(const AcousticEmitterSystemData& rhs) const + { + bool ivarsEqual = true; + + if( ! (_emitterSystemDataLength == rhs._emitterSystemDataLength) ) ivarsEqual = false; + if( ! (_pad2 == rhs._pad2) ) ivarsEqual = false; + if( ! (_acousticEmitterSystem == rhs._acousticEmitterSystem) ) ivarsEqual = false; + if( ! (_emitterLocation == rhs._emitterLocation) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _beamRecords.size(); idx++) + { + if( ! ( _beamRecords[idx] == rhs._beamRecords[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int AcousticEmitterSystemData::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _emitterSystemDataLength + marshalSize = marshalSize + 1; // _numberOfBeams + marshalSize = marshalSize + 2; // _pad2 + marshalSize = marshalSize + _acousticEmitterSystem.getMarshalledSize(); // _acousticEmitterSystem + marshalSize = marshalSize + _emitterLocation.getMarshalledSize(); // _emitterLocation + + for(int idx=0; idx < _beamRecords.size(); idx++) + { + AcousticBeamData listElement = _beamRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/AcousticEmitterSystemData.h b/cpp/DIS/AcousticEmitterSystemData.h new file mode 100644 index 00000000..d01002c3 --- /dev/null +++ b/cpp/DIS/AcousticEmitterSystemData.h @@ -0,0 +1,106 @@ +#ifndef ACOUSTICEMITTERSYSTEMDATA_H +#define ACOUSTICEMITTERSYSTEMDATA_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Used in the UA pdu; ties together an emmitter and a location. This requires manual cleanup; the beam data should not be attached to each emitter system. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO AcousticEmitterSystemData +{ +protected: + /** Length of emitter system data */ + unsigned char _emitterSystemDataLength; + + /** Number of beams */ + unsigned char _numberOfBeams; + + /** padding */ + unsigned short _pad2; + + /** This field shall specify the system for a particular UA emitter. */ + AcousticEmitterSystem _acousticEmitterSystem; + + /** Represents the location wrt the entity */ + Vector3Float _emitterLocation; + + /** For each beam in numberOfBeams, an emitter system. This is not right--the beam records need to be at the end of the PDU, rather than attached to each system. */ + std::vector _beamRecords; + + + public: + AcousticEmitterSystemData(); + virtual ~AcousticEmitterSystemData(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getEmitterSystemDataLength() const; + void setEmitterSystemDataLength(unsigned char pX); + + unsigned char getNumberOfBeams() const; + + unsigned short getPad2() const; + void setPad2(unsigned short pX); + + AcousticEmitterSystem& getAcousticEmitterSystem(); + const AcousticEmitterSystem& getAcousticEmitterSystem() const; + void setAcousticEmitterSystem(const AcousticEmitterSystem &pX); + + Vector3Float& getEmitterLocation(); + const Vector3Float& getEmitterLocation() const; + void setEmitterLocation(const Vector3Float &pX); + + std::vector& getBeamRecords(); + const std::vector& getBeamRecords() const; + void setBeamRecords(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const AcousticEmitterSystemData& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ActionRequestPdu.cpp b/cpp/DIS/ActionRequestPdu.cpp new file mode 100644 index 00000000..24698d0b --- /dev/null +++ b/cpp/DIS/ActionRequestPdu.cpp @@ -0,0 +1,209 @@ +#include + +using namespace DIS; + + +ActionRequestPdu::ActionRequestPdu() : SimulationManagementFamilyPdu(), + _requestID(0), + _actionID(0), + _numberOfFixedDatumRecords(0), + _numberOfVariableDatumRecords(0) +{ + setPduType( 16 ); +} + +ActionRequestPdu::~ActionRequestPdu() +{ + _fixedDatums.clear(); + _variableDatums.clear(); +} + +unsigned int ActionRequestPdu::getRequestID() const +{ + return _requestID; +} + +void ActionRequestPdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +unsigned int ActionRequestPdu::getActionID() const +{ + return _actionID; +} + +void ActionRequestPdu::setActionID(unsigned int pX) +{ + _actionID = pX; +} + +unsigned int ActionRequestPdu::getNumberOfFixedDatumRecords() const +{ + return _fixedDatums.size(); +} + +unsigned int ActionRequestPdu::getNumberOfVariableDatumRecords() const +{ + return _variableDatums.size(); +} + +std::vector& ActionRequestPdu::getFixedDatums() +{ + return _fixedDatums; +} + +const std::vector& ActionRequestPdu::getFixedDatums() const +{ + return _fixedDatums; +} + +void ActionRequestPdu::setFixedDatums(const std::vector& pX) +{ + _fixedDatums = pX; +} + +std::vector& ActionRequestPdu::getVariableDatums() +{ + return _variableDatums; +} + +const std::vector& ActionRequestPdu::getVariableDatums() const +{ + return _variableDatums; +} + +void ActionRequestPdu::setVariableDatums(const std::vector& pX) +{ + _variableDatums = pX; +} + +void ActionRequestPdu::marshal(DataStream& dataStream) const +{ + SimulationManagementFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _requestID; + dataStream << _actionID; + dataStream << ( unsigned int )_fixedDatums.size(); + dataStream << ( unsigned int )_variableDatums.size(); + + for(size_t idx = 0; idx < _fixedDatums.size(); idx++) + { + FixedDatum x = _fixedDatums[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { + VariableDatum x = _variableDatums[idx]; + x.marshal(dataStream); + } + +} + +void ActionRequestPdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _requestID; + dataStream >> _actionID; + dataStream >> _numberOfFixedDatumRecords; + dataStream >> _numberOfVariableDatumRecords; + + _fixedDatums.clear(); + for(size_t idx = 0; idx < _numberOfFixedDatumRecords; idx++) + { + FixedDatum x; + x.unmarshal(dataStream); + _fixedDatums.push_back(x); + } + + _variableDatums.clear(); + for(size_t idx = 0; idx < _numberOfVariableDatumRecords; idx++) + { + VariableDatum x; + x.unmarshal(dataStream); + _variableDatums.push_back(x); + } +} + + +bool ActionRequestPdu::operator ==(const ActionRequestPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementFamilyPdu::operator==(rhs); + + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + if( ! (_actionID == rhs._actionID) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _fixedDatums.size(); idx++) + { + if( ! ( _fixedDatums[idx] == rhs._fixedDatums[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { + if( ! ( _variableDatums[idx] == rhs._variableDatums[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int ActionRequestPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 4; // _requestID + marshalSize = marshalSize + 4; // _actionID + marshalSize = marshalSize + 4; // _numberOfFixedDatumRecords + marshalSize = marshalSize + 4; // _numberOfVariableDatumRecords + + for(int idx=0; idx < _fixedDatums.size(); idx++) + { + FixedDatum listElement = _fixedDatums[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _variableDatums.size(); idx++) + { + VariableDatum listElement = _variableDatums[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ActionRequestPdu.h b/cpp/DIS/ActionRequestPdu.h new file mode 100644 index 00000000..18e9e008 --- /dev/null +++ b/cpp/DIS/ActionRequestPdu.h @@ -0,0 +1,104 @@ +#ifndef ACTIONREQUESTPDU_H +#define ACTIONREQUESTPDU_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.6.6. Request from simulation manager to an entity. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ActionRequestPdu : public SimulationManagementFamilyPdu +{ +protected: + /** Request ID that is unique */ + unsigned int _requestID; + + /** identifies the action being requested */ + unsigned int _actionID; + + /** Number of fixed datum records */ + unsigned int _numberOfFixedDatumRecords; + + /** Number of variable datum records */ + unsigned int _numberOfVariableDatumRecords; + + /** variable length list of fixed datums */ + std::vector _fixedDatums; + + /** variable length list of variable length datums */ + std::vector _variableDatums; + + + public: + ActionRequestPdu(); + virtual ~ActionRequestPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + unsigned int getActionID() const; + void setActionID(unsigned int pX); + + unsigned int getNumberOfFixedDatumRecords() const; + + unsigned int getNumberOfVariableDatumRecords() const; + + std::vector& getFixedDatums(); + const std::vector& getFixedDatums() const; + void setFixedDatums(const std::vector& pX); + + std::vector& getVariableDatums(); + const std::vector& getVariableDatums() const; + void setVariableDatums(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ActionRequestPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ActionRequestReliablePdu.cpp b/cpp/DIS/ActionRequestReliablePdu.cpp new file mode 100644 index 00000000..aed563b8 --- /dev/null +++ b/cpp/DIS/ActionRequestReliablePdu.cpp @@ -0,0 +1,254 @@ +#include + +using namespace DIS; + + +ActionRequestReliablePdu::ActionRequestReliablePdu() : SimulationManagementWithReliabilityFamilyPdu(), + _requiredReliabilityService(0), + _pad1(0), + _pad2(0), + _requestID(0), + _actionID(0), + _numberOfFixedDatumRecords(0), + _numberOfVariableDatumRecords(0) +{ + setPduType( 56 ); +} + +ActionRequestReliablePdu::~ActionRequestReliablePdu() +{ + _fixedDatumRecords.clear(); + _variableDatumRecords.clear(); +} + +unsigned char ActionRequestReliablePdu::getRequiredReliabilityService() const +{ + return _requiredReliabilityService; +} + +void ActionRequestReliablePdu::setRequiredReliabilityService(unsigned char pX) +{ + _requiredReliabilityService = pX; +} + +unsigned short ActionRequestReliablePdu::getPad1() const +{ + return _pad1; +} + +void ActionRequestReliablePdu::setPad1(unsigned short pX) +{ + _pad1 = pX; +} + +unsigned char ActionRequestReliablePdu::getPad2() const +{ + return _pad2; +} + +void ActionRequestReliablePdu::setPad2(unsigned char pX) +{ + _pad2 = pX; +} + +unsigned int ActionRequestReliablePdu::getRequestID() const +{ + return _requestID; +} + +void ActionRequestReliablePdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +unsigned int ActionRequestReliablePdu::getActionID() const +{ + return _actionID; +} + +void ActionRequestReliablePdu::setActionID(unsigned int pX) +{ + _actionID = pX; +} + +unsigned int ActionRequestReliablePdu::getNumberOfFixedDatumRecords() const +{ + return _fixedDatumRecords.size(); +} + +unsigned int ActionRequestReliablePdu::getNumberOfVariableDatumRecords() const +{ + return _variableDatumRecords.size(); +} + +std::vector& ActionRequestReliablePdu::getFixedDatumRecords() +{ + return _fixedDatumRecords; +} + +const std::vector& ActionRequestReliablePdu::getFixedDatumRecords() const +{ + return _fixedDatumRecords; +} + +void ActionRequestReliablePdu::setFixedDatumRecords(const std::vector& pX) +{ + _fixedDatumRecords = pX; +} + +std::vector& ActionRequestReliablePdu::getVariableDatumRecords() +{ + return _variableDatumRecords; +} + +const std::vector& ActionRequestReliablePdu::getVariableDatumRecords() const +{ + return _variableDatumRecords; +} + +void ActionRequestReliablePdu::setVariableDatumRecords(const std::vector& pX) +{ + _variableDatumRecords = pX; +} + +void ActionRequestReliablePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementWithReliabilityFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _requiredReliabilityService; + dataStream << _pad1; + dataStream << _pad2; + dataStream << _requestID; + dataStream << _actionID; + dataStream << ( unsigned int )_fixedDatumRecords.size(); + dataStream << ( unsigned int )_variableDatumRecords.size(); + + for(size_t idx = 0; idx < _fixedDatumRecords.size(); idx++) + { + FixedDatum x = _fixedDatumRecords[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _variableDatumRecords.size(); idx++) + { + VariableDatum x = _variableDatumRecords[idx]; + x.marshal(dataStream); + } + +} + +void ActionRequestReliablePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementWithReliabilityFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _requiredReliabilityService; + dataStream >> _pad1; + dataStream >> _pad2; + dataStream >> _requestID; + dataStream >> _actionID; + dataStream >> _numberOfFixedDatumRecords; + dataStream >> _numberOfVariableDatumRecords; + + _fixedDatumRecords.clear(); + for(size_t idx = 0; idx < _numberOfFixedDatumRecords; idx++) + { + FixedDatum x; + x.unmarshal(dataStream); + _fixedDatumRecords.push_back(x); + } + + _variableDatumRecords.clear(); + for(size_t idx = 0; idx < _numberOfVariableDatumRecords; idx++) + { + VariableDatum x; + x.unmarshal(dataStream); + _variableDatumRecords.push_back(x); + } +} + + +bool ActionRequestReliablePdu::operator ==(const ActionRequestReliablePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementWithReliabilityFamilyPdu::operator==(rhs); + + if( ! (_requiredReliabilityService == rhs._requiredReliabilityService) ) ivarsEqual = false; + if( ! (_pad1 == rhs._pad1) ) ivarsEqual = false; + if( ! (_pad2 == rhs._pad2) ) ivarsEqual = false; + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + if( ! (_actionID == rhs._actionID) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _fixedDatumRecords.size(); idx++) + { + if( ! ( _fixedDatumRecords[idx] == rhs._fixedDatumRecords[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _variableDatumRecords.size(); idx++) + { + if( ! ( _variableDatumRecords[idx] == rhs._variableDatumRecords[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int ActionRequestReliablePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementWithReliabilityFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 1; // _requiredReliabilityService + marshalSize = marshalSize + 2; // _pad1 + marshalSize = marshalSize + 1; // _pad2 + marshalSize = marshalSize + 4; // _requestID + marshalSize = marshalSize + 4; // _actionID + marshalSize = marshalSize + 4; // _numberOfFixedDatumRecords + marshalSize = marshalSize + 4; // _numberOfVariableDatumRecords + + for(int idx=0; idx < _fixedDatumRecords.size(); idx++) + { + FixedDatum listElement = _fixedDatumRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _variableDatumRecords.size(); idx++) + { + VariableDatum listElement = _variableDatumRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ActionRequestReliablePdu.h b/cpp/DIS/ActionRequestReliablePdu.h new file mode 100644 index 00000000..e9424a31 --- /dev/null +++ b/cpp/DIS/ActionRequestReliablePdu.h @@ -0,0 +1,122 @@ +#ifndef ACTIONREQUESTRELIABLEPDU_H +#define ACTIONREQUESTRELIABLEPDU_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.12.6: request from a simulation manager to a managed entity to perform a specified action. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ActionRequestReliablePdu : public SimulationManagementWithReliabilityFamilyPdu +{ +protected: + /** level of reliability service used for this transaction */ + unsigned char _requiredReliabilityService; + + /** padding */ + unsigned short _pad1; + + /** padding */ + unsigned char _pad2; + + /** request ID */ + unsigned int _requestID; + + /** request ID */ + unsigned int _actionID; + + /** Fixed datum record count */ + unsigned int _numberOfFixedDatumRecords; + + /** variable datum record count */ + unsigned int _numberOfVariableDatumRecords; + + /** Fixed datum records */ + std::vector _fixedDatumRecords; + + /** Variable datum records */ + std::vector _variableDatumRecords; + + + public: + ActionRequestReliablePdu(); + virtual ~ActionRequestReliablePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getRequiredReliabilityService() const; + void setRequiredReliabilityService(unsigned char pX); + + unsigned short getPad1() const; + void setPad1(unsigned short pX); + + unsigned char getPad2() const; + void setPad2(unsigned char pX); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + unsigned int getActionID() const; + void setActionID(unsigned int pX); + + unsigned int getNumberOfFixedDatumRecords() const; + + unsigned int getNumberOfVariableDatumRecords() const; + + std::vector& getFixedDatumRecords(); + const std::vector& getFixedDatumRecords() const; + void setFixedDatumRecords(const std::vector& pX); + + std::vector& getVariableDatumRecords(); + const std::vector& getVariableDatumRecords() const; + void setVariableDatumRecords(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ActionRequestReliablePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ActionResponsePdu.cpp b/cpp/DIS/ActionResponsePdu.cpp new file mode 100644 index 00000000..9d03deb7 --- /dev/null +++ b/cpp/DIS/ActionResponsePdu.cpp @@ -0,0 +1,209 @@ +#include + +using namespace DIS; + + +ActionResponsePdu::ActionResponsePdu() : SimulationManagementFamilyPdu(), + _requestID(0), + _requestStatus(0), + _numberOfFixedDatumRecords(0), + _numberOfVariableDatumRecords(0) +{ + setPduType( 17 ); +} + +ActionResponsePdu::~ActionResponsePdu() +{ + _fixedDatums.clear(); + _variableDatums.clear(); +} + +unsigned int ActionResponsePdu::getRequestID() const +{ + return _requestID; +} + +void ActionResponsePdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +unsigned int ActionResponsePdu::getRequestStatus() const +{ + return _requestStatus; +} + +void ActionResponsePdu::setRequestStatus(unsigned int pX) +{ + _requestStatus = pX; +} + +unsigned int ActionResponsePdu::getNumberOfFixedDatumRecords() const +{ + return _fixedDatums.size(); +} + +unsigned int ActionResponsePdu::getNumberOfVariableDatumRecords() const +{ + return _variableDatums.size(); +} + +std::vector& ActionResponsePdu::getFixedDatums() +{ + return _fixedDatums; +} + +const std::vector& ActionResponsePdu::getFixedDatums() const +{ + return _fixedDatums; +} + +void ActionResponsePdu::setFixedDatums(const std::vector& pX) +{ + _fixedDatums = pX; +} + +std::vector& ActionResponsePdu::getVariableDatums() +{ + return _variableDatums; +} + +const std::vector& ActionResponsePdu::getVariableDatums() const +{ + return _variableDatums; +} + +void ActionResponsePdu::setVariableDatums(const std::vector& pX) +{ + _variableDatums = pX; +} + +void ActionResponsePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _requestID; + dataStream << _requestStatus; + dataStream << ( unsigned int )_fixedDatums.size(); + dataStream << ( unsigned int )_variableDatums.size(); + + for(size_t idx = 0; idx < _fixedDatums.size(); idx++) + { + FixedDatum x = _fixedDatums[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { + VariableDatum x = _variableDatums[idx]; + x.marshal(dataStream); + } + +} + +void ActionResponsePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _requestID; + dataStream >> _requestStatus; + dataStream >> _numberOfFixedDatumRecords; + dataStream >> _numberOfVariableDatumRecords; + + _fixedDatums.clear(); + for(size_t idx = 0; idx < _numberOfFixedDatumRecords; idx++) + { + FixedDatum x; + x.unmarshal(dataStream); + _fixedDatums.push_back(x); + } + + _variableDatums.clear(); + for(size_t idx = 0; idx < _numberOfVariableDatumRecords; idx++) + { + VariableDatum x; + x.unmarshal(dataStream); + _variableDatums.push_back(x); + } +} + + +bool ActionResponsePdu::operator ==(const ActionResponsePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementFamilyPdu::operator==(rhs); + + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + if( ! (_requestStatus == rhs._requestStatus) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _fixedDatums.size(); idx++) + { + if( ! ( _fixedDatums[idx] == rhs._fixedDatums[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { + if( ! ( _variableDatums[idx] == rhs._variableDatums[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int ActionResponsePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 4; // _requestID + marshalSize = marshalSize + 4; // _requestStatus + marshalSize = marshalSize + 4; // _numberOfFixedDatumRecords + marshalSize = marshalSize + 4; // _numberOfVariableDatumRecords + + for(int idx=0; idx < _fixedDatums.size(); idx++) + { + FixedDatum listElement = _fixedDatums[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _variableDatums.size(); idx++) + { + VariableDatum listElement = _variableDatums[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ActionResponsePdu.h b/cpp/DIS/ActionResponsePdu.h new file mode 100644 index 00000000..ecbe2a2d --- /dev/null +++ b/cpp/DIS/ActionResponsePdu.h @@ -0,0 +1,104 @@ +#ifndef ACTIONRESPONSEPDU_H +#define ACTIONRESPONSEPDU_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.6.7. response to an action request PDU. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ActionResponsePdu : public SimulationManagementFamilyPdu +{ +protected: + /** Request ID that is unique */ + unsigned int _requestID; + + /** Status of response */ + unsigned int _requestStatus; + + /** Number of fixed datum records */ + unsigned int _numberOfFixedDatumRecords; + + /** Number of variable datum records */ + unsigned int _numberOfVariableDatumRecords; + + /** variable length list of fixed datums */ + std::vector _fixedDatums; + + /** variable length list of variable length datums */ + std::vector _variableDatums; + + + public: + ActionResponsePdu(); + virtual ~ActionResponsePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + unsigned int getRequestStatus() const; + void setRequestStatus(unsigned int pX); + + unsigned int getNumberOfFixedDatumRecords() const; + + unsigned int getNumberOfVariableDatumRecords() const; + + std::vector& getFixedDatums(); + const std::vector& getFixedDatums() const; + void setFixedDatums(const std::vector& pX); + + std::vector& getVariableDatums(); + const std::vector& getVariableDatums() const; + void setVariableDatums(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ActionResponsePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ActionResponseReliablePdu.cpp b/cpp/DIS/ActionResponseReliablePdu.cpp new file mode 100644 index 00000000..2bb14f03 --- /dev/null +++ b/cpp/DIS/ActionResponseReliablePdu.cpp @@ -0,0 +1,209 @@ +#include + +using namespace DIS; + + +ActionResponseReliablePdu::ActionResponseReliablePdu() : SimulationManagementWithReliabilityFamilyPdu(), + _requestID(0), + _responseStatus(0), + _numberOfFixedDatumRecords(0), + _numberOfVariableDatumRecords(0) +{ + setPduType( 57 ); +} + +ActionResponseReliablePdu::~ActionResponseReliablePdu() +{ + _fixedDatumRecords.clear(); + _variableDatumRecords.clear(); +} + +unsigned int ActionResponseReliablePdu::getRequestID() const +{ + return _requestID; +} + +void ActionResponseReliablePdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +unsigned int ActionResponseReliablePdu::getResponseStatus() const +{ + return _responseStatus; +} + +void ActionResponseReliablePdu::setResponseStatus(unsigned int pX) +{ + _responseStatus = pX; +} + +unsigned int ActionResponseReliablePdu::getNumberOfFixedDatumRecords() const +{ + return _fixedDatumRecords.size(); +} + +unsigned int ActionResponseReliablePdu::getNumberOfVariableDatumRecords() const +{ + return _variableDatumRecords.size(); +} + +std::vector& ActionResponseReliablePdu::getFixedDatumRecords() +{ + return _fixedDatumRecords; +} + +const std::vector& ActionResponseReliablePdu::getFixedDatumRecords() const +{ + return _fixedDatumRecords; +} + +void ActionResponseReliablePdu::setFixedDatumRecords(const std::vector& pX) +{ + _fixedDatumRecords = pX; +} + +std::vector& ActionResponseReliablePdu::getVariableDatumRecords() +{ + return _variableDatumRecords; +} + +const std::vector& ActionResponseReliablePdu::getVariableDatumRecords() const +{ + return _variableDatumRecords; +} + +void ActionResponseReliablePdu::setVariableDatumRecords(const std::vector& pX) +{ + _variableDatumRecords = pX; +} + +void ActionResponseReliablePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementWithReliabilityFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _requestID; + dataStream << _responseStatus; + dataStream << ( unsigned int )_fixedDatumRecords.size(); + dataStream << ( unsigned int )_variableDatumRecords.size(); + + for(size_t idx = 0; idx < _fixedDatumRecords.size(); idx++) + { + FixedDatum x = _fixedDatumRecords[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _variableDatumRecords.size(); idx++) + { + VariableDatum x = _variableDatumRecords[idx]; + x.marshal(dataStream); + } + +} + +void ActionResponseReliablePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementWithReliabilityFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _requestID; + dataStream >> _responseStatus; + dataStream >> _numberOfFixedDatumRecords; + dataStream >> _numberOfVariableDatumRecords; + + _fixedDatumRecords.clear(); + for(size_t idx = 0; idx < _numberOfFixedDatumRecords; idx++) + { + FixedDatum x; + x.unmarshal(dataStream); + _fixedDatumRecords.push_back(x); + } + + _variableDatumRecords.clear(); + for(size_t idx = 0; idx < _numberOfVariableDatumRecords; idx++) + { + VariableDatum x; + x.unmarshal(dataStream); + _variableDatumRecords.push_back(x); + } +} + + +bool ActionResponseReliablePdu::operator ==(const ActionResponseReliablePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementWithReliabilityFamilyPdu::operator==(rhs); + + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + if( ! (_responseStatus == rhs._responseStatus) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _fixedDatumRecords.size(); idx++) + { + if( ! ( _fixedDatumRecords[idx] == rhs._fixedDatumRecords[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _variableDatumRecords.size(); idx++) + { + if( ! ( _variableDatumRecords[idx] == rhs._variableDatumRecords[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int ActionResponseReliablePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementWithReliabilityFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 4; // _requestID + marshalSize = marshalSize + 4; // _responseStatus + marshalSize = marshalSize + 4; // _numberOfFixedDatumRecords + marshalSize = marshalSize + 4; // _numberOfVariableDatumRecords + + for(int idx=0; idx < _fixedDatumRecords.size(); idx++) + { + FixedDatum listElement = _fixedDatumRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _variableDatumRecords.size(); idx++) + { + VariableDatum listElement = _variableDatumRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ActionResponseReliablePdu.h b/cpp/DIS/ActionResponseReliablePdu.h new file mode 100644 index 00000000..b60b45c3 --- /dev/null +++ b/cpp/DIS/ActionResponseReliablePdu.h @@ -0,0 +1,104 @@ +#ifndef ACTIONRESPONSERELIABLEPDU_H +#define ACTIONRESPONSERELIABLEPDU_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.12.7: Response from an entity to an action request PDU. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ActionResponseReliablePdu : public SimulationManagementWithReliabilityFamilyPdu +{ +protected: + /** request ID */ + unsigned int _requestID; + + /** status of response */ + unsigned int _responseStatus; + + /** Fixed datum record count */ + unsigned int _numberOfFixedDatumRecords; + + /** variable datum record count */ + unsigned int _numberOfVariableDatumRecords; + + /** Fixed datum records */ + std::vector _fixedDatumRecords; + + /** Variable datum records */ + std::vector _variableDatumRecords; + + + public: + ActionResponseReliablePdu(); + virtual ~ActionResponseReliablePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + unsigned int getResponseStatus() const; + void setResponseStatus(unsigned int pX); + + unsigned int getNumberOfFixedDatumRecords() const; + + unsigned int getNumberOfVariableDatumRecords() const; + + std::vector& getFixedDatumRecords(); + const std::vector& getFixedDatumRecords() const; + void setFixedDatumRecords(const std::vector& pX); + + std::vector& getVariableDatumRecords(); + const std::vector& getVariableDatumRecords() const; + void setVariableDatumRecords(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ActionResponseReliablePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/AggregateID.cpp b/cpp/DIS/AggregateID.cpp new file mode 100644 index 00000000..0a3b2db5 --- /dev/null +++ b/cpp/DIS/AggregateID.cpp @@ -0,0 +1,112 @@ +#include + +using namespace DIS; + + +AggregateID::AggregateID(): + _site(0), + _application(0), + _aggregateID(0) +{ +} + +AggregateID::~AggregateID() +{ +} + +unsigned short AggregateID::getSite() const +{ + return _site; +} + +void AggregateID::setSite(unsigned short pX) +{ + _site = pX; +} + +unsigned short AggregateID::getApplication() const +{ + return _application; +} + +void AggregateID::setApplication(unsigned short pX) +{ + _application = pX; +} + +unsigned short AggregateID::getAggregateID() const +{ + return _aggregateID; +} + +void AggregateID::setAggregateID(unsigned short pX) +{ + _aggregateID = pX; +} + +void AggregateID::marshal(DataStream& dataStream) const +{ + dataStream << _site; + dataStream << _application; + dataStream << _aggregateID; +} + +void AggregateID::unmarshal(DataStream& dataStream) +{ + dataStream >> _site; + dataStream >> _application; + dataStream >> _aggregateID; +} + + +bool AggregateID::operator ==(const AggregateID& rhs) const + { + bool ivarsEqual = true; + + if( ! (_site == rhs._site) ) ivarsEqual = false; + if( ! (_application == rhs._application) ) ivarsEqual = false; + if( ! (_aggregateID == rhs._aggregateID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int AggregateID::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2; // _site + marshalSize = marshalSize + 2; // _application + marshalSize = marshalSize + 2; // _aggregateID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/AggregateID.h b/cpp/DIS/AggregateID.h new file mode 100644 index 00000000..437c72d1 --- /dev/null +++ b/cpp/DIS/AggregateID.h @@ -0,0 +1,82 @@ +#ifndef AGGREGATEID_H +#define AGGREGATEID_H + +#include +#include + + +namespace DIS +{ +// Section 5.2.36. Each agregate in a given simulation app is given an aggregate identifier number unique for all other aggregates in that app and in that exercise. The id is valid for the duration of the the exercise. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO AggregateID +{ +protected: + /** The site ID */ + unsigned short _site; + + /** The application ID */ + unsigned short _application; + + /** the aggregate ID */ + unsigned short _aggregateID; + + + public: + AggregateID(); + virtual ~AggregateID(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getSite() const; + void setSite(unsigned short pX); + + unsigned short getApplication() const; + void setApplication(unsigned short pX); + + unsigned short getAggregateID() const; + void setAggregateID(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const AggregateID& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/AggregateMarking.cpp b/cpp/DIS/AggregateMarking.cpp new file mode 100644 index 00000000..ed4affc9 --- /dev/null +++ b/cpp/DIS/AggregateMarking.cpp @@ -0,0 +1,125 @@ +#include + +using namespace DIS; + + +AggregateMarking::AggregateMarking(): + _characterSet(0) +{ + // Initialize fixed length array + for(int lengthcharacters= 0; lengthcharacters < 31; lengthcharacters++) + { + _characters[lengthcharacters] = 0; + } + +} + +AggregateMarking::~AggregateMarking() +{ +} + +unsigned char AggregateMarking::getCharacterSet() const +{ + return _characterSet; +} + +void AggregateMarking::setCharacterSet(unsigned char pX) +{ + _characterSet = pX; +} + +char* AggregateMarking::getCharacters() +{ + return _characters; +} + +const char* AggregateMarking::getCharacters() const +{ + return _characters; +} + +void AggregateMarking::setCharacters(const char* x) +{ + for(int i = 0; i < 31; i++) + { + _characters[i] = x[i]; + } +} + +void AggregateMarking::marshal(DataStream& dataStream) const +{ + dataStream << _characterSet; + + for(size_t idx = 0; idx < 31; idx++) + { + dataStream << _characters[idx]; + } + +} + +void AggregateMarking::unmarshal(DataStream& dataStream) +{ + dataStream >> _characterSet; + + for(size_t idx = 0; idx < 31; idx++) + { + dataStream >> _characters[idx]; + } + +} + + +bool AggregateMarking::operator ==(const AggregateMarking& rhs) const + { + bool ivarsEqual = true; + + if( ! (_characterSet == rhs._characterSet) ) ivarsEqual = false; + + for(char idx = 0; idx < 31; idx++) + { + if(!(_characters[idx] == rhs._characters[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int AggregateMarking::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _characterSet + marshalSize = marshalSize + 31 * 1; // _characters + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/AggregateMarking.h b/cpp/DIS/AggregateMarking.h new file mode 100644 index 00000000..f044d724 --- /dev/null +++ b/cpp/DIS/AggregateMarking.h @@ -0,0 +1,77 @@ +#ifndef AGGREGATEMARKING_H +#define AGGREGATEMARKING_H + +#include +#include + + +namespace DIS +{ +// Section 5.2.37. Specifies the character set used inthe first byte, followed by up to 31 characters of text data. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO AggregateMarking +{ +protected: + /** The character set */ + unsigned char _characterSet; + + /** The characters */ + char _characters[31]; + + + public: + AggregateMarking(); + virtual ~AggregateMarking(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getCharacterSet() const; + void setCharacterSet(unsigned char pX); + + char* getCharacters(); + const char* getCharacters() const; + void setCharacters( const char* pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const AggregateMarking& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/AggregateStatePdu.cpp b/cpp/DIS/AggregateStatePdu.cpp new file mode 100644 index 00000000..c7727165 --- /dev/null +++ b/cpp/DIS/AggregateStatePdu.cpp @@ -0,0 +1,538 @@ +#include + +using namespace DIS; + + +AggregateStatePdu::AggregateStatePdu() : EntityManagementFamilyPdu(), + _aggregateID(), + _forceID(0), + _aggregateState(0), + _aggregateType(), + _formation(0), + _aggregateMarking(), + _dimensions(), + _orientation(), + _centerOfMass(), + _velocity(), + _numberOfDisAggregates(0), + _numberOfDisEntities(0), + _numberOfSilentAggregateTypes(0), + _numberOfSilentEntityTypes(0), + _pad2(0), + _numberOfVariableDatumRecords(0) +{ + setPduType( 33 ); +} + +AggregateStatePdu::~AggregateStatePdu() +{ + _aggregateIDList.clear(); + _entityIDList.clear(); + _silentAggregateSystemList.clear(); + _silentEntitySystemList.clear(); + _variableDatumList.clear(); +} + +EntityID& AggregateStatePdu::getAggregateID() +{ + return _aggregateID; +} + +const EntityID& AggregateStatePdu::getAggregateID() const +{ + return _aggregateID; +} + +void AggregateStatePdu::setAggregateID(const EntityID &pX) +{ + _aggregateID = pX; +} + +unsigned char AggregateStatePdu::getForceID() const +{ + return _forceID; +} + +void AggregateStatePdu::setForceID(unsigned char pX) +{ + _forceID = pX; +} + +unsigned char AggregateStatePdu::getAggregateState() const +{ + return _aggregateState; +} + +void AggregateStatePdu::setAggregateState(unsigned char pX) +{ + _aggregateState = pX; +} + +EntityType& AggregateStatePdu::getAggregateType() +{ + return _aggregateType; +} + +const EntityType& AggregateStatePdu::getAggregateType() const +{ + return _aggregateType; +} + +void AggregateStatePdu::setAggregateType(const EntityType &pX) +{ + _aggregateType = pX; +} + +unsigned int AggregateStatePdu::getFormation() const +{ + return _formation; +} + +void AggregateStatePdu::setFormation(unsigned int pX) +{ + _formation = pX; +} + +AggregateMarking& AggregateStatePdu::getAggregateMarking() +{ + return _aggregateMarking; +} + +const AggregateMarking& AggregateStatePdu::getAggregateMarking() const +{ + return _aggregateMarking; +} + +void AggregateStatePdu::setAggregateMarking(const AggregateMarking &pX) +{ + _aggregateMarking = pX; +} + +Vector3Float& AggregateStatePdu::getDimensions() +{ + return _dimensions; +} + +const Vector3Float& AggregateStatePdu::getDimensions() const +{ + return _dimensions; +} + +void AggregateStatePdu::setDimensions(const Vector3Float &pX) +{ + _dimensions = pX; +} + +Orientation& AggregateStatePdu::getOrientation() +{ + return _orientation; +} + +const Orientation& AggregateStatePdu::getOrientation() const +{ + return _orientation; +} + +void AggregateStatePdu::setOrientation(const Orientation &pX) +{ + _orientation = pX; +} + +Vector3Double& AggregateStatePdu::getCenterOfMass() +{ + return _centerOfMass; +} + +const Vector3Double& AggregateStatePdu::getCenterOfMass() const +{ + return _centerOfMass; +} + +void AggregateStatePdu::setCenterOfMass(const Vector3Double &pX) +{ + _centerOfMass = pX; +} + +Vector3Float& AggregateStatePdu::getVelocity() +{ + return _velocity; +} + +const Vector3Float& AggregateStatePdu::getVelocity() const +{ + return _velocity; +} + +void AggregateStatePdu::setVelocity(const Vector3Float &pX) +{ + _velocity = pX; +} + +unsigned short AggregateStatePdu::getNumberOfDisAggregates() const +{ + return _aggregateIDList.size(); +} + +unsigned short AggregateStatePdu::getNumberOfDisEntities() const +{ + return _entityIDList.size(); +} + +unsigned short AggregateStatePdu::getNumberOfSilentAggregateTypes() const +{ + return _silentAggregateSystemList.size(); +} + +unsigned short AggregateStatePdu::getNumberOfSilentEntityTypes() const +{ + return _silentEntitySystemList.size(); +} + +std::vector& AggregateStatePdu::getAggregateIDList() +{ + return _aggregateIDList; +} + +const std::vector& AggregateStatePdu::getAggregateIDList() const +{ + return _aggregateIDList; +} + +void AggregateStatePdu::setAggregateIDList(const std::vector& pX) +{ + _aggregateIDList = pX; +} + +std::vector& AggregateStatePdu::getEntityIDList() +{ + return _entityIDList; +} + +const std::vector& AggregateStatePdu::getEntityIDList() const +{ + return _entityIDList; +} + +void AggregateStatePdu::setEntityIDList(const std::vector& pX) +{ + _entityIDList = pX; +} + +unsigned char AggregateStatePdu::getPad2() const +{ + return _pad2; +} + +void AggregateStatePdu::setPad2(unsigned char pX) +{ + _pad2 = pX; +} + +std::vector& AggregateStatePdu::getSilentAggregateSystemList() +{ + return _silentAggregateSystemList; +} + +const std::vector& AggregateStatePdu::getSilentAggregateSystemList() const +{ + return _silentAggregateSystemList; +} + +void AggregateStatePdu::setSilentAggregateSystemList(const std::vector& pX) +{ + _silentAggregateSystemList = pX; +} + +std::vector& AggregateStatePdu::getSilentEntitySystemList() +{ + return _silentEntitySystemList; +} + +const std::vector& AggregateStatePdu::getSilentEntitySystemList() const +{ + return _silentEntitySystemList; +} + +void AggregateStatePdu::setSilentEntitySystemList(const std::vector& pX) +{ + _silentEntitySystemList = pX; +} + +unsigned int AggregateStatePdu::getNumberOfVariableDatumRecords() const +{ + return _variableDatumList.size(); +} + +std::vector& AggregateStatePdu::getVariableDatumList() +{ + return _variableDatumList; +} + +const std::vector& AggregateStatePdu::getVariableDatumList() const +{ + return _variableDatumList; +} + +void AggregateStatePdu::setVariableDatumList(const std::vector& pX) +{ + _variableDatumList = pX; +} + +void AggregateStatePdu::marshal(DataStream& dataStream) const +{ + EntityManagementFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _aggregateID.marshal(dataStream); + dataStream << _forceID; + dataStream << _aggregateState; + _aggregateType.marshal(dataStream); + dataStream << _formation; + _aggregateMarking.marshal(dataStream); + _dimensions.marshal(dataStream); + _orientation.marshal(dataStream); + _centerOfMass.marshal(dataStream); + _velocity.marshal(dataStream); + dataStream << ( unsigned short )_aggregateIDList.size(); + dataStream << ( unsigned short )_entityIDList.size(); + dataStream << ( unsigned short )_silentAggregateSystemList.size(); + dataStream << ( unsigned short )_silentEntitySystemList.size(); + + for(size_t idx = 0; idx < _aggregateIDList.size(); idx++) + { + AggregateID x = _aggregateIDList[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _entityIDList.size(); idx++) + { + EntityID x = _entityIDList[idx]; + x.marshal(dataStream); + } + + dataStream << _pad2; + + for(size_t idx = 0; idx < _silentAggregateSystemList.size(); idx++) + { + EntityType x = _silentAggregateSystemList[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _silentEntitySystemList.size(); idx++) + { + EntityType x = _silentEntitySystemList[idx]; + x.marshal(dataStream); + } + + dataStream << ( unsigned int )_variableDatumList.size(); + + for(size_t idx = 0; idx < _variableDatumList.size(); idx++) + { + VariableDatum x = _variableDatumList[idx]; + x.marshal(dataStream); + } + +} + +void AggregateStatePdu::unmarshal(DataStream& dataStream) +{ + EntityManagementFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _aggregateID.unmarshal(dataStream); + dataStream >> _forceID; + dataStream >> _aggregateState; + _aggregateType.unmarshal(dataStream); + dataStream >> _formation; + _aggregateMarking.unmarshal(dataStream); + _dimensions.unmarshal(dataStream); + _orientation.unmarshal(dataStream); + _centerOfMass.unmarshal(dataStream); + _velocity.unmarshal(dataStream); + dataStream >> _numberOfDisAggregates; + dataStream >> _numberOfDisEntities; + dataStream >> _numberOfSilentAggregateTypes; + dataStream >> _numberOfSilentEntityTypes; + + _aggregateIDList.clear(); + for(size_t idx = 0; idx < _numberOfDisAggregates; idx++) + { + AggregateID x; + x.unmarshal(dataStream); + _aggregateIDList.push_back(x); + } + + _entityIDList.clear(); + for(size_t idx = 0; idx < _numberOfDisEntities; idx++) + { + EntityID x; + x.unmarshal(dataStream); + _entityIDList.push_back(x); + } + dataStream >> _pad2; + + _silentAggregateSystemList.clear(); + for(size_t idx = 0; idx < _numberOfSilentAggregateTypes; idx++) + { + EntityType x; + x.unmarshal(dataStream); + _silentAggregateSystemList.push_back(x); + } + + _silentEntitySystemList.clear(); + for(size_t idx = 0; idx < _numberOfSilentEntityTypes; idx++) + { + EntityType x; + x.unmarshal(dataStream); + _silentEntitySystemList.push_back(x); + } + dataStream >> _numberOfVariableDatumRecords; + + _variableDatumList.clear(); + for(size_t idx = 0; idx < _numberOfVariableDatumRecords; idx++) + { + VariableDatum x; + x.unmarshal(dataStream); + _variableDatumList.push_back(x); + } +} + + +bool AggregateStatePdu::operator ==(const AggregateStatePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = EntityManagementFamilyPdu::operator==(rhs); + + if( ! (_aggregateID == rhs._aggregateID) ) ivarsEqual = false; + if( ! (_forceID == rhs._forceID) ) ivarsEqual = false; + if( ! (_aggregateState == rhs._aggregateState) ) ivarsEqual = false; + if( ! (_aggregateType == rhs._aggregateType) ) ivarsEqual = false; + if( ! (_formation == rhs._formation) ) ivarsEqual = false; + if( ! (_aggregateMarking == rhs._aggregateMarking) ) ivarsEqual = false; + if( ! (_dimensions == rhs._dimensions) ) ivarsEqual = false; + if( ! (_orientation == rhs._orientation) ) ivarsEqual = false; + if( ! (_centerOfMass == rhs._centerOfMass) ) ivarsEqual = false; + if( ! (_velocity == rhs._velocity) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _aggregateIDList.size(); idx++) + { + if( ! ( _aggregateIDList[idx] == rhs._aggregateIDList[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _entityIDList.size(); idx++) + { + if( ! ( _entityIDList[idx] == rhs._entityIDList[idx]) ) ivarsEqual = false; + } + + if( ! (_pad2 == rhs._pad2) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _silentAggregateSystemList.size(); idx++) + { + if( ! ( _silentAggregateSystemList[idx] == rhs._silentAggregateSystemList[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _silentEntitySystemList.size(); idx++) + { + if( ! ( _silentEntitySystemList[idx] == rhs._silentEntitySystemList[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _variableDatumList.size(); idx++) + { + if( ! ( _variableDatumList[idx] == rhs._variableDatumList[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int AggregateStatePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = EntityManagementFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _aggregateID.getMarshalledSize(); // _aggregateID + marshalSize = marshalSize + 1; // _forceID + marshalSize = marshalSize + 1; // _aggregateState + marshalSize = marshalSize + _aggregateType.getMarshalledSize(); // _aggregateType + marshalSize = marshalSize + 4; // _formation + marshalSize = marshalSize + _aggregateMarking.getMarshalledSize(); // _aggregateMarking + marshalSize = marshalSize + _dimensions.getMarshalledSize(); // _dimensions + marshalSize = marshalSize + _orientation.getMarshalledSize(); // _orientation + marshalSize = marshalSize + _centerOfMass.getMarshalledSize(); // _centerOfMass + marshalSize = marshalSize + _velocity.getMarshalledSize(); // _velocity + marshalSize = marshalSize + 2; // _numberOfDisAggregates + marshalSize = marshalSize + 2; // _numberOfDisEntities + marshalSize = marshalSize + 2; // _numberOfSilentAggregateTypes + marshalSize = marshalSize + 2; // _numberOfSilentEntityTypes + + for(int idx=0; idx < _aggregateIDList.size(); idx++) + { + AggregateID listElement = _aggregateIDList[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _entityIDList.size(); idx++) + { + EntityID listElement = _entityIDList[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + marshalSize = marshalSize + 1; // _pad2 + + for(int idx=0; idx < _silentAggregateSystemList.size(); idx++) + { + EntityType listElement = _silentAggregateSystemList[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _silentEntitySystemList.size(); idx++) + { + EntityType listElement = _silentEntitySystemList[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + marshalSize = marshalSize + 4; // _numberOfVariableDatumRecords + + for(int idx=0; idx < _variableDatumList.size(); idx++) + { + VariableDatum listElement = _variableDatumList[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/AggregateStatePdu.h b/cpp/DIS/AggregateStatePdu.h new file mode 100644 index 00000000..916c5778 --- /dev/null +++ b/cpp/DIS/AggregateStatePdu.h @@ -0,0 +1,211 @@ +#ifndef AGGREGATESTATEPDU_H +#define AGGREGATESTATEPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.9.1 informationa bout aggregating entities anc communicating information about the aggregated entities. requires manual intervention to fix the padding between entityID lists and silent aggregate sysem lists--this padding is dependent on how many entityIDs there are, and needs to be on a 32 bit word boundary. UNFINISHED + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO AggregateStatePdu : public EntityManagementFamilyPdu +{ +protected: + /** ID of aggregated entities */ + EntityID _aggregateID; + + /** force ID */ + unsigned char _forceID; + + /** state of aggregate */ + unsigned char _aggregateState; + + /** entity type of the aggregated entities */ + EntityType _aggregateType; + + /** formation of aggregated entities */ + unsigned int _formation; + + /** marking for aggregate; first char is charset type, rest is char data */ + AggregateMarking _aggregateMarking; + + /** dimensions of bounding box for the aggregated entities, origin at the center of mass */ + Vector3Float _dimensions; + + /** orientation of the bounding box */ + Orientation _orientation; + + /** center of mass of the aggregation */ + Vector3Double _centerOfMass; + + /** velocity of aggregation */ + Vector3Float _velocity; + + /** number of aggregates */ + unsigned short _numberOfDisAggregates; + + /** number of entities */ + unsigned short _numberOfDisEntities; + + /** number of silent aggregate types */ + unsigned short _numberOfSilentAggregateTypes; + + /** number of silent entity types */ + unsigned short _numberOfSilentEntityTypes; + + /** aggregates list */ + std::vector _aggregateIDList; + + /** entity ID list */ + std::vector _entityIDList; + + /** ^^^padding to put the start of the next list on a 32 bit boundary. This needs to be fixed */ + unsigned char _pad2; + + /** silent entity types */ + std::vector _silentAggregateSystemList; + + /** silent entity types */ + std::vector _silentEntitySystemList; + + /** number of variable datum records */ + unsigned int _numberOfVariableDatumRecords; + + /** variableDatums */ + std::vector _variableDatumList; + + + public: + AggregateStatePdu(); + virtual ~AggregateStatePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getAggregateID(); + const EntityID& getAggregateID() const; + void setAggregateID(const EntityID &pX); + + unsigned char getForceID() const; + void setForceID(unsigned char pX); + + unsigned char getAggregateState() const; + void setAggregateState(unsigned char pX); + + EntityType& getAggregateType(); + const EntityType& getAggregateType() const; + void setAggregateType(const EntityType &pX); + + unsigned int getFormation() const; + void setFormation(unsigned int pX); + + AggregateMarking& getAggregateMarking(); + const AggregateMarking& getAggregateMarking() const; + void setAggregateMarking(const AggregateMarking &pX); + + Vector3Float& getDimensions(); + const Vector3Float& getDimensions() const; + void setDimensions(const Vector3Float &pX); + + Orientation& getOrientation(); + const Orientation& getOrientation() const; + void setOrientation(const Orientation &pX); + + Vector3Double& getCenterOfMass(); + const Vector3Double& getCenterOfMass() const; + void setCenterOfMass(const Vector3Double &pX); + + Vector3Float& getVelocity(); + const Vector3Float& getVelocity() const; + void setVelocity(const Vector3Float &pX); + + unsigned short getNumberOfDisAggregates() const; + + unsigned short getNumberOfDisEntities() const; + + unsigned short getNumberOfSilentAggregateTypes() const; + + unsigned short getNumberOfSilentEntityTypes() const; + + std::vector& getAggregateIDList(); + const std::vector& getAggregateIDList() const; + void setAggregateIDList(const std::vector& pX); + + std::vector& getEntityIDList(); + const std::vector& getEntityIDList() const; + void setEntityIDList(const std::vector& pX); + + unsigned char getPad2() const; + void setPad2(unsigned char pX); + + std::vector& getSilentAggregateSystemList(); + const std::vector& getSilentAggregateSystemList() const; + void setSilentAggregateSystemList(const std::vector& pX); + + std::vector& getSilentEntitySystemList(); + const std::vector& getSilentEntitySystemList() const; + void setSilentEntitySystemList(const std::vector& pX); + + unsigned int getNumberOfVariableDatumRecords() const; + + std::vector& getVariableDatumList(); + const std::vector& getVariableDatumList() const; + void setVariableDatumList(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const AggregateStatePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/AggregateType.cpp b/cpp/DIS/AggregateType.cpp new file mode 100644 index 00000000..6c1151ea --- /dev/null +++ b/cpp/DIS/AggregateType.cpp @@ -0,0 +1,172 @@ +#include + +using namespace DIS; + + +AggregateType::AggregateType(): + _aggregateKind(0), + _domain(0), + _country(0), + _category(0), + _subcategory(0), + _specific(0), + _extra(0) +{ +} + +AggregateType::~AggregateType() +{ +} + +unsigned char AggregateType::getAggregateKind() const +{ + return _aggregateKind; +} + +void AggregateType::setAggregateKind(unsigned char pX) +{ + _aggregateKind = pX; +} + +unsigned char AggregateType::getDomain() const +{ + return _domain; +} + +void AggregateType::setDomain(unsigned char pX) +{ + _domain = pX; +} + +unsigned short AggregateType::getCountry() const +{ + return _country; +} + +void AggregateType::setCountry(unsigned short pX) +{ + _country = pX; +} + +unsigned char AggregateType::getCategory() const +{ + return _category; +} + +void AggregateType::setCategory(unsigned char pX) +{ + _category = pX; +} + +unsigned char AggregateType::getSubcategory() const +{ + return _subcategory; +} + +void AggregateType::setSubcategory(unsigned char pX) +{ + _subcategory = pX; +} + +unsigned char AggregateType::getSpecific() const +{ + return _specific; +} + +void AggregateType::setSpecific(unsigned char pX) +{ + _specific = pX; +} + +unsigned char AggregateType::getExtra() const +{ + return _extra; +} + +void AggregateType::setExtra(unsigned char pX) +{ + _extra = pX; +} + +void AggregateType::marshal(DataStream& dataStream) const +{ + dataStream << _aggregateKind; + dataStream << _domain; + dataStream << _country; + dataStream << _category; + dataStream << _subcategory; + dataStream << _specific; + dataStream << _extra; +} + +void AggregateType::unmarshal(DataStream& dataStream) +{ + dataStream >> _aggregateKind; + dataStream >> _domain; + dataStream >> _country; + dataStream >> _category; + dataStream >> _subcategory; + dataStream >> _specific; + dataStream >> _extra; +} + + +bool AggregateType::operator ==(const AggregateType& rhs) const + { + bool ivarsEqual = true; + + if( ! (_aggregateKind == rhs._aggregateKind) ) ivarsEqual = false; + if( ! (_domain == rhs._domain) ) ivarsEqual = false; + if( ! (_country == rhs._country) ) ivarsEqual = false; + if( ! (_category == rhs._category) ) ivarsEqual = false; + if( ! (_subcategory == rhs._subcategory) ) ivarsEqual = false; + if( ! (_specific == rhs._specific) ) ivarsEqual = false; + if( ! (_extra == rhs._extra) ) ivarsEqual = false; + + return ivarsEqual; + } + +int AggregateType::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _aggregateKind + marshalSize = marshalSize + 1; // _domain + marshalSize = marshalSize + 2; // _country + marshalSize = marshalSize + 1; // _category + marshalSize = marshalSize + 1; // _subcategory + marshalSize = marshalSize + 1; // _specific + marshalSize = marshalSize + 1; // _extra + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/AggregateType.h b/cpp/DIS/AggregateType.h new file mode 100644 index 00000000..ea818fe5 --- /dev/null +++ b/cpp/DIS/AggregateType.h @@ -0,0 +1,105 @@ +#ifndef AGGREGATETYPE_H +#define AGGREGATETYPE_H + +#include +#include + + +namespace DIS +{ +// Section 5.2.38. Identifies the type of aggregate including kind of entity, domain (surface, subsurface, air, etc) country, category, etc. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO AggregateType +{ +protected: + /** Kind of entity */ + unsigned char _aggregateKind; + + /** Domain of entity (air, surface, subsurface, space, etc) */ + unsigned char _domain; + + /** country to which the design of the entity is attributed */ + unsigned short _country; + + /** category of entity */ + unsigned char _category; + + /** subcategory of entity */ + unsigned char _subcategory; + + /** specific info based on subcategory field */ + unsigned char _specific; + + unsigned char _extra; + + + public: + AggregateType(); + virtual ~AggregateType(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getAggregateKind() const; + void setAggregateKind(unsigned char pX); + + unsigned char getDomain() const; + void setDomain(unsigned char pX); + + unsigned short getCountry() const; + void setCountry(unsigned short pX); + + unsigned char getCategory() const; + void setCategory(unsigned char pX); + + unsigned char getSubcategory() const; + void setSubcategory(unsigned char pX); + + unsigned char getSpecific() const; + void setSpecific(unsigned char pX); + + unsigned char getExtra() const; + void setExtra(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const AggregateType& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/AngularVelocityVector.cpp b/cpp/DIS/AngularVelocityVector.cpp new file mode 100644 index 00000000..46a7b0bf --- /dev/null +++ b/cpp/DIS/AngularVelocityVector.cpp @@ -0,0 +1,112 @@ +#include + +using namespace DIS; + + +AngularVelocityVector::AngularVelocityVector(): + _x(0), + _y(0), + _z(0) +{ +} + +AngularVelocityVector::~AngularVelocityVector() +{ +} + +float AngularVelocityVector::getX() const +{ + return _x; +} + +void AngularVelocityVector::setX(float pX) +{ + _x = pX; +} + +float AngularVelocityVector::getY() const +{ + return _y; +} + +void AngularVelocityVector::setY(float pX) +{ + _y = pX; +} + +float AngularVelocityVector::getZ() const +{ + return _z; +} + +void AngularVelocityVector::setZ(float pX) +{ + _z = pX; +} + +void AngularVelocityVector::marshal(DataStream& dataStream) const +{ + dataStream << _x; + dataStream << _y; + dataStream << _z; +} + +void AngularVelocityVector::unmarshal(DataStream& dataStream) +{ + dataStream >> _x; + dataStream >> _y; + dataStream >> _z; +} + + +bool AngularVelocityVector::operator ==(const AngularVelocityVector& rhs) const + { + bool ivarsEqual = true; + + if( ! (_x == rhs._x) ) ivarsEqual = false; + if( ! (_y == rhs._y) ) ivarsEqual = false; + if( ! (_z == rhs._z) ) ivarsEqual = false; + + return ivarsEqual; + } + +int AngularVelocityVector::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _x + marshalSize = marshalSize + 4; // _y + marshalSize = marshalSize + 4; // _z + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/AngularVelocityVector.h b/cpp/DIS/AngularVelocityVector.h new file mode 100644 index 00000000..ac5863b4 --- /dev/null +++ b/cpp/DIS/AngularVelocityVector.h @@ -0,0 +1,82 @@ +#ifndef ANGULARVELOCITYVECTOR_H +#define ANGULARVELOCITYVECTOR_H + +#include +#include + + +namespace DIS +{ +// 5.2.2: angular velocity measured in radians per second out each of the entity's own coordinate axes. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO AngularVelocityVector +{ +protected: + /** velocity about the x axis */ + float _x; + + /** velocity about the y axis */ + float _y; + + /** velocity about the zaxis */ + float _z; + + + public: + AngularVelocityVector(); + virtual ~AngularVelocityVector(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + float getX() const; + void setX(float pX); + + float getY() const; + void setY(float pX); + + float getZ() const; + void setZ(float pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const AngularVelocityVector& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/AntennaLocation.cpp b/cpp/DIS/AntennaLocation.cpp new file mode 100644 index 00000000..08847538 --- /dev/null +++ b/cpp/DIS/AntennaLocation.cpp @@ -0,0 +1,107 @@ +#include + +using namespace DIS; + + +AntennaLocation::AntennaLocation(): + _antennaLocation(), + _relativeAntennaLocation() +{ +} + +AntennaLocation::~AntennaLocation() +{ +} + +Vector3Double& AntennaLocation::getAntennaLocation() +{ + return _antennaLocation; +} + +const Vector3Double& AntennaLocation::getAntennaLocation() const +{ + return _antennaLocation; +} + +void AntennaLocation::setAntennaLocation(const Vector3Double &pX) +{ + _antennaLocation = pX; +} + +Vector3Float& AntennaLocation::getRelativeAntennaLocation() +{ + return _relativeAntennaLocation; +} + +const Vector3Float& AntennaLocation::getRelativeAntennaLocation() const +{ + return _relativeAntennaLocation; +} + +void AntennaLocation::setRelativeAntennaLocation(const Vector3Float &pX) +{ + _relativeAntennaLocation = pX; +} + +void AntennaLocation::marshal(DataStream& dataStream) const +{ + _antennaLocation.marshal(dataStream); + _relativeAntennaLocation.marshal(dataStream); +} + +void AntennaLocation::unmarshal(DataStream& dataStream) +{ + _antennaLocation.unmarshal(dataStream); + _relativeAntennaLocation.unmarshal(dataStream); +} + + +bool AntennaLocation::operator ==(const AntennaLocation& rhs) const + { + bool ivarsEqual = true; + + if( ! (_antennaLocation == rhs._antennaLocation) ) ivarsEqual = false; + if( ! (_relativeAntennaLocation == rhs._relativeAntennaLocation) ) ivarsEqual = false; + + return ivarsEqual; + } + +int AntennaLocation::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _antennaLocation.getMarshalledSize(); // _antennaLocation + marshalSize = marshalSize + _relativeAntennaLocation.getMarshalledSize(); // _relativeAntennaLocation + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/AntennaLocation.h b/cpp/DIS/AntennaLocation.h new file mode 100644 index 00000000..6a7dad9d --- /dev/null +++ b/cpp/DIS/AntennaLocation.h @@ -0,0 +1,80 @@ +#ifndef ANTENNALOCATION_H +#define ANTENNALOCATION_H + +#include +#include +#include +#include + + +namespace DIS +{ +// 5.2.3: location of the radiating portion of the antenna, specified in world coordinates and entity coordinates. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO AntennaLocation +{ +protected: + /** Location of the radiating portion of the antenna in world coordinates */ + Vector3Double _antennaLocation; + + /** Location of the radiating portion of the antenna in entity coordinates */ + Vector3Float _relativeAntennaLocation; + + + public: + AntennaLocation(); + virtual ~AntennaLocation(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + Vector3Double& getAntennaLocation(); + const Vector3Double& getAntennaLocation() const; + void setAntennaLocation(const Vector3Double &pX); + + Vector3Float& getRelativeAntennaLocation(); + const Vector3Float& getRelativeAntennaLocation() const; + void setRelativeAntennaLocation(const Vector3Float &pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const AntennaLocation& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ApaData.cpp b/cpp/DIS/ApaData.cpp new file mode 100644 index 00000000..00af8efb --- /dev/null +++ b/cpp/DIS/ApaData.cpp @@ -0,0 +1,97 @@ +#include + +using namespace DIS; + + +ApaData::ApaData(): + _parameterIndex(0), + _parameterValue(0) +{ +} + +ApaData::~ApaData() +{ +} + +unsigned short ApaData::getParameterIndex() const +{ + return _parameterIndex; +} + +void ApaData::setParameterIndex(unsigned short pX) +{ + _parameterIndex = pX; +} + +short ApaData::getParameterValue() const +{ + return _parameterValue; +} + +void ApaData::setParameterValue(short pX) +{ + _parameterValue = pX; +} + +void ApaData::marshal(DataStream& dataStream) const +{ + dataStream << _parameterIndex; + dataStream << _parameterValue; +} + +void ApaData::unmarshal(DataStream& dataStream) +{ + dataStream >> _parameterIndex; + dataStream >> _parameterValue; +} + + +bool ApaData::operator ==(const ApaData& rhs) const + { + bool ivarsEqual = true; + + if( ! (_parameterIndex == rhs._parameterIndex) ) ivarsEqual = false; + if( ! (_parameterValue == rhs._parameterValue) ) ivarsEqual = false; + + return ivarsEqual; + } + +int ApaData::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2; // _parameterIndex + marshalSize = marshalSize + 2; // _parameterValue + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ApaData.h b/cpp/DIS/ApaData.h new file mode 100644 index 00000000..02a72955 --- /dev/null +++ b/cpp/DIS/ApaData.h @@ -0,0 +1,76 @@ +#ifndef APADATA_H +#define APADATA_H + +#include +#include + + +namespace DIS +{ +// Used in UA PDU + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ApaData +{ +protected: + /** Index of APA parameter */ + unsigned short _parameterIndex; + + /** Index of APA parameter */ + short _parameterValue; + + + public: + ApaData(); + virtual ~ApaData(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getParameterIndex() const; + void setParameterIndex(unsigned short pX); + + short getParameterValue() const; + void setParameterValue(short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ApaData& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ArealObjectStatePdu.cpp b/cpp/DIS/ArealObjectStatePdu.cpp new file mode 100644 index 00000000..f23539b2 --- /dev/null +++ b/cpp/DIS/ArealObjectStatePdu.cpp @@ -0,0 +1,291 @@ +#include + +using namespace DIS; + + +ArealObjectStatePdu::ArealObjectStatePdu() : SyntheticEnvironmentFamilyPdu(), + _objectID(), + _referencedObjectID(), + _updateNumber(0), + _forceID(0), + _modifications(0), + _objectType(), + _objectAppearance(), + _numberOfPoints(0), + _requesterID(), + _receivingID() +{ + setPduType( 45 ); +} + +ArealObjectStatePdu::~ArealObjectStatePdu() +{ + _objectLocation.clear(); +} + +EntityID& ArealObjectStatePdu::getObjectID() +{ + return _objectID; +} + +const EntityID& ArealObjectStatePdu::getObjectID() const +{ + return _objectID; +} + +void ArealObjectStatePdu::setObjectID(const EntityID &pX) +{ + _objectID = pX; +} + +EntityID& ArealObjectStatePdu::getReferencedObjectID() +{ + return _referencedObjectID; +} + +const EntityID& ArealObjectStatePdu::getReferencedObjectID() const +{ + return _referencedObjectID; +} + +void ArealObjectStatePdu::setReferencedObjectID(const EntityID &pX) +{ + _referencedObjectID = pX; +} + +unsigned short ArealObjectStatePdu::getUpdateNumber() const +{ + return _updateNumber; +} + +void ArealObjectStatePdu::setUpdateNumber(unsigned short pX) +{ + _updateNumber = pX; +} + +unsigned char ArealObjectStatePdu::getForceID() const +{ + return _forceID; +} + +void ArealObjectStatePdu::setForceID(unsigned char pX) +{ + _forceID = pX; +} + +unsigned char ArealObjectStatePdu::getModifications() const +{ + return _modifications; +} + +void ArealObjectStatePdu::setModifications(unsigned char pX) +{ + _modifications = pX; +} + +EntityType& ArealObjectStatePdu::getObjectType() +{ + return _objectType; +} + +const EntityType& ArealObjectStatePdu::getObjectType() const +{ + return _objectType; +} + +void ArealObjectStatePdu::setObjectType(const EntityType &pX) +{ + _objectType = pX; +} + +SixByteChunk& ArealObjectStatePdu::getObjectAppearance() +{ + return _objectAppearance; +} + +const SixByteChunk& ArealObjectStatePdu::getObjectAppearance() const +{ + return _objectAppearance; +} + +void ArealObjectStatePdu::setObjectAppearance(const SixByteChunk &pX) +{ + _objectAppearance = pX; +} + +unsigned short ArealObjectStatePdu::getNumberOfPoints() const +{ + return _objectLocation.size(); +} + +SimulationAddress& ArealObjectStatePdu::getRequesterID() +{ + return _requesterID; +} + +const SimulationAddress& ArealObjectStatePdu::getRequesterID() const +{ + return _requesterID; +} + +void ArealObjectStatePdu::setRequesterID(const SimulationAddress &pX) +{ + _requesterID = pX; +} + +SimulationAddress& ArealObjectStatePdu::getReceivingID() +{ + return _receivingID; +} + +const SimulationAddress& ArealObjectStatePdu::getReceivingID() const +{ + return _receivingID; +} + +void ArealObjectStatePdu::setReceivingID(const SimulationAddress &pX) +{ + _receivingID = pX; +} + +std::vector& ArealObjectStatePdu::getObjectLocation() +{ + return _objectLocation; +} + +const std::vector& ArealObjectStatePdu::getObjectLocation() const +{ + return _objectLocation; +} + +void ArealObjectStatePdu::setObjectLocation(const std::vector& pX) +{ + _objectLocation = pX; +} + +void ArealObjectStatePdu::marshal(DataStream& dataStream) const +{ + SyntheticEnvironmentFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _objectID.marshal(dataStream); + _referencedObjectID.marshal(dataStream); + dataStream << _updateNumber; + dataStream << _forceID; + dataStream << _modifications; + _objectType.marshal(dataStream); + _objectAppearance.marshal(dataStream); + dataStream << ( unsigned short )_objectLocation.size(); + _requesterID.marshal(dataStream); + _receivingID.marshal(dataStream); + + for(size_t idx = 0; idx < _objectLocation.size(); idx++) + { + Vector3Double x = _objectLocation[idx]; + x.marshal(dataStream); + } + +} + +void ArealObjectStatePdu::unmarshal(DataStream& dataStream) +{ + SyntheticEnvironmentFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _objectID.unmarshal(dataStream); + _referencedObjectID.unmarshal(dataStream); + dataStream >> _updateNumber; + dataStream >> _forceID; + dataStream >> _modifications; + _objectType.unmarshal(dataStream); + _objectAppearance.unmarshal(dataStream); + dataStream >> _numberOfPoints; + _requesterID.unmarshal(dataStream); + _receivingID.unmarshal(dataStream); + + _objectLocation.clear(); + for(size_t idx = 0; idx < _numberOfPoints; idx++) + { + Vector3Double x; + x.unmarshal(dataStream); + _objectLocation.push_back(x); + } +} + + +bool ArealObjectStatePdu::operator ==(const ArealObjectStatePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SyntheticEnvironmentFamilyPdu::operator==(rhs); + + if( ! (_objectID == rhs._objectID) ) ivarsEqual = false; + if( ! (_referencedObjectID == rhs._referencedObjectID) ) ivarsEqual = false; + if( ! (_updateNumber == rhs._updateNumber) ) ivarsEqual = false; + if( ! (_forceID == rhs._forceID) ) ivarsEqual = false; + if( ! (_modifications == rhs._modifications) ) ivarsEqual = false; + if( ! (_objectType == rhs._objectType) ) ivarsEqual = false; + if( ! (_objectAppearance == rhs._objectAppearance) ) ivarsEqual = false; + if( ! (_requesterID == rhs._requesterID) ) ivarsEqual = false; + if( ! (_receivingID == rhs._receivingID) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _objectLocation.size(); idx++) + { + if( ! ( _objectLocation[idx] == rhs._objectLocation[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int ArealObjectStatePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SyntheticEnvironmentFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _objectID.getMarshalledSize(); // _objectID + marshalSize = marshalSize + _referencedObjectID.getMarshalledSize(); // _referencedObjectID + marshalSize = marshalSize + 2; // _updateNumber + marshalSize = marshalSize + 1; // _forceID + marshalSize = marshalSize + 1; // _modifications + marshalSize = marshalSize + _objectType.getMarshalledSize(); // _objectType + marshalSize = marshalSize + _objectAppearance.getMarshalledSize(); // _objectAppearance + marshalSize = marshalSize + 2; // _numberOfPoints + marshalSize = marshalSize + _requesterID.getMarshalledSize(); // _requesterID + marshalSize = marshalSize + _receivingID.getMarshalledSize(); // _receivingID + + for(int idx=0; idx < _objectLocation.size(); idx++) + { + Vector3Double listElement = _objectLocation[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ArealObjectStatePdu.h b/cpp/DIS/ArealObjectStatePdu.h new file mode 100644 index 00000000..8f882e6a --- /dev/null +++ b/cpp/DIS/ArealObjectStatePdu.h @@ -0,0 +1,145 @@ +#ifndef AREALOBJECTSTATEPDU_H +#define AREALOBJECTSTATEPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.11.5: Information about the addition/modification of an oobject that is geometrically achored to the terrain with a set of three or more points that come to a closure. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ArealObjectStatePdu : public SyntheticEnvironmentFamilyPdu +{ +protected: + /** Object in synthetic environment */ + EntityID _objectID; + + /** Object with which this point object is associated */ + EntityID _referencedObjectID; + + /** unique update number of each state transition of an object */ + unsigned short _updateNumber; + + /** force ID */ + unsigned char _forceID; + + /** modifications enumeration */ + unsigned char _modifications; + + /** Object type */ + EntityType _objectType; + + /** Object appearance */ + SixByteChunk _objectAppearance; + + /** Number of points */ + unsigned short _numberOfPoints; + + /** requesterID */ + SimulationAddress _requesterID; + + /** receiver ID */ + SimulationAddress _receivingID; + + /** location of object */ + std::vector _objectLocation; + + + public: + ArealObjectStatePdu(); + virtual ~ArealObjectStatePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getObjectID(); + const EntityID& getObjectID() const; + void setObjectID(const EntityID &pX); + + EntityID& getReferencedObjectID(); + const EntityID& getReferencedObjectID() const; + void setReferencedObjectID(const EntityID &pX); + + unsigned short getUpdateNumber() const; + void setUpdateNumber(unsigned short pX); + + unsigned char getForceID() const; + void setForceID(unsigned char pX); + + unsigned char getModifications() const; + void setModifications(unsigned char pX); + + EntityType& getObjectType(); + const EntityType& getObjectType() const; + void setObjectType(const EntityType &pX); + + SixByteChunk& getObjectAppearance(); + const SixByteChunk& getObjectAppearance() const; + void setObjectAppearance(const SixByteChunk &pX); + + unsigned short getNumberOfPoints() const; + + SimulationAddress& getRequesterID(); + const SimulationAddress& getRequesterID() const; + void setRequesterID(const SimulationAddress &pX); + + SimulationAddress& getReceivingID(); + const SimulationAddress& getReceivingID() const; + void setReceivingID(const SimulationAddress &pX); + + std::vector& getObjectLocation(); + const std::vector& getObjectLocation() const; + void setObjectLocation(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ArealObjectStatePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ArticulationParameter.cpp b/cpp/DIS/ArticulationParameter.cpp new file mode 100644 index 00000000..008f0568 --- /dev/null +++ b/cpp/DIS/ArticulationParameter.cpp @@ -0,0 +1,142 @@ +#include + +using namespace DIS; + + +ArticulationParameter::ArticulationParameter(): + _parameterTypeDesignator(0), + _changeIndicator(0), + _partAttachedTo(0), + _parameterType(0), + _parameterValue(0.0) +{ +} + +ArticulationParameter::~ArticulationParameter() +{ +} + +unsigned char ArticulationParameter::getParameterTypeDesignator() const +{ + return _parameterTypeDesignator; +} + +void ArticulationParameter::setParameterTypeDesignator(unsigned char pX) +{ + _parameterTypeDesignator = pX; +} + +unsigned char ArticulationParameter::getChangeIndicator() const +{ + return _changeIndicator; +} + +void ArticulationParameter::setChangeIndicator(unsigned char pX) +{ + _changeIndicator = pX; +} + +unsigned short ArticulationParameter::getPartAttachedTo() const +{ + return _partAttachedTo; +} + +void ArticulationParameter::setPartAttachedTo(unsigned short pX) +{ + _partAttachedTo = pX; +} + +int ArticulationParameter::getParameterType() const +{ + return _parameterType; +} + +void ArticulationParameter::setParameterType(int pX) +{ + _parameterType = pX; +} + +double ArticulationParameter::getParameterValue() const +{ + return _parameterValue; +} + +void ArticulationParameter::setParameterValue(double pX) +{ + _parameterValue = pX; +} + +void ArticulationParameter::marshal(DataStream& dataStream) const +{ + dataStream << _parameterTypeDesignator; + dataStream << _changeIndicator; + dataStream << _partAttachedTo; + dataStream << _parameterType; + dataStream << _parameterValue; +} + +void ArticulationParameter::unmarshal(DataStream& dataStream) +{ + dataStream >> _parameterTypeDesignator; + dataStream >> _changeIndicator; + dataStream >> _partAttachedTo; + dataStream >> _parameterType; + dataStream >> _parameterValue; +} + + +bool ArticulationParameter::operator ==(const ArticulationParameter& rhs) const + { + bool ivarsEqual = true; + + if( ! (_parameterTypeDesignator == rhs._parameterTypeDesignator) ) ivarsEqual = false; + if( ! (_changeIndicator == rhs._changeIndicator) ) ivarsEqual = false; + if( ! (_partAttachedTo == rhs._partAttachedTo) ) ivarsEqual = false; + if( ! (_parameterType == rhs._parameterType) ) ivarsEqual = false; + if( ! (_parameterValue == rhs._parameterValue) ) ivarsEqual = false; + + return ivarsEqual; + } + +int ArticulationParameter::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _parameterTypeDesignator + marshalSize = marshalSize + 1; // _changeIndicator + marshalSize = marshalSize + 2; // _partAttachedTo + marshalSize = marshalSize + 4; // _parameterType + marshalSize = marshalSize + 8; // _parameterValue + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ArticulationParameter.h b/cpp/DIS/ArticulationParameter.h new file mode 100644 index 00000000..e81c16bc --- /dev/null +++ b/cpp/DIS/ArticulationParameter.h @@ -0,0 +1,89 @@ +#ifndef ARTICULATIONPARAMETER_H +#define ARTICULATIONPARAMETER_H + +#include +#include + + +namespace DIS +{ +// Section 5.2.5. Articulation parameters for movable parts and attached parts of an entity. Specifes wether or not a change has occured, the part identifcation of the articulated part to which it is attached, and the type and value of each parameter. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ArticulationParameter +{ +protected: + unsigned char _parameterTypeDesignator; + + unsigned char _changeIndicator; + + unsigned short _partAttachedTo; + + int _parameterType; + + double _parameterValue; + + + public: + ArticulationParameter(); + virtual ~ArticulationParameter(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getParameterTypeDesignator() const; + void setParameterTypeDesignator(unsigned char pX); + + unsigned char getChangeIndicator() const; + void setChangeIndicator(unsigned char pX); + + unsigned short getPartAttachedTo() const; + void setPartAttachedTo(unsigned short pX); + + int getParameterType() const; + void setParameterType(int pX); + + double getParameterValue() const; + void setParameterValue(double pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ArticulationParameter& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/BeamAntennaPattern.cpp b/cpp/DIS/BeamAntennaPattern.cpp new file mode 100644 index 00000000..54ac2286 --- /dev/null +++ b/cpp/DIS/BeamAntennaPattern.cpp @@ -0,0 +1,192 @@ +#include + +using namespace DIS; + + +BeamAntennaPattern::BeamAntennaPattern(): + _beamDirection(), + _azimuthBeamwidth(0), + _referenceSystem(0), + _padding1(0), + _padding2(0), + _ez(0.0), + _ex(0.0), + _phase(0.0) +{ +} + +BeamAntennaPattern::~BeamAntennaPattern() +{ +} + +Orientation& BeamAntennaPattern::getBeamDirection() +{ + return _beamDirection; +} + +const Orientation& BeamAntennaPattern::getBeamDirection() const +{ + return _beamDirection; +} + +void BeamAntennaPattern::setBeamDirection(const Orientation &pX) +{ + _beamDirection = pX; +} + +float BeamAntennaPattern::getAzimuthBeamwidth() const +{ + return _azimuthBeamwidth; +} + +void BeamAntennaPattern::setAzimuthBeamwidth(float pX) +{ + _azimuthBeamwidth = pX; +} + +float BeamAntennaPattern::getReferenceSystem() const +{ + return _referenceSystem; +} + +void BeamAntennaPattern::setReferenceSystem(float pX) +{ + _referenceSystem = pX; +} + +short BeamAntennaPattern::getPadding1() const +{ + return _padding1; +} + +void BeamAntennaPattern::setPadding1(short pX) +{ + _padding1 = pX; +} + +char BeamAntennaPattern::getPadding2() const +{ + return _padding2; +} + +void BeamAntennaPattern::setPadding2(char pX) +{ + _padding2 = pX; +} + +float BeamAntennaPattern::getEz() const +{ + return _ez; +} + +void BeamAntennaPattern::setEz(float pX) +{ + _ez = pX; +} + +float BeamAntennaPattern::getEx() const +{ + return _ex; +} + +void BeamAntennaPattern::setEx(float pX) +{ + _ex = pX; +} + +float BeamAntennaPattern::getPhase() const +{ + return _phase; +} + +void BeamAntennaPattern::setPhase(float pX) +{ + _phase = pX; +} + +void BeamAntennaPattern::marshal(DataStream& dataStream) const +{ + _beamDirection.marshal(dataStream); + dataStream << _azimuthBeamwidth; + dataStream << _referenceSystem; + dataStream << _padding1; + dataStream << _padding2; + dataStream << _ez; + dataStream << _ex; + dataStream << _phase; +} + +void BeamAntennaPattern::unmarshal(DataStream& dataStream) +{ + _beamDirection.unmarshal(dataStream); + dataStream >> _azimuthBeamwidth; + dataStream >> _referenceSystem; + dataStream >> _padding1; + dataStream >> _padding2; + dataStream >> _ez; + dataStream >> _ex; + dataStream >> _phase; +} + + +bool BeamAntennaPattern::operator ==(const BeamAntennaPattern& rhs) const + { + bool ivarsEqual = true; + + if( ! (_beamDirection == rhs._beamDirection) ) ivarsEqual = false; + if( ! (_azimuthBeamwidth == rhs._azimuthBeamwidth) ) ivarsEqual = false; + if( ! (_referenceSystem == rhs._referenceSystem) ) ivarsEqual = false; + if( ! (_padding1 == rhs._padding1) ) ivarsEqual = false; + if( ! (_padding2 == rhs._padding2) ) ivarsEqual = false; + if( ! (_ez == rhs._ez) ) ivarsEqual = false; + if( ! (_ex == rhs._ex) ) ivarsEqual = false; + if( ! (_phase == rhs._phase) ) ivarsEqual = false; + + return ivarsEqual; + } + +int BeamAntennaPattern::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _beamDirection.getMarshalledSize(); // _beamDirection + marshalSize = marshalSize + 4; // _azimuthBeamwidth + marshalSize = marshalSize + 4; // _referenceSystem + marshalSize = marshalSize + 2; // _padding1 + marshalSize = marshalSize + 1; // _padding2 + marshalSize = marshalSize + 4; // _ez + marshalSize = marshalSize + 4; // _ex + marshalSize = marshalSize + 4; // _phase + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/BeamAntennaPattern.h b/cpp/DIS/BeamAntennaPattern.h new file mode 100644 index 00000000..cc716180 --- /dev/null +++ b/cpp/DIS/BeamAntennaPattern.h @@ -0,0 +1,110 @@ +#ifndef BEAMANTENNAPATTERN_H +#define BEAMANTENNAPATTERN_H + +#include +#include +#include + + +namespace DIS +{ +// Section 5.2.4.2. Used when the antenna pattern type field has a value of 1. Specifies the direction, patter, and polarization of radiation from an antenna. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO BeamAntennaPattern +{ +protected: + /** The rotation that transformst he reference coordinate sytem into the beam coordinate system. Either world coordinates or entity coordinates may be used as the reference coordinate system, as specified by teh reference system field of the antenna pattern record. */ + Orientation _beamDirection; + + float _azimuthBeamwidth; + + float _referenceSystem; + + short _padding1; + + char _padding2; + + /** Magnigute of the z-component in beam coordinates at some arbitrary single point in the mainbeam and in the far field of the antenna. */ + float _ez; + + /** Magnigute of the x-component in beam coordinates at some arbitrary single point in the mainbeam and in the far field of the antenna. */ + float _ex; + + /** THe phase angle between Ez and Ex in radians. */ + float _phase; + + + public: + BeamAntennaPattern(); + virtual ~BeamAntennaPattern(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + Orientation& getBeamDirection(); + const Orientation& getBeamDirection() const; + void setBeamDirection(const Orientation &pX); + + float getAzimuthBeamwidth() const; + void setAzimuthBeamwidth(float pX); + + float getReferenceSystem() const; + void setReferenceSystem(float pX); + + short getPadding1() const; + void setPadding1(short pX); + + char getPadding2() const; + void setPadding2(char pX); + + float getEz() const; + void setEz(float pX); + + float getEx() const; + void setEx(float pX); + + float getPhase() const; + void setPhase(float pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const BeamAntennaPattern& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/BeamData.cpp b/cpp/DIS/BeamData.cpp new file mode 100644 index 00000000..b26cb6c6 --- /dev/null +++ b/cpp/DIS/BeamData.cpp @@ -0,0 +1,142 @@ +#include + +using namespace DIS; + + +BeamData::BeamData(): + _beamAzimuthCenter(0.0), + _beamAzimuthSweep(0.0), + _beamElevationCenter(0.0), + _beamElevationSweep(0.0), + _beamSweepSync(0.0) +{ +} + +BeamData::~BeamData() +{ +} + +float BeamData::getBeamAzimuthCenter() const +{ + return _beamAzimuthCenter; +} + +void BeamData::setBeamAzimuthCenter(float pX) +{ + _beamAzimuthCenter = pX; +} + +float BeamData::getBeamAzimuthSweep() const +{ + return _beamAzimuthSweep; +} + +void BeamData::setBeamAzimuthSweep(float pX) +{ + _beamAzimuthSweep = pX; +} + +float BeamData::getBeamElevationCenter() const +{ + return _beamElevationCenter; +} + +void BeamData::setBeamElevationCenter(float pX) +{ + _beamElevationCenter = pX; +} + +float BeamData::getBeamElevationSweep() const +{ + return _beamElevationSweep; +} + +void BeamData::setBeamElevationSweep(float pX) +{ + _beamElevationSweep = pX; +} + +float BeamData::getBeamSweepSync() const +{ + return _beamSweepSync; +} + +void BeamData::setBeamSweepSync(float pX) +{ + _beamSweepSync = pX; +} + +void BeamData::marshal(DataStream& dataStream) const +{ + dataStream << _beamAzimuthCenter; + dataStream << _beamAzimuthSweep; + dataStream << _beamElevationCenter; + dataStream << _beamElevationSweep; + dataStream << _beamSweepSync; +} + +void BeamData::unmarshal(DataStream& dataStream) +{ + dataStream >> _beamAzimuthCenter; + dataStream >> _beamAzimuthSweep; + dataStream >> _beamElevationCenter; + dataStream >> _beamElevationSweep; + dataStream >> _beamSweepSync; +} + + +bool BeamData::operator ==(const BeamData& rhs) const + { + bool ivarsEqual = true; + + if( ! (_beamAzimuthCenter == rhs._beamAzimuthCenter) ) ivarsEqual = false; + if( ! (_beamAzimuthSweep == rhs._beamAzimuthSweep) ) ivarsEqual = false; + if( ! (_beamElevationCenter == rhs._beamElevationCenter) ) ivarsEqual = false; + if( ! (_beamElevationSweep == rhs._beamElevationSweep) ) ivarsEqual = false; + if( ! (_beamSweepSync == rhs._beamSweepSync) ) ivarsEqual = false; + + return ivarsEqual; + } + +int BeamData::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _beamAzimuthCenter + marshalSize = marshalSize + 4; // _beamAzimuthSweep + marshalSize = marshalSize + 4; // _beamElevationCenter + marshalSize = marshalSize + 4; // _beamElevationSweep + marshalSize = marshalSize + 4; // _beamSweepSync + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/BeamData.h b/cpp/DIS/BeamData.h new file mode 100644 index 00000000..71eb35b3 --- /dev/null +++ b/cpp/DIS/BeamData.h @@ -0,0 +1,94 @@ +#ifndef BEAMDATA_H +#define BEAMDATA_H + +#include +#include + + +namespace DIS +{ +// Section 5.2.39. Specification of the data necessary to describe the scan volume of an emitter. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO BeamData +{ +protected: + /** Specifies the beam azimuth an elevation centers and corresponding half-angles to describe the scan volume */ + float _beamAzimuthCenter; + + /** Specifies the beam azimuth sweep to determine scan volume */ + float _beamAzimuthSweep; + + /** Specifies the beam elevation center to determine scan volume */ + float _beamElevationCenter; + + /** Specifies the beam elevation sweep to determine scan volume */ + float _beamElevationSweep; + + /** allows receiver to synchronize its regenerated scan pattern to that of the emmitter. Specifies the percentage of time a scan is through its pattern from its origion. */ + float _beamSweepSync; + + + public: + BeamData(); + virtual ~BeamData(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + float getBeamAzimuthCenter() const; + void setBeamAzimuthCenter(float pX); + + float getBeamAzimuthSweep() const; + void setBeamAzimuthSweep(float pX); + + float getBeamElevationCenter() const; + void setBeamElevationCenter(float pX); + + float getBeamElevationSweep() const; + void setBeamElevationSweep(float pX); + + float getBeamSweepSync() const; + void setBeamSweepSync(float pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const BeamData& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/BurstDescriptor.cpp b/cpp/DIS/BurstDescriptor.cpp new file mode 100644 index 00000000..51bb4252 --- /dev/null +++ b/cpp/DIS/BurstDescriptor.cpp @@ -0,0 +1,147 @@ +#include + +using namespace DIS; + + +BurstDescriptor::BurstDescriptor(): + _munition(), + _warhead(0), + _fuse(0), + _quantity(0), + _rate(0) +{ +} + +BurstDescriptor::~BurstDescriptor() +{ +} + +EntityType& BurstDescriptor::getMunition() +{ + return _munition; +} + +const EntityType& BurstDescriptor::getMunition() const +{ + return _munition; +} + +void BurstDescriptor::setMunition(const EntityType &pX) +{ + _munition = pX; +} + +unsigned short BurstDescriptor::getWarhead() const +{ + return _warhead; +} + +void BurstDescriptor::setWarhead(unsigned short pX) +{ + _warhead = pX; +} + +unsigned short BurstDescriptor::getFuse() const +{ + return _fuse; +} + +void BurstDescriptor::setFuse(unsigned short pX) +{ + _fuse = pX; +} + +unsigned short BurstDescriptor::getQuantity() const +{ + return _quantity; +} + +void BurstDescriptor::setQuantity(unsigned short pX) +{ + _quantity = pX; +} + +unsigned short BurstDescriptor::getRate() const +{ + return _rate; +} + +void BurstDescriptor::setRate(unsigned short pX) +{ + _rate = pX; +} + +void BurstDescriptor::marshal(DataStream& dataStream) const +{ + _munition.marshal(dataStream); + dataStream << _warhead; + dataStream << _fuse; + dataStream << _quantity; + dataStream << _rate; +} + +void BurstDescriptor::unmarshal(DataStream& dataStream) +{ + _munition.unmarshal(dataStream); + dataStream >> _warhead; + dataStream >> _fuse; + dataStream >> _quantity; + dataStream >> _rate; +} + + +bool BurstDescriptor::operator ==(const BurstDescriptor& rhs) const + { + bool ivarsEqual = true; + + if( ! (_munition == rhs._munition) ) ivarsEqual = false; + if( ! (_warhead == rhs._warhead) ) ivarsEqual = false; + if( ! (_fuse == rhs._fuse) ) ivarsEqual = false; + if( ! (_quantity == rhs._quantity) ) ivarsEqual = false; + if( ! (_rate == rhs._rate) ) ivarsEqual = false; + + return ivarsEqual; + } + +int BurstDescriptor::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _munition.getMarshalledSize(); // _munition + marshalSize = marshalSize + 2; // _warhead + marshalSize = marshalSize + 2; // _fuse + marshalSize = marshalSize + 2; // _quantity + marshalSize = marshalSize + 2; // _rate + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/BurstDescriptor.h b/cpp/DIS/BurstDescriptor.h new file mode 100644 index 00000000..88a6a0e4 --- /dev/null +++ b/cpp/DIS/BurstDescriptor.h @@ -0,0 +1,96 @@ +#ifndef BURSTDESCRIPTOR_H +#define BURSTDESCRIPTOR_H + +#include +#include +#include + + +namespace DIS +{ +// Section 5.2.7. Specifies the type of muntion fired, the type of warhead, the type of fuse, the number of rounds fired, and the rate at which the roudns are fired in rounds per minute. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO BurstDescriptor +{ +protected: + /** What munition was used in the burst */ + EntityType _munition; + + /** type of warhead */ + unsigned short _warhead; + + /** type of fuse used */ + unsigned short _fuse; + + /** how many of the munition were fired */ + unsigned short _quantity; + + /** rate at which the munition was fired */ + unsigned short _rate; + + + public: + BurstDescriptor(); + virtual ~BurstDescriptor(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityType& getMunition(); + const EntityType& getMunition() const; + void setMunition(const EntityType &pX); + + unsigned short getWarhead() const; + void setWarhead(unsigned short pX); + + unsigned short getFuse() const; + void setFuse(unsigned short pX); + + unsigned short getQuantity() const; + void setQuantity(unsigned short pX); + + unsigned short getRate() const; + void setRate(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const BurstDescriptor& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ClockTime.cpp b/cpp/DIS/ClockTime.cpp new file mode 100644 index 00000000..08f3559a --- /dev/null +++ b/cpp/DIS/ClockTime.cpp @@ -0,0 +1,97 @@ +#include + +using namespace DIS; + + +ClockTime::ClockTime(): + _hour(0), + _timePastHour(0) +{ +} + +ClockTime::~ClockTime() +{ +} + +int ClockTime::getHour() const +{ + return _hour; +} + +void ClockTime::setHour(int pX) +{ + _hour = pX; +} + +unsigned int ClockTime::getTimePastHour() const +{ + return _timePastHour; +} + +void ClockTime::setTimePastHour(unsigned int pX) +{ + _timePastHour = pX; +} + +void ClockTime::marshal(DataStream& dataStream) const +{ + dataStream << _hour; + dataStream << _timePastHour; +} + +void ClockTime::unmarshal(DataStream& dataStream) +{ + dataStream >> _hour; + dataStream >> _timePastHour; +} + + +bool ClockTime::operator ==(const ClockTime& rhs) const + { + bool ivarsEqual = true; + + if( ! (_hour == rhs._hour) ) ivarsEqual = false; + if( ! (_timePastHour == rhs._timePastHour) ) ivarsEqual = false; + + return ivarsEqual; + } + +int ClockTime::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _hour + marshalSize = marshalSize + 4; // _timePastHour + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ClockTime.h b/cpp/DIS/ClockTime.h new file mode 100644 index 00000000..3e268a88 --- /dev/null +++ b/cpp/DIS/ClockTime.h @@ -0,0 +1,76 @@ +#ifndef CLOCKTIME_H +#define CLOCKTIME_H + +#include +#include + + +namespace DIS +{ +// Section 5.2.8. Time measurements that exceed one hour. Hours is the number of hours since January 1, 1970, UTC + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ClockTime +{ +protected: + /** Hours in UTC */ + int _hour; + + /** Time past the hour */ + unsigned int _timePastHour; + + + public: + ClockTime(); + virtual ~ClockTime(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + int getHour() const; + void setHour(int pX); + + unsigned int getTimePastHour() const; + void setTimePastHour(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ClockTime& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/CollisionElasticPdu.cpp b/cpp/DIS/CollisionElasticPdu.cpp new file mode 100644 index 00000000..111b3ff7 --- /dev/null +++ b/cpp/DIS/CollisionElasticPdu.cpp @@ -0,0 +1,329 @@ +#include + +using namespace DIS; + + +CollisionElasticPdu::CollisionElasticPdu() : EntityInformationFamilyPdu(), + _issuingEntityID(), + _collidingEntityID(), + _collisionEventID(), + _pad(0), + _contactVelocity(), + _mass(0.0), + _location(), + _collisionResultXX(0.0), + _collisionResultXY(0.0), + _collisionResultXZ(0.0), + _collisionResultYY(0.0), + _collisionResultYZ(0.0), + _collisionResultZZ(0.0), + _unitSurfaceNormal(), + _coefficientOfRestitution(0.0) +{ + setPduType( 66 ); + setProtocolFamily( 1 ); +} + +CollisionElasticPdu::~CollisionElasticPdu() +{ +} + +EntityID& CollisionElasticPdu::getIssuingEntityID() +{ + return _issuingEntityID; +} + +const EntityID& CollisionElasticPdu::getIssuingEntityID() const +{ + return _issuingEntityID; +} + +void CollisionElasticPdu::setIssuingEntityID(const EntityID &pX) +{ + _issuingEntityID = pX; +} + +EntityID& CollisionElasticPdu::getCollidingEntityID() +{ + return _collidingEntityID; +} + +const EntityID& CollisionElasticPdu::getCollidingEntityID() const +{ + return _collidingEntityID; +} + +void CollisionElasticPdu::setCollidingEntityID(const EntityID &pX) +{ + _collidingEntityID = pX; +} + +EventID& CollisionElasticPdu::getCollisionEventID() +{ + return _collisionEventID; +} + +const EventID& CollisionElasticPdu::getCollisionEventID() const +{ + return _collisionEventID; +} + +void CollisionElasticPdu::setCollisionEventID(const EventID &pX) +{ + _collisionEventID = pX; +} + +short CollisionElasticPdu::getPad() const +{ + return _pad; +} + +void CollisionElasticPdu::setPad(short pX) +{ + _pad = pX; +} + +Vector3Float& CollisionElasticPdu::getContactVelocity() +{ + return _contactVelocity; +} + +const Vector3Float& CollisionElasticPdu::getContactVelocity() const +{ + return _contactVelocity; +} + +void CollisionElasticPdu::setContactVelocity(const Vector3Float &pX) +{ + _contactVelocity = pX; +} + +float CollisionElasticPdu::getMass() const +{ + return _mass; +} + +void CollisionElasticPdu::setMass(float pX) +{ + _mass = pX; +} + +Vector3Float& CollisionElasticPdu::getLocation() +{ + return _location; +} + +const Vector3Float& CollisionElasticPdu::getLocation() const +{ + return _location; +} + +void CollisionElasticPdu::setLocation(const Vector3Float &pX) +{ + _location = pX; +} + +float CollisionElasticPdu::getCollisionResultXX() const +{ + return _collisionResultXX; +} + +void CollisionElasticPdu::setCollisionResultXX(float pX) +{ + _collisionResultXX = pX; +} + +float CollisionElasticPdu::getCollisionResultXY() const +{ + return _collisionResultXY; +} + +void CollisionElasticPdu::setCollisionResultXY(float pX) +{ + _collisionResultXY = pX; +} + +float CollisionElasticPdu::getCollisionResultXZ() const +{ + return _collisionResultXZ; +} + +void CollisionElasticPdu::setCollisionResultXZ(float pX) +{ + _collisionResultXZ = pX; +} + +float CollisionElasticPdu::getCollisionResultYY() const +{ + return _collisionResultYY; +} + +void CollisionElasticPdu::setCollisionResultYY(float pX) +{ + _collisionResultYY = pX; +} + +float CollisionElasticPdu::getCollisionResultYZ() const +{ + return _collisionResultYZ; +} + +void CollisionElasticPdu::setCollisionResultYZ(float pX) +{ + _collisionResultYZ = pX; +} + +float CollisionElasticPdu::getCollisionResultZZ() const +{ + return _collisionResultZZ; +} + +void CollisionElasticPdu::setCollisionResultZZ(float pX) +{ + _collisionResultZZ = pX; +} + +Vector3Float& CollisionElasticPdu::getUnitSurfaceNormal() +{ + return _unitSurfaceNormal; +} + +const Vector3Float& CollisionElasticPdu::getUnitSurfaceNormal() const +{ + return _unitSurfaceNormal; +} + +void CollisionElasticPdu::setUnitSurfaceNormal(const Vector3Float &pX) +{ + _unitSurfaceNormal = pX; +} + +float CollisionElasticPdu::getCoefficientOfRestitution() const +{ + return _coefficientOfRestitution; +} + +void CollisionElasticPdu::setCoefficientOfRestitution(float pX) +{ + _coefficientOfRestitution = pX; +} + +void CollisionElasticPdu::marshal(DataStream& dataStream) const +{ + EntityInformationFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _issuingEntityID.marshal(dataStream); + _collidingEntityID.marshal(dataStream); + _collisionEventID.marshal(dataStream); + dataStream << _pad; + _contactVelocity.marshal(dataStream); + dataStream << _mass; + _location.marshal(dataStream); + dataStream << _collisionResultXX; + dataStream << _collisionResultXY; + dataStream << _collisionResultXZ; + dataStream << _collisionResultYY; + dataStream << _collisionResultYZ; + dataStream << _collisionResultZZ; + _unitSurfaceNormal.marshal(dataStream); + dataStream << _coefficientOfRestitution; +} + +void CollisionElasticPdu::unmarshal(DataStream& dataStream) +{ + EntityInformationFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _issuingEntityID.unmarshal(dataStream); + _collidingEntityID.unmarshal(dataStream); + _collisionEventID.unmarshal(dataStream); + dataStream >> _pad; + _contactVelocity.unmarshal(dataStream); + dataStream >> _mass; + _location.unmarshal(dataStream); + dataStream >> _collisionResultXX; + dataStream >> _collisionResultXY; + dataStream >> _collisionResultXZ; + dataStream >> _collisionResultYY; + dataStream >> _collisionResultYZ; + dataStream >> _collisionResultZZ; + _unitSurfaceNormal.unmarshal(dataStream); + dataStream >> _coefficientOfRestitution; +} + + +bool CollisionElasticPdu::operator ==(const CollisionElasticPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = EntityInformationFamilyPdu::operator==(rhs); + + if( ! (_issuingEntityID == rhs._issuingEntityID) ) ivarsEqual = false; + if( ! (_collidingEntityID == rhs._collidingEntityID) ) ivarsEqual = false; + if( ! (_collisionEventID == rhs._collisionEventID) ) ivarsEqual = false; + if( ! (_pad == rhs._pad) ) ivarsEqual = false; + if( ! (_contactVelocity == rhs._contactVelocity) ) ivarsEqual = false; + if( ! (_mass == rhs._mass) ) ivarsEqual = false; + if( ! (_location == rhs._location) ) ivarsEqual = false; + if( ! (_collisionResultXX == rhs._collisionResultXX) ) ivarsEqual = false; + if( ! (_collisionResultXY == rhs._collisionResultXY) ) ivarsEqual = false; + if( ! (_collisionResultXZ == rhs._collisionResultXZ) ) ivarsEqual = false; + if( ! (_collisionResultYY == rhs._collisionResultYY) ) ivarsEqual = false; + if( ! (_collisionResultYZ == rhs._collisionResultYZ) ) ivarsEqual = false; + if( ! (_collisionResultZZ == rhs._collisionResultZZ) ) ivarsEqual = false; + if( ! (_unitSurfaceNormal == rhs._unitSurfaceNormal) ) ivarsEqual = false; + if( ! (_coefficientOfRestitution == rhs._coefficientOfRestitution) ) ivarsEqual = false; + + return ivarsEqual; + } + +int CollisionElasticPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = EntityInformationFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _issuingEntityID.getMarshalledSize(); // _issuingEntityID + marshalSize = marshalSize + _collidingEntityID.getMarshalledSize(); // _collidingEntityID + marshalSize = marshalSize + _collisionEventID.getMarshalledSize(); // _collisionEventID + marshalSize = marshalSize + 2; // _pad + marshalSize = marshalSize + _contactVelocity.getMarshalledSize(); // _contactVelocity + marshalSize = marshalSize + 4; // _mass + marshalSize = marshalSize + _location.getMarshalledSize(); // _location + marshalSize = marshalSize + 4; // _collisionResultXX + marshalSize = marshalSize + 4; // _collisionResultXY + marshalSize = marshalSize + 4; // _collisionResultXZ + marshalSize = marshalSize + 4; // _collisionResultYY + marshalSize = marshalSize + 4; // _collisionResultYZ + marshalSize = marshalSize + 4; // _collisionResultZZ + marshalSize = marshalSize + _unitSurfaceNormal.getMarshalledSize(); // _unitSurfaceNormal + marshalSize = marshalSize + 4; // _coefficientOfRestitution + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/CollisionElasticPdu.h b/cpp/DIS/CollisionElasticPdu.h new file mode 100644 index 00000000..4cf875ec --- /dev/null +++ b/cpp/DIS/CollisionElasticPdu.h @@ -0,0 +1,167 @@ +#ifndef COLLISIONELASTICPDU_H +#define COLLISIONELASTICPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// 5.3.3.3. Information about elastic collisions in a DIS exercise shall be communicated using a Collision-Elastic PDU. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO CollisionElasticPdu : public EntityInformationFamilyPdu +{ +protected: + /** ID of the entity that issued the collision PDU */ + EntityID _issuingEntityID; + + /** ID of entity that has collided with the issuing entity ID */ + EntityID _collidingEntityID; + + /** ID of event */ + EventID _collisionEventID; + + /** some padding */ + short _pad; + + /** velocity at collision */ + Vector3Float _contactVelocity; + + /** mass of issuing entity */ + float _mass; + + /** Location with respect to entity the issuing entity collided with */ + Vector3Float _location; + + /** tensor values */ + float _collisionResultXX; + + /** tensor values */ + float _collisionResultXY; + + /** tensor values */ + float _collisionResultXZ; + + /** tensor values */ + float _collisionResultYY; + + /** tensor values */ + float _collisionResultYZ; + + /** tensor values */ + float _collisionResultZZ; + + /** This record shall represent the normal vector to the surface at the point of collision detection. The surface normal shall be represented in world coordinates. */ + Vector3Float _unitSurfaceNormal; + + /** This field shall represent the degree to which energy is conserved in a collision */ + float _coefficientOfRestitution; + + + public: + CollisionElasticPdu(); + virtual ~CollisionElasticPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getIssuingEntityID(); + const EntityID& getIssuingEntityID() const; + void setIssuingEntityID(const EntityID &pX); + + EntityID& getCollidingEntityID(); + const EntityID& getCollidingEntityID() const; + void setCollidingEntityID(const EntityID &pX); + + EventID& getCollisionEventID(); + const EventID& getCollisionEventID() const; + void setCollisionEventID(const EventID &pX); + + short getPad() const; + void setPad(short pX); + + Vector3Float& getContactVelocity(); + const Vector3Float& getContactVelocity() const; + void setContactVelocity(const Vector3Float &pX); + + float getMass() const; + void setMass(float pX); + + Vector3Float& getLocation(); + const Vector3Float& getLocation() const; + void setLocation(const Vector3Float &pX); + + float getCollisionResultXX() const; + void setCollisionResultXX(float pX); + + float getCollisionResultXY() const; + void setCollisionResultXY(float pX); + + float getCollisionResultXZ() const; + void setCollisionResultXZ(float pX); + + float getCollisionResultYY() const; + void setCollisionResultYY(float pX); + + float getCollisionResultYZ() const; + void setCollisionResultYZ(float pX); + + float getCollisionResultZZ() const; + void setCollisionResultZZ(float pX); + + Vector3Float& getUnitSurfaceNormal(); + const Vector3Float& getUnitSurfaceNormal() const; + void setUnitSurfaceNormal(const Vector3Float &pX); + + float getCoefficientOfRestitution() const; + void setCoefficientOfRestitution(float pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const CollisionElasticPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/CollisionPdu.cpp b/cpp/DIS/CollisionPdu.cpp new file mode 100644 index 00000000..8011cce1 --- /dev/null +++ b/cpp/DIS/CollisionPdu.cpp @@ -0,0 +1,219 @@ +#include + +using namespace DIS; + + +CollisionPdu::CollisionPdu() : EntityInformationFamilyPdu(), + _issuingEntityID(), + _collidingEntityID(), + _eventID(), + _collisionType(0), + _pad(0), + _velocity(), + _mass(0.0), + _location() +{ + setPduType( 4 ); + setProtocolFamily( 1 ); +} + +CollisionPdu::~CollisionPdu() +{ +} + +EntityID& CollisionPdu::getIssuingEntityID() +{ + return _issuingEntityID; +} + +const EntityID& CollisionPdu::getIssuingEntityID() const +{ + return _issuingEntityID; +} + +void CollisionPdu::setIssuingEntityID(const EntityID &pX) +{ + _issuingEntityID = pX; +} + +EntityID& CollisionPdu::getCollidingEntityID() +{ + return _collidingEntityID; +} + +const EntityID& CollisionPdu::getCollidingEntityID() const +{ + return _collidingEntityID; +} + +void CollisionPdu::setCollidingEntityID(const EntityID &pX) +{ + _collidingEntityID = pX; +} + +EventID& CollisionPdu::getEventID() +{ + return _eventID; +} + +const EventID& CollisionPdu::getEventID() const +{ + return _eventID; +} + +void CollisionPdu::setEventID(const EventID &pX) +{ + _eventID = pX; +} + +unsigned char CollisionPdu::getCollisionType() const +{ + return _collisionType; +} + +void CollisionPdu::setCollisionType(unsigned char pX) +{ + _collisionType = pX; +} + +char CollisionPdu::getPad() const +{ + return _pad; +} + +void CollisionPdu::setPad(char pX) +{ + _pad = pX; +} + +Vector3Float& CollisionPdu::getVelocity() +{ + return _velocity; +} + +const Vector3Float& CollisionPdu::getVelocity() const +{ + return _velocity; +} + +void CollisionPdu::setVelocity(const Vector3Float &pX) +{ + _velocity = pX; +} + +float CollisionPdu::getMass() const +{ + return _mass; +} + +void CollisionPdu::setMass(float pX) +{ + _mass = pX; +} + +Vector3Float& CollisionPdu::getLocation() +{ + return _location; +} + +const Vector3Float& CollisionPdu::getLocation() const +{ + return _location; +} + +void CollisionPdu::setLocation(const Vector3Float &pX) +{ + _location = pX; +} + +void CollisionPdu::marshal(DataStream& dataStream) const +{ + EntityInformationFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _issuingEntityID.marshal(dataStream); + _collidingEntityID.marshal(dataStream); + _eventID.marshal(dataStream); + dataStream << _collisionType; + dataStream << _pad; + _velocity.marshal(dataStream); + dataStream << _mass; + _location.marshal(dataStream); +} + +void CollisionPdu::unmarshal(DataStream& dataStream) +{ + EntityInformationFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _issuingEntityID.unmarshal(dataStream); + _collidingEntityID.unmarshal(dataStream); + _eventID.unmarshal(dataStream); + dataStream >> _collisionType; + dataStream >> _pad; + _velocity.unmarshal(dataStream); + dataStream >> _mass; + _location.unmarshal(dataStream); +} + + +bool CollisionPdu::operator ==(const CollisionPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = EntityInformationFamilyPdu::operator==(rhs); + + if( ! (_issuingEntityID == rhs._issuingEntityID) ) ivarsEqual = false; + if( ! (_collidingEntityID == rhs._collidingEntityID) ) ivarsEqual = false; + if( ! (_eventID == rhs._eventID) ) ivarsEqual = false; + if( ! (_collisionType == rhs._collisionType) ) ivarsEqual = false; + if( ! (_pad == rhs._pad) ) ivarsEqual = false; + if( ! (_velocity == rhs._velocity) ) ivarsEqual = false; + if( ! (_mass == rhs._mass) ) ivarsEqual = false; + if( ! (_location == rhs._location) ) ivarsEqual = false; + + return ivarsEqual; + } + +int CollisionPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = EntityInformationFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _issuingEntityID.getMarshalledSize(); // _issuingEntityID + marshalSize = marshalSize + _collidingEntityID.getMarshalledSize(); // _collidingEntityID + marshalSize = marshalSize + _eventID.getMarshalledSize(); // _eventID + marshalSize = marshalSize + 1; // _collisionType + marshalSize = marshalSize + 1; // _pad + marshalSize = marshalSize + _velocity.getMarshalledSize(); // _velocity + marshalSize = marshalSize + 4; // _mass + marshalSize = marshalSize + _location.getMarshalledSize(); // _location + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/CollisionPdu.h b/cpp/DIS/CollisionPdu.h new file mode 100644 index 00000000..b26438c5 --- /dev/null +++ b/cpp/DIS/CollisionPdu.h @@ -0,0 +1,123 @@ +#ifndef COLLISIONPDU_H +#define COLLISIONPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.3.2. Information about a collision. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO CollisionPdu : public EntityInformationFamilyPdu +{ +protected: + /** ID of the entity that issued the collision PDU */ + EntityID _issuingEntityID; + + /** ID of entity that has collided with the issuing entity ID */ + EntityID _collidingEntityID; + + /** ID of event */ + EventID _eventID; + + /** ID of event */ + unsigned char _collisionType; + + /** some padding */ + char _pad; + + /** velocity at collision */ + Vector3Float _velocity; + + /** mass of issuing entity */ + float _mass; + + /** Location with respect to entity the issuing entity collided with */ + Vector3Float _location; + + + public: + CollisionPdu(); + virtual ~CollisionPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getIssuingEntityID(); + const EntityID& getIssuingEntityID() const; + void setIssuingEntityID(const EntityID &pX); + + EntityID& getCollidingEntityID(); + const EntityID& getCollidingEntityID() const; + void setCollidingEntityID(const EntityID &pX); + + EventID& getEventID(); + const EventID& getEventID() const; + void setEventID(const EventID &pX); + + unsigned char getCollisionType() const; + void setCollisionType(unsigned char pX); + + char getPad() const; + void setPad(char pX); + + Vector3Float& getVelocity(); + const Vector3Float& getVelocity() const; + void setVelocity(const Vector3Float &pX); + + float getMass() const; + void setMass(float pX); + + Vector3Float& getLocation(); + const Vector3Float& getLocation() const; + void setLocation(const Vector3Float &pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const CollisionPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/CommentPdu.cpp b/cpp/DIS/CommentPdu.cpp new file mode 100644 index 00000000..0581c1b7 --- /dev/null +++ b/cpp/DIS/CommentPdu.cpp @@ -0,0 +1,179 @@ +#include + +using namespace DIS; + + +CommentPdu::CommentPdu() : SimulationManagementFamilyPdu(), + _numberOfFixedDatumRecords(0), + _numberOfVariableDatumRecords(0) +{ + setPduType( 22 ); +} + +CommentPdu::~CommentPdu() +{ + _fixedDatums.clear(); + _variableDatums.clear(); +} + +unsigned int CommentPdu::getNumberOfFixedDatumRecords() const +{ + return _fixedDatums.size(); +} + +unsigned int CommentPdu::getNumberOfVariableDatumRecords() const +{ + return _variableDatums.size(); +} + +std::vector& CommentPdu::getFixedDatums() +{ + return _fixedDatums; +} + +const std::vector& CommentPdu::getFixedDatums() const +{ + return _fixedDatums; +} + +void CommentPdu::setFixedDatums(const std::vector& pX) +{ + _fixedDatums = pX; +} + +std::vector& CommentPdu::getVariableDatums() +{ + return _variableDatums; +} + +const std::vector& CommentPdu::getVariableDatums() const +{ + return _variableDatums; +} + +void CommentPdu::setVariableDatums(const std::vector& pX) +{ + _variableDatums = pX; +} + +void CommentPdu::marshal(DataStream& dataStream) const +{ + SimulationManagementFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << ( unsigned int )_fixedDatums.size(); + dataStream << ( unsigned int )_variableDatums.size(); + + for(size_t idx = 0; idx < _fixedDatums.size(); idx++) + { + FixedDatum x = _fixedDatums[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { + VariableDatum x = _variableDatums[idx]; + x.marshal(dataStream); + } + +} + +void CommentPdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _numberOfFixedDatumRecords; + dataStream >> _numberOfVariableDatumRecords; + + _fixedDatums.clear(); + for(size_t idx = 0; idx < _numberOfFixedDatumRecords; idx++) + { + FixedDatum x; + x.unmarshal(dataStream); + _fixedDatums.push_back(x); + } + + _variableDatums.clear(); + for(size_t idx = 0; idx < _numberOfVariableDatumRecords; idx++) + { + VariableDatum x; + x.unmarshal(dataStream); + _variableDatums.push_back(x); + } +} + + +bool CommentPdu::operator ==(const CommentPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementFamilyPdu::operator==(rhs); + + + for(size_t idx = 0; idx < _fixedDatums.size(); idx++) + { + if( ! ( _fixedDatums[idx] == rhs._fixedDatums[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { + if( ! ( _variableDatums[idx] == rhs._variableDatums[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int CommentPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 4; // _numberOfFixedDatumRecords + marshalSize = marshalSize + 4; // _numberOfVariableDatumRecords + + for(int idx=0; idx < _fixedDatums.size(); idx++) + { + FixedDatum listElement = _fixedDatums[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _variableDatums.size(); idx++) + { + VariableDatum listElement = _variableDatums[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/CommentPdu.h b/cpp/DIS/CommentPdu.h new file mode 100644 index 00000000..b752f010 --- /dev/null +++ b/cpp/DIS/CommentPdu.h @@ -0,0 +1,92 @@ +#ifndef COMMENTPDU_H +#define COMMENTPDU_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.6.12. Arbitrary messages can be entered into the data stream via use of this PDU. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO CommentPdu : public SimulationManagementFamilyPdu +{ +protected: + /** Number of fixed datum records */ + unsigned int _numberOfFixedDatumRecords; + + /** Number of variable datum records */ + unsigned int _numberOfVariableDatumRecords; + + /** variable length list of fixed datums */ + std::vector _fixedDatums; + + /** variable length list of variable length datums */ + std::vector _variableDatums; + + + public: + CommentPdu(); + virtual ~CommentPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getNumberOfFixedDatumRecords() const; + + unsigned int getNumberOfVariableDatumRecords() const; + + std::vector& getFixedDatums(); + const std::vector& getFixedDatums() const; + void setFixedDatums(const std::vector& pX); + + std::vector& getVariableDatums(); + const std::vector& getVariableDatums() const; + void setVariableDatums(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const CommentPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/CommentReliablePdu.cpp b/cpp/DIS/CommentReliablePdu.cpp new file mode 100644 index 00000000..dffe7d52 --- /dev/null +++ b/cpp/DIS/CommentReliablePdu.cpp @@ -0,0 +1,179 @@ +#include + +using namespace DIS; + + +CommentReliablePdu::CommentReliablePdu() : SimulationManagementWithReliabilityFamilyPdu(), + _numberOfFixedDatumRecords(0), + _numberOfVariableDatumRecords(0) +{ + setPduType( 62 ); +} + +CommentReliablePdu::~CommentReliablePdu() +{ + _fixedDatumRecords.clear(); + _variableDatumRecords.clear(); +} + +unsigned int CommentReliablePdu::getNumberOfFixedDatumRecords() const +{ + return _fixedDatumRecords.size(); +} + +unsigned int CommentReliablePdu::getNumberOfVariableDatumRecords() const +{ + return _variableDatumRecords.size(); +} + +std::vector& CommentReliablePdu::getFixedDatumRecords() +{ + return _fixedDatumRecords; +} + +const std::vector& CommentReliablePdu::getFixedDatumRecords() const +{ + return _fixedDatumRecords; +} + +void CommentReliablePdu::setFixedDatumRecords(const std::vector& pX) +{ + _fixedDatumRecords = pX; +} + +std::vector& CommentReliablePdu::getVariableDatumRecords() +{ + return _variableDatumRecords; +} + +const std::vector& CommentReliablePdu::getVariableDatumRecords() const +{ + return _variableDatumRecords; +} + +void CommentReliablePdu::setVariableDatumRecords(const std::vector& pX) +{ + _variableDatumRecords = pX; +} + +void CommentReliablePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementWithReliabilityFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << ( unsigned int )_fixedDatumRecords.size(); + dataStream << ( unsigned int )_variableDatumRecords.size(); + + for(size_t idx = 0; idx < _fixedDatumRecords.size(); idx++) + { + FixedDatum x = _fixedDatumRecords[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _variableDatumRecords.size(); idx++) + { + VariableDatum x = _variableDatumRecords[idx]; + x.marshal(dataStream); + } + +} + +void CommentReliablePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementWithReliabilityFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _numberOfFixedDatumRecords; + dataStream >> _numberOfVariableDatumRecords; + + _fixedDatumRecords.clear(); + for(size_t idx = 0; idx < _numberOfFixedDatumRecords; idx++) + { + FixedDatum x; + x.unmarshal(dataStream); + _fixedDatumRecords.push_back(x); + } + + _variableDatumRecords.clear(); + for(size_t idx = 0; idx < _numberOfVariableDatumRecords; idx++) + { + VariableDatum x; + x.unmarshal(dataStream); + _variableDatumRecords.push_back(x); + } +} + + +bool CommentReliablePdu::operator ==(const CommentReliablePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementWithReliabilityFamilyPdu::operator==(rhs); + + + for(size_t idx = 0; idx < _fixedDatumRecords.size(); idx++) + { + if( ! ( _fixedDatumRecords[idx] == rhs._fixedDatumRecords[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _variableDatumRecords.size(); idx++) + { + if( ! ( _variableDatumRecords[idx] == rhs._variableDatumRecords[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int CommentReliablePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementWithReliabilityFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 4; // _numberOfFixedDatumRecords + marshalSize = marshalSize + 4; // _numberOfVariableDatumRecords + + for(int idx=0; idx < _fixedDatumRecords.size(); idx++) + { + FixedDatum listElement = _fixedDatumRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _variableDatumRecords.size(); idx++) + { + VariableDatum listElement = _variableDatumRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/CommentReliablePdu.h b/cpp/DIS/CommentReliablePdu.h new file mode 100644 index 00000000..8154d49a --- /dev/null +++ b/cpp/DIS/CommentReliablePdu.h @@ -0,0 +1,92 @@ +#ifndef COMMENTRELIABLEPDU_H +#define COMMENTRELIABLEPDU_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.12.12: Arbitrary messages. Only reliable this time. Neds manual intervention to fix padding in variable datums. UNFINISHED + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO CommentReliablePdu : public SimulationManagementWithReliabilityFamilyPdu +{ +protected: + /** Fixed datum record count */ + unsigned int _numberOfFixedDatumRecords; + + /** variable datum record count */ + unsigned int _numberOfVariableDatumRecords; + + /** Fixed datum records */ + std::vector _fixedDatumRecords; + + /** Variable datum records */ + std::vector _variableDatumRecords; + + + public: + CommentReliablePdu(); + virtual ~CommentReliablePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getNumberOfFixedDatumRecords() const; + + unsigned int getNumberOfVariableDatumRecords() const; + + std::vector& getFixedDatumRecords(); + const std::vector& getFixedDatumRecords() const; + void setFixedDatumRecords(const std::vector& pX); + + std::vector& getVariableDatumRecords(); + const std::vector& getVariableDatumRecords() const; + void setVariableDatumRecords(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const CommentReliablePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/CreateEntityPdu.cpp b/cpp/DIS/CreateEntityPdu.cpp new file mode 100644 index 00000000..89a03e45 --- /dev/null +++ b/cpp/DIS/CreateEntityPdu.cpp @@ -0,0 +1,88 @@ +#include + +using namespace DIS; + + +CreateEntityPdu::CreateEntityPdu() : SimulationManagementFamilyPdu(), + _requestID(0) +{ + setPduType( 11 ); +} + +CreateEntityPdu::~CreateEntityPdu() +{ +} + +unsigned int CreateEntityPdu::getRequestID() const +{ + return _requestID; +} + +void CreateEntityPdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +void CreateEntityPdu::marshal(DataStream& dataStream) const +{ + SimulationManagementFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _requestID; +} + +void CreateEntityPdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _requestID; +} + + +bool CreateEntityPdu::operator ==(const CreateEntityPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementFamilyPdu::operator==(rhs); + + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int CreateEntityPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 4; // _requestID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/CreateEntityPdu.h b/cpp/DIS/CreateEntityPdu.h new file mode 100644 index 00000000..30254e5d --- /dev/null +++ b/cpp/DIS/CreateEntityPdu.h @@ -0,0 +1,71 @@ +#ifndef CREATEENTITYPDU_H +#define CREATEENTITYPDU_H + +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.6.1. Create a new entity. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO CreateEntityPdu : public SimulationManagementFamilyPdu +{ +protected: + /** Identifier for the request */ + unsigned int _requestID; + + + public: + CreateEntityPdu(); + virtual ~CreateEntityPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const CreateEntityPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/CreateEntityReliablePdu.cpp b/cpp/DIS/CreateEntityReliablePdu.cpp new file mode 100644 index 00000000..58ee7470 --- /dev/null +++ b/cpp/DIS/CreateEntityReliablePdu.cpp @@ -0,0 +1,133 @@ +#include + +using namespace DIS; + + +CreateEntityReliablePdu::CreateEntityReliablePdu() : SimulationManagementWithReliabilityFamilyPdu(), + _requiredReliabilityService(0), + _pad1(0), + _pad2(0), + _requestID(0) +{ + setPduType( 51 ); +} + +CreateEntityReliablePdu::~CreateEntityReliablePdu() +{ +} + +unsigned char CreateEntityReliablePdu::getRequiredReliabilityService() const +{ + return _requiredReliabilityService; +} + +void CreateEntityReliablePdu::setRequiredReliabilityService(unsigned char pX) +{ + _requiredReliabilityService = pX; +} + +unsigned short CreateEntityReliablePdu::getPad1() const +{ + return _pad1; +} + +void CreateEntityReliablePdu::setPad1(unsigned short pX) +{ + _pad1 = pX; +} + +unsigned char CreateEntityReliablePdu::getPad2() const +{ + return _pad2; +} + +void CreateEntityReliablePdu::setPad2(unsigned char pX) +{ + _pad2 = pX; +} + +unsigned int CreateEntityReliablePdu::getRequestID() const +{ + return _requestID; +} + +void CreateEntityReliablePdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +void CreateEntityReliablePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementWithReliabilityFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _requiredReliabilityService; + dataStream << _pad1; + dataStream << _pad2; + dataStream << _requestID; +} + +void CreateEntityReliablePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementWithReliabilityFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _requiredReliabilityService; + dataStream >> _pad1; + dataStream >> _pad2; + dataStream >> _requestID; +} + + +bool CreateEntityReliablePdu::operator ==(const CreateEntityReliablePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementWithReliabilityFamilyPdu::operator==(rhs); + + if( ! (_requiredReliabilityService == rhs._requiredReliabilityService) ) ivarsEqual = false; + if( ! (_pad1 == rhs._pad1) ) ivarsEqual = false; + if( ! (_pad2 == rhs._pad2) ) ivarsEqual = false; + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int CreateEntityReliablePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementWithReliabilityFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 1; // _requiredReliabilityService + marshalSize = marshalSize + 2; // _pad1 + marshalSize = marshalSize + 1; // _pad2 + marshalSize = marshalSize + 4; // _requestID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/CreateEntityReliablePdu.h b/cpp/DIS/CreateEntityReliablePdu.h new file mode 100644 index 00000000..6cd49298 --- /dev/null +++ b/cpp/DIS/CreateEntityReliablePdu.h @@ -0,0 +1,89 @@ +#ifndef CREATEENTITYRELIABLEPDU_H +#define CREATEENTITYRELIABLEPDU_H + +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.12.1: creation of an entity , reliable. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO CreateEntityReliablePdu : public SimulationManagementWithReliabilityFamilyPdu +{ +protected: + /** level of reliability service used for this transaction */ + unsigned char _requiredReliabilityService; + + /** padding */ + unsigned short _pad1; + + /** padding */ + unsigned char _pad2; + + /** Request ID */ + unsigned int _requestID; + + + public: + CreateEntityReliablePdu(); + virtual ~CreateEntityReliablePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getRequiredReliabilityService() const; + void setRequiredReliabilityService(unsigned char pX); + + unsigned short getPad1() const; + void setPad1(unsigned short pX); + + unsigned char getPad2() const; + void setPad2(unsigned char pX); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const CreateEntityReliablePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/DataPdu.cpp b/cpp/DIS/DataPdu.cpp new file mode 100644 index 00000000..ea22ed10 --- /dev/null +++ b/cpp/DIS/DataPdu.cpp @@ -0,0 +1,209 @@ +#include + +using namespace DIS; + + +DataPdu::DataPdu() : SimulationManagementFamilyPdu(), + _requestID(0), + _padding1(0), + _numberOfFixedDatumRecords(0), + _numberOfVariableDatumRecords(0) +{ + setPduType( 20 ); +} + +DataPdu::~DataPdu() +{ + _fixedDatums.clear(); + _variableDatums.clear(); +} + +unsigned int DataPdu::getRequestID() const +{ + return _requestID; +} + +void DataPdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +unsigned int DataPdu::getPadding1() const +{ + return _padding1; +} + +void DataPdu::setPadding1(unsigned int pX) +{ + _padding1 = pX; +} + +unsigned int DataPdu::getNumberOfFixedDatumRecords() const +{ + return _fixedDatums.size(); +} + +unsigned int DataPdu::getNumberOfVariableDatumRecords() const +{ + return _variableDatums.size(); +} + +std::vector& DataPdu::getFixedDatums() +{ + return _fixedDatums; +} + +const std::vector& DataPdu::getFixedDatums() const +{ + return _fixedDatums; +} + +void DataPdu::setFixedDatums(const std::vector& pX) +{ + _fixedDatums = pX; +} + +std::vector& DataPdu::getVariableDatums() +{ + return _variableDatums; +} + +const std::vector& DataPdu::getVariableDatums() const +{ + return _variableDatums; +} + +void DataPdu::setVariableDatums(const std::vector& pX) +{ + _variableDatums = pX; +} + +void DataPdu::marshal(DataStream& dataStream) const +{ + SimulationManagementFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _requestID; + dataStream << _padding1; + dataStream << ( unsigned int )_fixedDatums.size(); + dataStream << ( unsigned int )_variableDatums.size(); + + for(size_t idx = 0; idx < _fixedDatums.size(); idx++) + { + FixedDatum x = _fixedDatums[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { + VariableDatum x = _variableDatums[idx]; + x.marshal(dataStream); + } + +} + +void DataPdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _requestID; + dataStream >> _padding1; + dataStream >> _numberOfFixedDatumRecords; + dataStream >> _numberOfVariableDatumRecords; + + _fixedDatums.clear(); + for(size_t idx = 0; idx < _numberOfFixedDatumRecords; idx++) + { + FixedDatum x; + x.unmarshal(dataStream); + _fixedDatums.push_back(x); + } + + _variableDatums.clear(); + for(size_t idx = 0; idx < _numberOfVariableDatumRecords; idx++) + { + VariableDatum x; + x.unmarshal(dataStream); + _variableDatums.push_back(x); + } +} + + +bool DataPdu::operator ==(const DataPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementFamilyPdu::operator==(rhs); + + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + if( ! (_padding1 == rhs._padding1) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _fixedDatums.size(); idx++) + { + if( ! ( _fixedDatums[idx] == rhs._fixedDatums[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { + if( ! ( _variableDatums[idx] == rhs._variableDatums[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int DataPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 4; // _requestID + marshalSize = marshalSize + 4; // _padding1 + marshalSize = marshalSize + 4; // _numberOfFixedDatumRecords + marshalSize = marshalSize + 4; // _numberOfVariableDatumRecords + + for(int idx=0; idx < _fixedDatums.size(); idx++) + { + FixedDatum listElement = _fixedDatums[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _variableDatums.size(); idx++) + { + VariableDatum listElement = _variableDatums[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/DataPdu.h b/cpp/DIS/DataPdu.h new file mode 100644 index 00000000..71f8ee36 --- /dev/null +++ b/cpp/DIS/DataPdu.h @@ -0,0 +1,104 @@ +#ifndef DATAPDU_H +#define DATAPDU_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.6.10. Information issued in response to a data query pdu or a set data pdu is communicated using a data pdu. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO DataPdu : public SimulationManagementFamilyPdu +{ +protected: + /** ID of request */ + unsigned int _requestID; + + /** padding */ + unsigned int _padding1; + + /** Number of fixed datum records */ + unsigned int _numberOfFixedDatumRecords; + + /** Number of variable datum records */ + unsigned int _numberOfVariableDatumRecords; + + /** variable length list of fixed datums */ + std::vector _fixedDatums; + + /** variable length list of variable length datums */ + std::vector _variableDatums; + + + public: + DataPdu(); + virtual ~DataPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + unsigned int getPadding1() const; + void setPadding1(unsigned int pX); + + unsigned int getNumberOfFixedDatumRecords() const; + + unsigned int getNumberOfVariableDatumRecords() const; + + std::vector& getFixedDatums(); + const std::vector& getFixedDatums() const; + void setFixedDatums(const std::vector& pX); + + std::vector& getVariableDatums(); + const std::vector& getVariableDatums() const; + void setVariableDatums(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const DataPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/DataQueryPdu.cpp b/cpp/DIS/DataQueryPdu.cpp new file mode 100644 index 00000000..aad3ef8e --- /dev/null +++ b/cpp/DIS/DataQueryPdu.cpp @@ -0,0 +1,209 @@ +#include + +using namespace DIS; + + +DataQueryPdu::DataQueryPdu() : SimulationManagementFamilyPdu(), + _requestID(0), + _timeInterval(0), + _numberOfFixedDatumRecords(0), + _numberOfVariableDatumRecords(0) +{ + setPduType( 18 ); +} + +DataQueryPdu::~DataQueryPdu() +{ + _fixedDatums.clear(); + _variableDatums.clear(); +} + +unsigned int DataQueryPdu::getRequestID() const +{ + return _requestID; +} + +void DataQueryPdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +unsigned int DataQueryPdu::getTimeInterval() const +{ + return _timeInterval; +} + +void DataQueryPdu::setTimeInterval(unsigned int pX) +{ + _timeInterval = pX; +} + +unsigned int DataQueryPdu::getNumberOfFixedDatumRecords() const +{ + return _fixedDatums.size(); +} + +unsigned int DataQueryPdu::getNumberOfVariableDatumRecords() const +{ + return _variableDatums.size(); +} + +std::vector& DataQueryPdu::getFixedDatums() +{ + return _fixedDatums; +} + +const std::vector& DataQueryPdu::getFixedDatums() const +{ + return _fixedDatums; +} + +void DataQueryPdu::setFixedDatums(const std::vector& pX) +{ + _fixedDatums = pX; +} + +std::vector& DataQueryPdu::getVariableDatums() +{ + return _variableDatums; +} + +const std::vector& DataQueryPdu::getVariableDatums() const +{ + return _variableDatums; +} + +void DataQueryPdu::setVariableDatums(const std::vector& pX) +{ + _variableDatums = pX; +} + +void DataQueryPdu::marshal(DataStream& dataStream) const +{ + SimulationManagementFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _requestID; + dataStream << _timeInterval; + dataStream << ( unsigned int )_fixedDatums.size(); + dataStream << ( unsigned int )_variableDatums.size(); + + for(size_t idx = 0; idx < _fixedDatums.size(); idx++) + { + FixedDatum x = _fixedDatums[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { + VariableDatum x = _variableDatums[idx]; + x.marshal(dataStream); + } + +} + +void DataQueryPdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _requestID; + dataStream >> _timeInterval; + dataStream >> _numberOfFixedDatumRecords; + dataStream >> _numberOfVariableDatumRecords; + + _fixedDatums.clear(); + for(size_t idx = 0; idx < _numberOfFixedDatumRecords; idx++) + { + FixedDatum x; + x.unmarshal(dataStream); + _fixedDatums.push_back(x); + } + + _variableDatums.clear(); + for(size_t idx = 0; idx < _numberOfVariableDatumRecords; idx++) + { + VariableDatum x; + x.unmarshal(dataStream); + _variableDatums.push_back(x); + } +} + + +bool DataQueryPdu::operator ==(const DataQueryPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementFamilyPdu::operator==(rhs); + + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + if( ! (_timeInterval == rhs._timeInterval) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _fixedDatums.size(); idx++) + { + if( ! ( _fixedDatums[idx] == rhs._fixedDatums[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { + if( ! ( _variableDatums[idx] == rhs._variableDatums[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int DataQueryPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 4; // _requestID + marshalSize = marshalSize + 4; // _timeInterval + marshalSize = marshalSize + 4; // _numberOfFixedDatumRecords + marshalSize = marshalSize + 4; // _numberOfVariableDatumRecords + + for(int idx=0; idx < _fixedDatums.size(); idx++) + { + FixedDatum listElement = _fixedDatums[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _variableDatums.size(); idx++) + { + VariableDatum listElement = _variableDatums[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/DataQueryPdu.h b/cpp/DIS/DataQueryPdu.h new file mode 100644 index 00000000..a8babd73 --- /dev/null +++ b/cpp/DIS/DataQueryPdu.h @@ -0,0 +1,104 @@ +#ifndef DATAQUERYPDU_H +#define DATAQUERYPDU_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.6.8. Request for data from an entity. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO DataQueryPdu : public SimulationManagementFamilyPdu +{ +protected: + /** ID of request */ + unsigned int _requestID; + + /** time issues between issues of Data PDUs. Zero means send once only. */ + unsigned int _timeInterval; + + /** Number of fixed datum records */ + unsigned int _numberOfFixedDatumRecords; + + /** Number of variable datum records */ + unsigned int _numberOfVariableDatumRecords; + + /** variable length list of fixed datums */ + std::vector _fixedDatums; + + /** variable length list of variable length datums */ + std::vector _variableDatums; + + + public: + DataQueryPdu(); + virtual ~DataQueryPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + unsigned int getTimeInterval() const; + void setTimeInterval(unsigned int pX); + + unsigned int getNumberOfFixedDatumRecords() const; + + unsigned int getNumberOfVariableDatumRecords() const; + + std::vector& getFixedDatums(); + const std::vector& getFixedDatums() const; + void setFixedDatums(const std::vector& pX); + + std::vector& getVariableDatums(); + const std::vector& getVariableDatums() const; + void setVariableDatums(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const DataQueryPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/DataQueryReliablePdu.cpp b/cpp/DIS/DataQueryReliablePdu.cpp new file mode 100644 index 00000000..afa4af4b --- /dev/null +++ b/cpp/DIS/DataQueryReliablePdu.cpp @@ -0,0 +1,254 @@ +#include + +using namespace DIS; + + +DataQueryReliablePdu::DataQueryReliablePdu() : SimulationManagementWithReliabilityFamilyPdu(), + _requiredReliabilityService(0), + _pad1(0), + _pad2(0), + _requestID(0), + _timeInterval(0), + _numberOfFixedDatumRecords(0), + _numberOfVariableDatumRecords(0) +{ + setPduType( 58 ); +} + +DataQueryReliablePdu::~DataQueryReliablePdu() +{ + _fixedDatumRecords.clear(); + _variableDatumRecords.clear(); +} + +unsigned char DataQueryReliablePdu::getRequiredReliabilityService() const +{ + return _requiredReliabilityService; +} + +void DataQueryReliablePdu::setRequiredReliabilityService(unsigned char pX) +{ + _requiredReliabilityService = pX; +} + +unsigned short DataQueryReliablePdu::getPad1() const +{ + return _pad1; +} + +void DataQueryReliablePdu::setPad1(unsigned short pX) +{ + _pad1 = pX; +} + +unsigned char DataQueryReliablePdu::getPad2() const +{ + return _pad2; +} + +void DataQueryReliablePdu::setPad2(unsigned char pX) +{ + _pad2 = pX; +} + +unsigned int DataQueryReliablePdu::getRequestID() const +{ + return _requestID; +} + +void DataQueryReliablePdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +unsigned int DataQueryReliablePdu::getTimeInterval() const +{ + return _timeInterval; +} + +void DataQueryReliablePdu::setTimeInterval(unsigned int pX) +{ + _timeInterval = pX; +} + +unsigned int DataQueryReliablePdu::getNumberOfFixedDatumRecords() const +{ + return _fixedDatumRecords.size(); +} + +unsigned int DataQueryReliablePdu::getNumberOfVariableDatumRecords() const +{ + return _variableDatumRecords.size(); +} + +std::vector& DataQueryReliablePdu::getFixedDatumRecords() +{ + return _fixedDatumRecords; +} + +const std::vector& DataQueryReliablePdu::getFixedDatumRecords() const +{ + return _fixedDatumRecords; +} + +void DataQueryReliablePdu::setFixedDatumRecords(const std::vector& pX) +{ + _fixedDatumRecords = pX; +} + +std::vector& DataQueryReliablePdu::getVariableDatumRecords() +{ + return _variableDatumRecords; +} + +const std::vector& DataQueryReliablePdu::getVariableDatumRecords() const +{ + return _variableDatumRecords; +} + +void DataQueryReliablePdu::setVariableDatumRecords(const std::vector& pX) +{ + _variableDatumRecords = pX; +} + +void DataQueryReliablePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementWithReliabilityFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _requiredReliabilityService; + dataStream << _pad1; + dataStream << _pad2; + dataStream << _requestID; + dataStream << _timeInterval; + dataStream << ( unsigned int )_fixedDatumRecords.size(); + dataStream << ( unsigned int )_variableDatumRecords.size(); + + for(size_t idx = 0; idx < _fixedDatumRecords.size(); idx++) + { + FixedDatum x = _fixedDatumRecords[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _variableDatumRecords.size(); idx++) + { + VariableDatum x = _variableDatumRecords[idx]; + x.marshal(dataStream); + } + +} + +void DataQueryReliablePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementWithReliabilityFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _requiredReliabilityService; + dataStream >> _pad1; + dataStream >> _pad2; + dataStream >> _requestID; + dataStream >> _timeInterval; + dataStream >> _numberOfFixedDatumRecords; + dataStream >> _numberOfVariableDatumRecords; + + _fixedDatumRecords.clear(); + for(size_t idx = 0; idx < _numberOfFixedDatumRecords; idx++) + { + FixedDatum x; + x.unmarshal(dataStream); + _fixedDatumRecords.push_back(x); + } + + _variableDatumRecords.clear(); + for(size_t idx = 0; idx < _numberOfVariableDatumRecords; idx++) + { + VariableDatum x; + x.unmarshal(dataStream); + _variableDatumRecords.push_back(x); + } +} + + +bool DataQueryReliablePdu::operator ==(const DataQueryReliablePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementWithReliabilityFamilyPdu::operator==(rhs); + + if( ! (_requiredReliabilityService == rhs._requiredReliabilityService) ) ivarsEqual = false; + if( ! (_pad1 == rhs._pad1) ) ivarsEqual = false; + if( ! (_pad2 == rhs._pad2) ) ivarsEqual = false; + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + if( ! (_timeInterval == rhs._timeInterval) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _fixedDatumRecords.size(); idx++) + { + if( ! ( _fixedDatumRecords[idx] == rhs._fixedDatumRecords[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _variableDatumRecords.size(); idx++) + { + if( ! ( _variableDatumRecords[idx] == rhs._variableDatumRecords[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int DataQueryReliablePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementWithReliabilityFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 1; // _requiredReliabilityService + marshalSize = marshalSize + 2; // _pad1 + marshalSize = marshalSize + 1; // _pad2 + marshalSize = marshalSize + 4; // _requestID + marshalSize = marshalSize + 4; // _timeInterval + marshalSize = marshalSize + 4; // _numberOfFixedDatumRecords + marshalSize = marshalSize + 4; // _numberOfVariableDatumRecords + + for(int idx=0; idx < _fixedDatumRecords.size(); idx++) + { + FixedDatum listElement = _fixedDatumRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _variableDatumRecords.size(); idx++) + { + VariableDatum listElement = _variableDatumRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/DataQueryReliablePdu.h b/cpp/DIS/DataQueryReliablePdu.h new file mode 100644 index 00000000..64e2d9d0 --- /dev/null +++ b/cpp/DIS/DataQueryReliablePdu.h @@ -0,0 +1,122 @@ +#ifndef DATAQUERYRELIABLEPDU_H +#define DATAQUERYRELIABLEPDU_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.12.8: request for data from an entity. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO DataQueryReliablePdu : public SimulationManagementWithReliabilityFamilyPdu +{ +protected: + /** level of reliability service used for this transaction */ + unsigned char _requiredReliabilityService; + + /** padding */ + unsigned short _pad1; + + /** padding */ + unsigned char _pad2; + + /** request ID */ + unsigned int _requestID; + + /** time interval between issuing data query PDUs */ + unsigned int _timeInterval; + + /** Fixed datum record count */ + unsigned int _numberOfFixedDatumRecords; + + /** variable datum record count */ + unsigned int _numberOfVariableDatumRecords; + + /** Fixed datum records */ + std::vector _fixedDatumRecords; + + /** Variable datum records */ + std::vector _variableDatumRecords; + + + public: + DataQueryReliablePdu(); + virtual ~DataQueryReliablePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getRequiredReliabilityService() const; + void setRequiredReliabilityService(unsigned char pX); + + unsigned short getPad1() const; + void setPad1(unsigned short pX); + + unsigned char getPad2() const; + void setPad2(unsigned char pX); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + unsigned int getTimeInterval() const; + void setTimeInterval(unsigned int pX); + + unsigned int getNumberOfFixedDatumRecords() const; + + unsigned int getNumberOfVariableDatumRecords() const; + + std::vector& getFixedDatumRecords(); + const std::vector& getFixedDatumRecords() const; + void setFixedDatumRecords(const std::vector& pX); + + std::vector& getVariableDatumRecords(); + const std::vector& getVariableDatumRecords() const; + void setVariableDatumRecords(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const DataQueryReliablePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/DataReliablePdu.cpp b/cpp/DIS/DataReliablePdu.cpp new file mode 100644 index 00000000..7056c97a --- /dev/null +++ b/cpp/DIS/DataReliablePdu.cpp @@ -0,0 +1,239 @@ +#include + +using namespace DIS; + + +DataReliablePdu::DataReliablePdu() : SimulationManagementWithReliabilityFamilyPdu(), + _requestID(0), + _requiredReliabilityService(0), + _pad1(0), + _pad2(0), + _numberOfFixedDatumRecords(0), + _numberOfVariableDatumRecords(0) +{ + setPduType( 60 ); +} + +DataReliablePdu::~DataReliablePdu() +{ + _fixedDatumRecords.clear(); + _variableDatumRecords.clear(); +} + +unsigned int DataReliablePdu::getRequestID() const +{ + return _requestID; +} + +void DataReliablePdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +unsigned char DataReliablePdu::getRequiredReliabilityService() const +{ + return _requiredReliabilityService; +} + +void DataReliablePdu::setRequiredReliabilityService(unsigned char pX) +{ + _requiredReliabilityService = pX; +} + +unsigned short DataReliablePdu::getPad1() const +{ + return _pad1; +} + +void DataReliablePdu::setPad1(unsigned short pX) +{ + _pad1 = pX; +} + +unsigned char DataReliablePdu::getPad2() const +{ + return _pad2; +} + +void DataReliablePdu::setPad2(unsigned char pX) +{ + _pad2 = pX; +} + +unsigned int DataReliablePdu::getNumberOfFixedDatumRecords() const +{ + return _fixedDatumRecords.size(); +} + +unsigned int DataReliablePdu::getNumberOfVariableDatumRecords() const +{ + return _variableDatumRecords.size(); +} + +std::vector& DataReliablePdu::getFixedDatumRecords() +{ + return _fixedDatumRecords; +} + +const std::vector& DataReliablePdu::getFixedDatumRecords() const +{ + return _fixedDatumRecords; +} + +void DataReliablePdu::setFixedDatumRecords(const std::vector& pX) +{ + _fixedDatumRecords = pX; +} + +std::vector& DataReliablePdu::getVariableDatumRecords() +{ + return _variableDatumRecords; +} + +const std::vector& DataReliablePdu::getVariableDatumRecords() const +{ + return _variableDatumRecords; +} + +void DataReliablePdu::setVariableDatumRecords(const std::vector& pX) +{ + _variableDatumRecords = pX; +} + +void DataReliablePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementWithReliabilityFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _requestID; + dataStream << _requiredReliabilityService; + dataStream << _pad1; + dataStream << _pad2; + dataStream << ( unsigned int )_fixedDatumRecords.size(); + dataStream << ( unsigned int )_variableDatumRecords.size(); + + for(size_t idx = 0; idx < _fixedDatumRecords.size(); idx++) + { + FixedDatum x = _fixedDatumRecords[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _variableDatumRecords.size(); idx++) + { + VariableDatum x = _variableDatumRecords[idx]; + x.marshal(dataStream); + } + +} + +void DataReliablePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementWithReliabilityFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _requestID; + dataStream >> _requiredReliabilityService; + dataStream >> _pad1; + dataStream >> _pad2; + dataStream >> _numberOfFixedDatumRecords; + dataStream >> _numberOfVariableDatumRecords; + + _fixedDatumRecords.clear(); + for(size_t idx = 0; idx < _numberOfFixedDatumRecords; idx++) + { + FixedDatum x; + x.unmarshal(dataStream); + _fixedDatumRecords.push_back(x); + } + + _variableDatumRecords.clear(); + for(size_t idx = 0; idx < _numberOfVariableDatumRecords; idx++) + { + VariableDatum x; + x.unmarshal(dataStream); + _variableDatumRecords.push_back(x); + } +} + + +bool DataReliablePdu::operator ==(const DataReliablePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementWithReliabilityFamilyPdu::operator==(rhs); + + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + if( ! (_requiredReliabilityService == rhs._requiredReliabilityService) ) ivarsEqual = false; + if( ! (_pad1 == rhs._pad1) ) ivarsEqual = false; + if( ! (_pad2 == rhs._pad2) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _fixedDatumRecords.size(); idx++) + { + if( ! ( _fixedDatumRecords[idx] == rhs._fixedDatumRecords[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _variableDatumRecords.size(); idx++) + { + if( ! ( _variableDatumRecords[idx] == rhs._variableDatumRecords[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int DataReliablePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementWithReliabilityFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 4; // _requestID + marshalSize = marshalSize + 1; // _requiredReliabilityService + marshalSize = marshalSize + 2; // _pad1 + marshalSize = marshalSize + 1; // _pad2 + marshalSize = marshalSize + 4; // _numberOfFixedDatumRecords + marshalSize = marshalSize + 4; // _numberOfVariableDatumRecords + + for(int idx=0; idx < _fixedDatumRecords.size(); idx++) + { + FixedDatum listElement = _fixedDatumRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _variableDatumRecords.size(); idx++) + { + VariableDatum listElement = _variableDatumRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/DataReliablePdu.h b/cpp/DIS/DataReliablePdu.h new file mode 100644 index 00000000..b276572d --- /dev/null +++ b/cpp/DIS/DataReliablePdu.h @@ -0,0 +1,116 @@ +#ifndef DATARELIABLEPDU_H +#define DATARELIABLEPDU_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.12.10: issued in response to a data query R or set dataR pdu. Needs manual intervention to fix padding on variable datums. UNFINSIHED + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO DataReliablePdu : public SimulationManagementWithReliabilityFamilyPdu +{ +protected: + /** Request ID */ + unsigned int _requestID; + + /** level of reliability service used for this transaction */ + unsigned char _requiredReliabilityService; + + /** padding */ + unsigned short _pad1; + + /** padding */ + unsigned char _pad2; + + /** Fixed datum record count */ + unsigned int _numberOfFixedDatumRecords; + + /** variable datum record count */ + unsigned int _numberOfVariableDatumRecords; + + /** Fixed datum records */ + std::vector _fixedDatumRecords; + + /** Variable datum records */ + std::vector _variableDatumRecords; + + + public: + DataReliablePdu(); + virtual ~DataReliablePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + unsigned char getRequiredReliabilityService() const; + void setRequiredReliabilityService(unsigned char pX); + + unsigned short getPad1() const; + void setPad1(unsigned short pX); + + unsigned char getPad2() const; + void setPad2(unsigned char pX); + + unsigned int getNumberOfFixedDatumRecords() const; + + unsigned int getNumberOfVariableDatumRecords() const; + + std::vector& getFixedDatumRecords(); + const std::vector& getFixedDatumRecords() const; + void setFixedDatumRecords(const std::vector& pX); + + std::vector& getVariableDatumRecords(); + const std::vector& getVariableDatumRecords() const; + void setVariableDatumRecords(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const DataReliablePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/DeadReckoningParameter.cpp b/cpp/DIS/DeadReckoningParameter.cpp new file mode 100644 index 00000000..ea27ad18 --- /dev/null +++ b/cpp/DIS/DeadReckoningParameter.cpp @@ -0,0 +1,165 @@ +#include + +using namespace DIS; + + +DeadReckoningParameter::DeadReckoningParameter(): + _deadReckoningAlgorithm(0), + _entityLinearAcceleration(), + _entityAngularVelocity() +{ + // Initialize fixed length array + for(int lengthotherParameters= 0; lengthotherParameters < 15; lengthotherParameters++) + { + _otherParameters[lengthotherParameters] = 0; + } + +} + +DeadReckoningParameter::~DeadReckoningParameter() +{ +} + +unsigned char DeadReckoningParameter::getDeadReckoningAlgorithm() const +{ + return _deadReckoningAlgorithm; +} + +void DeadReckoningParameter::setDeadReckoningAlgorithm(unsigned char pX) +{ + _deadReckoningAlgorithm = pX; +} + +char* DeadReckoningParameter::getOtherParameters() +{ + return _otherParameters; +} + +const char* DeadReckoningParameter::getOtherParameters() const +{ + return _otherParameters; +} + +void DeadReckoningParameter::setOtherParameters(const char* x) +{ + for(int i = 0; i < 15; i++) + { + _otherParameters[i] = x[i]; + } +} + +Vector3Float& DeadReckoningParameter::getEntityLinearAcceleration() +{ + return _entityLinearAcceleration; +} + +const Vector3Float& DeadReckoningParameter::getEntityLinearAcceleration() const +{ + return _entityLinearAcceleration; +} + +void DeadReckoningParameter::setEntityLinearAcceleration(const Vector3Float &pX) +{ + _entityLinearAcceleration = pX; +} + +Vector3Float& DeadReckoningParameter::getEntityAngularVelocity() +{ + return _entityAngularVelocity; +} + +const Vector3Float& DeadReckoningParameter::getEntityAngularVelocity() const +{ + return _entityAngularVelocity; +} + +void DeadReckoningParameter::setEntityAngularVelocity(const Vector3Float &pX) +{ + _entityAngularVelocity = pX; +} + +void DeadReckoningParameter::marshal(DataStream& dataStream) const +{ + dataStream << _deadReckoningAlgorithm; + + for(size_t idx = 0; idx < 15; idx++) + { + dataStream << _otherParameters[idx]; + } + + _entityLinearAcceleration.marshal(dataStream); + _entityAngularVelocity.marshal(dataStream); +} + +void DeadReckoningParameter::unmarshal(DataStream& dataStream) +{ + dataStream >> _deadReckoningAlgorithm; + + for(size_t idx = 0; idx < 15; idx++) + { + dataStream >> _otherParameters[idx]; + } + + _entityLinearAcceleration.unmarshal(dataStream); + _entityAngularVelocity.unmarshal(dataStream); +} + + +bool DeadReckoningParameter::operator ==(const DeadReckoningParameter& rhs) const + { + bool ivarsEqual = true; + + if( ! (_deadReckoningAlgorithm == rhs._deadReckoningAlgorithm) ) ivarsEqual = false; + + for(char idx = 0; idx < 15; idx++) + { + if(!(_otherParameters[idx] == rhs._otherParameters[idx]) ) ivarsEqual = false; + } + + if( ! (_entityLinearAcceleration == rhs._entityLinearAcceleration) ) ivarsEqual = false; + if( ! (_entityAngularVelocity == rhs._entityAngularVelocity) ) ivarsEqual = false; + + return ivarsEqual; + } + +int DeadReckoningParameter::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _deadReckoningAlgorithm + marshalSize = marshalSize + 15 * 1; // _otherParameters + marshalSize = marshalSize + _entityLinearAcceleration.getMarshalledSize(); // _entityLinearAcceleration + marshalSize = marshalSize + _entityAngularVelocity.getMarshalledSize(); // _entityAngularVelocity + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/DeadReckoningParameter.h b/cpp/DIS/DeadReckoningParameter.h new file mode 100644 index 00000000..41e5118b --- /dev/null +++ b/cpp/DIS/DeadReckoningParameter.h @@ -0,0 +1,93 @@ +#ifndef DEADRECKONINGPARAMETER_H +#define DEADRECKONINGPARAMETER_H + +#include +#include +#include +#include + + +namespace DIS +{ +// represents values used in dead reckoning algorithms + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO DeadReckoningParameter +{ +protected: + /** enumeration of what dead reckoning algorighm to use */ + unsigned char _deadReckoningAlgorithm; + + /** other parameters to use in the dead reckoning algorithm */ + char _otherParameters[15]; + + /** Linear acceleration of the entity */ + Vector3Float _entityLinearAcceleration; + + /** angular velocity of the entity */ + Vector3Float _entityAngularVelocity; + + + public: + DeadReckoningParameter(); + virtual ~DeadReckoningParameter(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getDeadReckoningAlgorithm() const; + void setDeadReckoningAlgorithm(unsigned char pX); + + char* getOtherParameters(); + const char* getOtherParameters() const; + void setOtherParameters( const char* pX); + + Vector3Float& getEntityLinearAcceleration(); + const Vector3Float& getEntityLinearAcceleration() const; + void setEntityLinearAcceleration(const Vector3Float &pX); + + Vector3Float& getEntityAngularVelocity(); + const Vector3Float& getEntityAngularVelocity() const; + void setEntityAngularVelocity(const Vector3Float &pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const DeadReckoningParameter& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/DesignatorPdu.cpp b/cpp/DIS/DesignatorPdu.cpp new file mode 100644 index 00000000..a526cd75 --- /dev/null +++ b/cpp/DIS/DesignatorPdu.cpp @@ -0,0 +1,278 @@ +#include + +using namespace DIS; + + +DesignatorPdu::DesignatorPdu() : DistributedEmissionsFamilyPdu(), + _designatingEntityID(), + _codeName(0), + _designatedEntityID(), + _designatorCode(0), + _designatorPower(0.0), + _designatorWavelength(0.0), + _designatorSpotWrtDesignated(), + _designatorSpotLocation(), + _deadReckoningAlgorithm(0), + _padding1(0), + _padding2(0), + _entityLinearAcceleration() +{ + setPduType( 24 ); +} + +DesignatorPdu::~DesignatorPdu() +{ +} + +EntityID& DesignatorPdu::getDesignatingEntityID() +{ + return _designatingEntityID; +} + +const EntityID& DesignatorPdu::getDesignatingEntityID() const +{ + return _designatingEntityID; +} + +void DesignatorPdu::setDesignatingEntityID(const EntityID &pX) +{ + _designatingEntityID = pX; +} + +unsigned short DesignatorPdu::getCodeName() const +{ + return _codeName; +} + +void DesignatorPdu::setCodeName(unsigned short pX) +{ + _codeName = pX; +} + +EntityID& DesignatorPdu::getDesignatedEntityID() +{ + return _designatedEntityID; +} + +const EntityID& DesignatorPdu::getDesignatedEntityID() const +{ + return _designatedEntityID; +} + +void DesignatorPdu::setDesignatedEntityID(const EntityID &pX) +{ + _designatedEntityID = pX; +} + +unsigned short DesignatorPdu::getDesignatorCode() const +{ + return _designatorCode; +} + +void DesignatorPdu::setDesignatorCode(unsigned short pX) +{ + _designatorCode = pX; +} + +float DesignatorPdu::getDesignatorPower() const +{ + return _designatorPower; +} + +void DesignatorPdu::setDesignatorPower(float pX) +{ + _designatorPower = pX; +} + +float DesignatorPdu::getDesignatorWavelength() const +{ + return _designatorWavelength; +} + +void DesignatorPdu::setDesignatorWavelength(float pX) +{ + _designatorWavelength = pX; +} + +Vector3Float& DesignatorPdu::getDesignatorSpotWrtDesignated() +{ + return _designatorSpotWrtDesignated; +} + +const Vector3Float& DesignatorPdu::getDesignatorSpotWrtDesignated() const +{ + return _designatorSpotWrtDesignated; +} + +void DesignatorPdu::setDesignatorSpotWrtDesignated(const Vector3Float &pX) +{ + _designatorSpotWrtDesignated = pX; +} + +Vector3Double& DesignatorPdu::getDesignatorSpotLocation() +{ + return _designatorSpotLocation; +} + +const Vector3Double& DesignatorPdu::getDesignatorSpotLocation() const +{ + return _designatorSpotLocation; +} + +void DesignatorPdu::setDesignatorSpotLocation(const Vector3Double &pX) +{ + _designatorSpotLocation = pX; +} + +char DesignatorPdu::getDeadReckoningAlgorithm() const +{ + return _deadReckoningAlgorithm; +} + +void DesignatorPdu::setDeadReckoningAlgorithm(char pX) +{ + _deadReckoningAlgorithm = pX; +} + +unsigned short DesignatorPdu::getPadding1() const +{ + return _padding1; +} + +void DesignatorPdu::setPadding1(unsigned short pX) +{ + _padding1 = pX; +} + +char DesignatorPdu::getPadding2() const +{ + return _padding2; +} + +void DesignatorPdu::setPadding2(char pX) +{ + _padding2 = pX; +} + +Vector3Float& DesignatorPdu::getEntityLinearAcceleration() +{ + return _entityLinearAcceleration; +} + +const Vector3Float& DesignatorPdu::getEntityLinearAcceleration() const +{ + return _entityLinearAcceleration; +} + +void DesignatorPdu::setEntityLinearAcceleration(const Vector3Float &pX) +{ + _entityLinearAcceleration = pX; +} + +void DesignatorPdu::marshal(DataStream& dataStream) const +{ + DistributedEmissionsFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _designatingEntityID.marshal(dataStream); + dataStream << _codeName; + _designatedEntityID.marshal(dataStream); + dataStream << _designatorCode; + dataStream << _designatorPower; + dataStream << _designatorWavelength; + _designatorSpotWrtDesignated.marshal(dataStream); + _designatorSpotLocation.marshal(dataStream); + dataStream << _deadReckoningAlgorithm; + dataStream << _padding1; + dataStream << _padding2; + _entityLinearAcceleration.marshal(dataStream); +} + +void DesignatorPdu::unmarshal(DataStream& dataStream) +{ + DistributedEmissionsFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _designatingEntityID.unmarshal(dataStream); + dataStream >> _codeName; + _designatedEntityID.unmarshal(dataStream); + dataStream >> _designatorCode; + dataStream >> _designatorPower; + dataStream >> _designatorWavelength; + _designatorSpotWrtDesignated.unmarshal(dataStream); + _designatorSpotLocation.unmarshal(dataStream); + dataStream >> _deadReckoningAlgorithm; + dataStream >> _padding1; + dataStream >> _padding2; + _entityLinearAcceleration.unmarshal(dataStream); +} + + +bool DesignatorPdu::operator ==(const DesignatorPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = DistributedEmissionsFamilyPdu::operator==(rhs); + + if( ! (_designatingEntityID == rhs._designatingEntityID) ) ivarsEqual = false; + if( ! (_codeName == rhs._codeName) ) ivarsEqual = false; + if( ! (_designatedEntityID == rhs._designatedEntityID) ) ivarsEqual = false; + if( ! (_designatorCode == rhs._designatorCode) ) ivarsEqual = false; + if( ! (_designatorPower == rhs._designatorPower) ) ivarsEqual = false; + if( ! (_designatorWavelength == rhs._designatorWavelength) ) ivarsEqual = false; + if( ! (_designatorSpotWrtDesignated == rhs._designatorSpotWrtDesignated) ) ivarsEqual = false; + if( ! (_designatorSpotLocation == rhs._designatorSpotLocation) ) ivarsEqual = false; + if( ! (_deadReckoningAlgorithm == rhs._deadReckoningAlgorithm) ) ivarsEqual = false; + if( ! (_padding1 == rhs._padding1) ) ivarsEqual = false; + if( ! (_padding2 == rhs._padding2) ) ivarsEqual = false; + if( ! (_entityLinearAcceleration == rhs._entityLinearAcceleration) ) ivarsEqual = false; + + return ivarsEqual; + } + +int DesignatorPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = DistributedEmissionsFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _designatingEntityID.getMarshalledSize(); // _designatingEntityID + marshalSize = marshalSize + 2; // _codeName + marshalSize = marshalSize + _designatedEntityID.getMarshalledSize(); // _designatedEntityID + marshalSize = marshalSize + 2; // _designatorCode + marshalSize = marshalSize + 4; // _designatorPower + marshalSize = marshalSize + 4; // _designatorWavelength + marshalSize = marshalSize + _designatorSpotWrtDesignated.getMarshalledSize(); // _designatorSpotWrtDesignated + marshalSize = marshalSize + _designatorSpotLocation.getMarshalledSize(); // _designatorSpotLocation + marshalSize = marshalSize + 1; // _deadReckoningAlgorithm + marshalSize = marshalSize + 2; // _padding1 + marshalSize = marshalSize + 1; // _padding2 + marshalSize = marshalSize + _entityLinearAcceleration.getMarshalledSize(); // _entityLinearAcceleration + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/DesignatorPdu.h b/cpp/DIS/DesignatorPdu.h new file mode 100644 index 00000000..c0db9213 --- /dev/null +++ b/cpp/DIS/DesignatorPdu.h @@ -0,0 +1,147 @@ +#ifndef DESIGNATORPDU_H +#define DESIGNATORPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.7.2. Handles designating operations. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO DesignatorPdu : public DistributedEmissionsFamilyPdu +{ +protected: + /** ID of the entity designating */ + EntityID _designatingEntityID; + + /** This field shall specify a unique emitter database number assigned to differentiate between otherwise similar or identical emitter beams within an emitter system. */ + unsigned short _codeName; + + /** ID of the entity being designated */ + EntityID _designatedEntityID; + + /** This field shall identify the designator code being used by the designating entity */ + unsigned short _designatorCode; + + /** This field shall identify the designator output power in watts */ + float _designatorPower; + + /** This field shall identify the designator wavelength in units of microns */ + float _designatorWavelength; + + /** designtor spot wrt the designated entity */ + Vector3Float _designatorSpotWrtDesignated; + + /** designtor spot wrt the designated entity */ + Vector3Double _designatorSpotLocation; + + /** Dead reckoning algorithm */ + char _deadReckoningAlgorithm; + + /** padding */ + unsigned short _padding1; + + /** padding */ + char _padding2; + + /** linear accelleration of entity */ + Vector3Float _entityLinearAcceleration; + + + public: + DesignatorPdu(); + virtual ~DesignatorPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getDesignatingEntityID(); + const EntityID& getDesignatingEntityID() const; + void setDesignatingEntityID(const EntityID &pX); + + unsigned short getCodeName() const; + void setCodeName(unsigned short pX); + + EntityID& getDesignatedEntityID(); + const EntityID& getDesignatedEntityID() const; + void setDesignatedEntityID(const EntityID &pX); + + unsigned short getDesignatorCode() const; + void setDesignatorCode(unsigned short pX); + + float getDesignatorPower() const; + void setDesignatorPower(float pX); + + float getDesignatorWavelength() const; + void setDesignatorWavelength(float pX); + + Vector3Float& getDesignatorSpotWrtDesignated(); + const Vector3Float& getDesignatorSpotWrtDesignated() const; + void setDesignatorSpotWrtDesignated(const Vector3Float &pX); + + Vector3Double& getDesignatorSpotLocation(); + const Vector3Double& getDesignatorSpotLocation() const; + void setDesignatorSpotLocation(const Vector3Double &pX); + + char getDeadReckoningAlgorithm() const; + void setDeadReckoningAlgorithm(char pX); + + unsigned short getPadding1() const; + void setPadding1(unsigned short pX); + + char getPadding2() const; + void setPadding2(char pX); + + Vector3Float& getEntityLinearAcceleration(); + const Vector3Float& getEntityLinearAcceleration() const; + void setEntityLinearAcceleration(const Vector3Float &pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const DesignatorPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/DetonationPdu.cpp b/cpp/DIS/DetonationPdu.cpp new file mode 100644 index 00000000..529e4905 --- /dev/null +++ b/cpp/DIS/DetonationPdu.cpp @@ -0,0 +1,276 @@ +#include + +using namespace DIS; + + +DetonationPdu::DetonationPdu() : WarfareFamilyPdu(), + _munitionID(), + _eventID(), + _velocity(), + _locationInWorldCoordinates(), + _burstDescriptor(), + _locationInEntityCoordinates(), + _detonationResult(0), + _numberOfArticulationParameters(0), + _pad(0) +{ + setPduType( 3 ); +} + +DetonationPdu::~DetonationPdu() +{ + _articulationParameters.clear(); +} + +EntityID& DetonationPdu::getMunitionID() +{ + return _munitionID; +} + +const EntityID& DetonationPdu::getMunitionID() const +{ + return _munitionID; +} + +void DetonationPdu::setMunitionID(const EntityID &pX) +{ + _munitionID = pX; +} + +EventID& DetonationPdu::getEventID() +{ + return _eventID; +} + +const EventID& DetonationPdu::getEventID() const +{ + return _eventID; +} + +void DetonationPdu::setEventID(const EventID &pX) +{ + _eventID = pX; +} + +Vector3Float& DetonationPdu::getVelocity() +{ + return _velocity; +} + +const Vector3Float& DetonationPdu::getVelocity() const +{ + return _velocity; +} + +void DetonationPdu::setVelocity(const Vector3Float &pX) +{ + _velocity = pX; +} + +Vector3Double& DetonationPdu::getLocationInWorldCoordinates() +{ + return _locationInWorldCoordinates; +} + +const Vector3Double& DetonationPdu::getLocationInWorldCoordinates() const +{ + return _locationInWorldCoordinates; +} + +void DetonationPdu::setLocationInWorldCoordinates(const Vector3Double &pX) +{ + _locationInWorldCoordinates = pX; +} + +BurstDescriptor& DetonationPdu::getBurstDescriptor() +{ + return _burstDescriptor; +} + +const BurstDescriptor& DetonationPdu::getBurstDescriptor() const +{ + return _burstDescriptor; +} + +void DetonationPdu::setBurstDescriptor(const BurstDescriptor &pX) +{ + _burstDescriptor = pX; +} + +Vector3Float& DetonationPdu::getLocationInEntityCoordinates() +{ + return _locationInEntityCoordinates; +} + +const Vector3Float& DetonationPdu::getLocationInEntityCoordinates() const +{ + return _locationInEntityCoordinates; +} + +void DetonationPdu::setLocationInEntityCoordinates(const Vector3Float &pX) +{ + _locationInEntityCoordinates = pX; +} + +unsigned char DetonationPdu::getDetonationResult() const +{ + return _detonationResult; +} + +void DetonationPdu::setDetonationResult(unsigned char pX) +{ + _detonationResult = pX; +} + +unsigned char DetonationPdu::getNumberOfArticulationParameters() const +{ + return _articulationParameters.size(); +} + +short DetonationPdu::getPad() const +{ + return _pad; +} + +void DetonationPdu::setPad(short pX) +{ + _pad = pX; +} + +std::vector& DetonationPdu::getArticulationParameters() +{ + return _articulationParameters; +} + +const std::vector& DetonationPdu::getArticulationParameters() const +{ + return _articulationParameters; +} + +void DetonationPdu::setArticulationParameters(const std::vector& pX) +{ + _articulationParameters = pX; +} + +void DetonationPdu::marshal(DataStream& dataStream) const +{ + WarfareFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _munitionID.marshal(dataStream); + _eventID.marshal(dataStream); + _velocity.marshal(dataStream); + _locationInWorldCoordinates.marshal(dataStream); + _burstDescriptor.marshal(dataStream); + _locationInEntityCoordinates.marshal(dataStream); + dataStream << _detonationResult; + dataStream << ( unsigned char )_articulationParameters.size(); + dataStream << _pad; + + for(size_t idx = 0; idx < _articulationParameters.size(); idx++) + { + ArticulationParameter x = _articulationParameters[idx]; + x.marshal(dataStream); + } + +} + +void DetonationPdu::unmarshal(DataStream& dataStream) +{ + WarfareFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _munitionID.unmarshal(dataStream); + _eventID.unmarshal(dataStream); + _velocity.unmarshal(dataStream); + _locationInWorldCoordinates.unmarshal(dataStream); + _burstDescriptor.unmarshal(dataStream); + _locationInEntityCoordinates.unmarshal(dataStream); + dataStream >> _detonationResult; + dataStream >> _numberOfArticulationParameters; + dataStream >> _pad; + + _articulationParameters.clear(); + for(size_t idx = 0; idx < _numberOfArticulationParameters; idx++) + { + ArticulationParameter x; + x.unmarshal(dataStream); + _articulationParameters.push_back(x); + } +} + + +bool DetonationPdu::operator ==(const DetonationPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = WarfareFamilyPdu::operator==(rhs); + + if( ! (_munitionID == rhs._munitionID) ) ivarsEqual = false; + if( ! (_eventID == rhs._eventID) ) ivarsEqual = false; + if( ! (_velocity == rhs._velocity) ) ivarsEqual = false; + if( ! (_locationInWorldCoordinates == rhs._locationInWorldCoordinates) ) ivarsEqual = false; + if( ! (_burstDescriptor == rhs._burstDescriptor) ) ivarsEqual = false; + if( ! (_locationInEntityCoordinates == rhs._locationInEntityCoordinates) ) ivarsEqual = false; + if( ! (_detonationResult == rhs._detonationResult) ) ivarsEqual = false; + if( ! (_pad == rhs._pad) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _articulationParameters.size(); idx++) + { + if( ! ( _articulationParameters[idx] == rhs._articulationParameters[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int DetonationPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = WarfareFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _munitionID.getMarshalledSize(); // _munitionID + marshalSize = marshalSize + _eventID.getMarshalledSize(); // _eventID + marshalSize = marshalSize + _velocity.getMarshalledSize(); // _velocity + marshalSize = marshalSize + _locationInWorldCoordinates.getMarshalledSize(); // _locationInWorldCoordinates + marshalSize = marshalSize + _burstDescriptor.getMarshalledSize(); // _burstDescriptor + marshalSize = marshalSize + _locationInEntityCoordinates.getMarshalledSize(); // _locationInEntityCoordinates + marshalSize = marshalSize + 1; // _detonationResult + marshalSize = marshalSize + 1; // _numberOfArticulationParameters + marshalSize = marshalSize + 2; // _pad + + for(int idx=0; idx < _articulationParameters.size(); idx++) + { + ArticulationParameter listElement = _articulationParameters[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/DetonationPdu.h b/cpp/DIS/DetonationPdu.h new file mode 100644 index 00000000..bcee2f7c --- /dev/null +++ b/cpp/DIS/DetonationPdu.h @@ -0,0 +1,138 @@ +#ifndef DETONATIONPDU_H +#define DETONATIONPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.4.2. Information about stuff exploding. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO DetonationPdu : public WarfareFamilyPdu +{ +protected: + /** ID of muntion that was fired */ + EntityID _munitionID; + + /** ID firing event */ + EventID _eventID; + + /** ID firing event */ + Vector3Float _velocity; + + /** where the detonation is, in world coordinates */ + Vector3Double _locationInWorldCoordinates; + + /** Describes munition used */ + BurstDescriptor _burstDescriptor; + + /** location of the detonation or impact in the target entity's coordinate system. This information should be used for damage assessment. */ + Vector3Float _locationInEntityCoordinates; + + /** result of the explosion */ + unsigned char _detonationResult; + + /** How many articulation parameters we have */ + unsigned char _numberOfArticulationParameters; + + /** padding */ + short _pad; + + std::vector _articulationParameters; + + + public: + DetonationPdu(); + virtual ~DetonationPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getMunitionID(); + const EntityID& getMunitionID() const; + void setMunitionID(const EntityID &pX); + + EventID& getEventID(); + const EventID& getEventID() const; + void setEventID(const EventID &pX); + + Vector3Float& getVelocity(); + const Vector3Float& getVelocity() const; + void setVelocity(const Vector3Float &pX); + + Vector3Double& getLocationInWorldCoordinates(); + const Vector3Double& getLocationInWorldCoordinates() const; + void setLocationInWorldCoordinates(const Vector3Double &pX); + + BurstDescriptor& getBurstDescriptor(); + const BurstDescriptor& getBurstDescriptor() const; + void setBurstDescriptor(const BurstDescriptor &pX); + + Vector3Float& getLocationInEntityCoordinates(); + const Vector3Float& getLocationInEntityCoordinates() const; + void setLocationInEntityCoordinates(const Vector3Float &pX); + + unsigned char getDetonationResult() const; + void setDetonationResult(unsigned char pX); + + unsigned char getNumberOfArticulationParameters() const; + + short getPad() const; + void setPad(short pX); + + std::vector& getArticulationParameters(); + const std::vector& getArticulationParameters() const; + void setArticulationParameters(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const DetonationPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/DistributedEmissionsFamilyPdu.cpp b/cpp/DIS/DistributedEmissionsFamilyPdu.cpp new file mode 100644 index 00000000..0aa68dc3 --- /dev/null +++ b/cpp/DIS/DistributedEmissionsFamilyPdu.cpp @@ -0,0 +1,74 @@ +#include + +using namespace DIS; + + +DistributedEmissionsFamilyPdu::DistributedEmissionsFamilyPdu() : Pdu() + +{ + setProtocolFamily( 6 ); +} + +DistributedEmissionsFamilyPdu::~DistributedEmissionsFamilyPdu() +{ +} + +void DistributedEmissionsFamilyPdu::marshal(DataStream& dataStream) const +{ + Pdu::marshal(dataStream); // Marshal information in superclass first +} + +void DistributedEmissionsFamilyPdu::unmarshal(DataStream& dataStream) +{ + Pdu::unmarshal(dataStream); // unmarshal information in superclass first +} + + +bool DistributedEmissionsFamilyPdu::operator ==(const DistributedEmissionsFamilyPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = Pdu::operator==(rhs); + + + return ivarsEqual; + } + +int DistributedEmissionsFamilyPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = Pdu::getMarshalledSize(); + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/DistributedEmissionsFamilyPdu.h b/cpp/DIS/DistributedEmissionsFamilyPdu.h new file mode 100644 index 00000000..186242cd --- /dev/null +++ b/cpp/DIS/DistributedEmissionsFamilyPdu.h @@ -0,0 +1,65 @@ +#ifndef DISTRIBUTEDEMISSIONSFAMILYPDU_H +#define DISTRIBUTEDEMISSIONSFAMILYPDU_H + +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.7. Electronic Emissions. Abstract superclass for distirubted emissions PDU + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO DistributedEmissionsFamilyPdu : public Pdu +{ +protected: + + public: + DistributedEmissionsFamilyPdu(); + virtual ~DistributedEmissionsFamilyPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + +virtual int getMarshalledSize() const; + + bool operator ==(const DistributedEmissionsFamilyPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/EightByteChunk.cpp b/cpp/DIS/EightByteChunk.cpp new file mode 100644 index 00000000..e53466e4 --- /dev/null +++ b/cpp/DIS/EightByteChunk.cpp @@ -0,0 +1,110 @@ +#include + +using namespace DIS; + + +EightByteChunk::EightByteChunk() +{ + // Initialize fixed length array + for(int lengthotherParameters= 0; lengthotherParameters < 8; lengthotherParameters++) + { + _otherParameters[lengthotherParameters] = 0; + } + +} + +EightByteChunk::~EightByteChunk() +{ +} + +char* EightByteChunk::getOtherParameters() +{ + return _otherParameters; +} + +const char* EightByteChunk::getOtherParameters() const +{ + return _otherParameters; +} + +void EightByteChunk::setOtherParameters(const char* x) +{ + for(int i = 0; i < 8; i++) + { + _otherParameters[i] = x[i]; + } +} + +void EightByteChunk::marshal(DataStream& dataStream) const +{ + + for(size_t idx = 0; idx < 8; idx++) + { + dataStream << _otherParameters[idx]; + } + +} + +void EightByteChunk::unmarshal(DataStream& dataStream) +{ + + for(size_t idx = 0; idx < 8; idx++) + { + dataStream >> _otherParameters[idx]; + } + +} + + +bool EightByteChunk::operator ==(const EightByteChunk& rhs) const + { + bool ivarsEqual = true; + + + for(char idx = 0; idx < 8; idx++) + { + if(!(_otherParameters[idx] == rhs._otherParameters[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int EightByteChunk::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 8 * 1; // _otherParameters + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/EightByteChunk.h b/cpp/DIS/EightByteChunk.h new file mode 100644 index 00000000..0f3bdfa4 --- /dev/null +++ b/cpp/DIS/EightByteChunk.h @@ -0,0 +1,71 @@ +#ifndef EIGHTBYTECHUNK_H +#define EIGHTBYTECHUNK_H + +#include +#include + + +namespace DIS +{ +// 64 bit piece of data + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EightByteChunk +{ +protected: + /** Eight bytes of arbitrary data */ + char _otherParameters[8]; + + + public: + EightByteChunk(); + virtual ~EightByteChunk(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + char* getOtherParameters(); + const char* getOtherParameters() const; + void setOtherParameters( const char* pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EightByteChunk& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ElectronicEmissionBeamData.cpp b/cpp/DIS/ElectronicEmissionBeamData.cpp new file mode 100644 index 00000000..db344215 --- /dev/null +++ b/cpp/DIS/ElectronicEmissionBeamData.cpp @@ -0,0 +1,245 @@ +#include + +using namespace DIS; + + +ElectronicEmissionBeamData::ElectronicEmissionBeamData(): + _beamDataLength(0), + _beamIDNumber(0), + _beamParameterIndex(0), + _fundamentalParameterData(), + _beamFunction(0), + _numberOfTrackJamTargets(0), + _highDensityTrackJam(0), + _pad4(0), + _jammingModeSequence(0) +{ +} + +ElectronicEmissionBeamData::~ElectronicEmissionBeamData() +{ + _trackJamTargets.clear(); +} + +unsigned char ElectronicEmissionBeamData::getBeamDataLength() const +{ + return _beamDataLength; +} + +void ElectronicEmissionBeamData::setBeamDataLength(unsigned char pX) +{ + _beamDataLength = pX; +} + +unsigned char ElectronicEmissionBeamData::getBeamIDNumber() const +{ + return _beamIDNumber; +} + +void ElectronicEmissionBeamData::setBeamIDNumber(unsigned char pX) +{ + _beamIDNumber = pX; +} + +unsigned short ElectronicEmissionBeamData::getBeamParameterIndex() const +{ + return _beamParameterIndex; +} + +void ElectronicEmissionBeamData::setBeamParameterIndex(unsigned short pX) +{ + _beamParameterIndex = pX; +} + +FundamentalParameterData& ElectronicEmissionBeamData::getFundamentalParameterData() +{ + return _fundamentalParameterData; +} + +const FundamentalParameterData& ElectronicEmissionBeamData::getFundamentalParameterData() const +{ + return _fundamentalParameterData; +} + +void ElectronicEmissionBeamData::setFundamentalParameterData(const FundamentalParameterData &pX) +{ + _fundamentalParameterData = pX; +} + +unsigned char ElectronicEmissionBeamData::getBeamFunction() const +{ + return _beamFunction; +} + +void ElectronicEmissionBeamData::setBeamFunction(unsigned char pX) +{ + _beamFunction = pX; +} + +unsigned char ElectronicEmissionBeamData::getNumberOfTrackJamTargets() const +{ + return _trackJamTargets.size(); +} + +unsigned char ElectronicEmissionBeamData::getHighDensityTrackJam() const +{ + return _highDensityTrackJam; +} + +void ElectronicEmissionBeamData::setHighDensityTrackJam(unsigned char pX) +{ + _highDensityTrackJam = pX; +} + +unsigned char ElectronicEmissionBeamData::getPad4() const +{ + return _pad4; +} + +void ElectronicEmissionBeamData::setPad4(unsigned char pX) +{ + _pad4 = pX; +} + +unsigned int ElectronicEmissionBeamData::getJammingModeSequence() const +{ + return _jammingModeSequence; +} + +void ElectronicEmissionBeamData::setJammingModeSequence(unsigned int pX) +{ + _jammingModeSequence = pX; +} + +std::vector& ElectronicEmissionBeamData::getTrackJamTargets() +{ + return _trackJamTargets; +} + +const std::vector& ElectronicEmissionBeamData::getTrackJamTargets() const +{ + return _trackJamTargets; +} + +void ElectronicEmissionBeamData::setTrackJamTargets(const std::vector& pX) +{ + _trackJamTargets = pX; +} + +void ElectronicEmissionBeamData::marshal(DataStream& dataStream) const +{ + dataStream << _beamDataLength; + dataStream << _beamIDNumber; + dataStream << _beamParameterIndex; + _fundamentalParameterData.marshal(dataStream); + dataStream << _beamFunction; + dataStream << ( unsigned char )_trackJamTargets.size(); + dataStream << _highDensityTrackJam; + dataStream << _pad4; + dataStream << _jammingModeSequence; + + for(size_t idx = 0; idx < _trackJamTargets.size(); idx++) + { + TrackJamTarget x = _trackJamTargets[idx]; + x.marshal(dataStream); + } + +} + +void ElectronicEmissionBeamData::unmarshal(DataStream& dataStream) +{ + dataStream >> _beamDataLength; + dataStream >> _beamIDNumber; + dataStream >> _beamParameterIndex; + _fundamentalParameterData.unmarshal(dataStream); + dataStream >> _beamFunction; + dataStream >> _numberOfTrackJamTargets; + dataStream >> _highDensityTrackJam; + dataStream >> _pad4; + dataStream >> _jammingModeSequence; + + _trackJamTargets.clear(); + for(size_t idx = 0; idx < _numberOfTrackJamTargets; idx++) + { + TrackJamTarget x; + x.unmarshal(dataStream); + _trackJamTargets.push_back(x); + } +} + + +bool ElectronicEmissionBeamData::operator ==(const ElectronicEmissionBeamData& rhs) const + { + bool ivarsEqual = true; + + if( ! (_beamDataLength == rhs._beamDataLength) ) ivarsEqual = false; + if( ! (_beamIDNumber == rhs._beamIDNumber) ) ivarsEqual = false; + if( ! (_beamParameterIndex == rhs._beamParameterIndex) ) ivarsEqual = false; + if( ! (_fundamentalParameterData == rhs._fundamentalParameterData) ) ivarsEqual = false; + if( ! (_beamFunction == rhs._beamFunction) ) ivarsEqual = false; + if( ! (_highDensityTrackJam == rhs._highDensityTrackJam) ) ivarsEqual = false; + if( ! (_pad4 == rhs._pad4) ) ivarsEqual = false; + if( ! (_jammingModeSequence == rhs._jammingModeSequence) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _trackJamTargets.size(); idx++) + { + if( ! ( _trackJamTargets[idx] == rhs._trackJamTargets[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int ElectronicEmissionBeamData::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _beamDataLength + marshalSize = marshalSize + 1; // _beamIDNumber + marshalSize = marshalSize + 2; // _beamParameterIndex + marshalSize = marshalSize + _fundamentalParameterData.getMarshalledSize(); // _fundamentalParameterData + marshalSize = marshalSize + 1; // _beamFunction + marshalSize = marshalSize + 1; // _numberOfTrackJamTargets + marshalSize = marshalSize + 1; // _highDensityTrackJam + marshalSize = marshalSize + 1; // _pad4 + marshalSize = marshalSize + 4; // _jammingModeSequence + + for(int idx=0; idx < _trackJamTargets.size(); idx++) + { + TrackJamTarget listElement = _trackJamTargets[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ElectronicEmissionBeamData.h b/cpp/DIS/ElectronicEmissionBeamData.h new file mode 100644 index 00000000..919fd42e --- /dev/null +++ b/cpp/DIS/ElectronicEmissionBeamData.h @@ -0,0 +1,128 @@ +#ifndef ELECTRONICEMISSIONBEAMDATA_H +#define ELECTRONICEMISSIONBEAMDATA_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Description of one electronic emission beam + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ElectronicEmissionBeamData +{ +protected: + /** This field shall specify the length of this beams data in 32 bit words */ + unsigned char _beamDataLength; + + /** This field shall specify a unique emitter database number assigned to differentiate between otherwise similar or identical emitter beams within an emitter system. */ + unsigned char _beamIDNumber; + + /** This field shall specify a Beam Parameter Index number that shall be used by receiving entities in conjunction with the Emitter Name field to provide a pointer to the stored database parameters required to regenerate the beam. */ + unsigned short _beamParameterIndex; + + /** Fundamental parameter data such as frequency range, beam sweep, etc. */ + FundamentalParameterData _fundamentalParameterData; + + /** beam function of a particular beam */ + unsigned char _beamFunction; + + /** Number of track/jam targets */ + unsigned char _numberOfTrackJamTargets; + + /** wheher or not the receiving simulation apps can assume all the targets in the scan pattern are being tracked/jammed */ + unsigned char _highDensityTrackJam; + + /** padding */ + unsigned char _pad4; + + /** identify jamming techniques used */ + unsigned int _jammingModeSequence; + + /** variable length list of track/jam targets */ + std::vector _trackJamTargets; + + + public: + ElectronicEmissionBeamData(); + virtual ~ElectronicEmissionBeamData(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getBeamDataLength() const; + void setBeamDataLength(unsigned char pX); + + unsigned char getBeamIDNumber() const; + void setBeamIDNumber(unsigned char pX); + + unsigned short getBeamParameterIndex() const; + void setBeamParameterIndex(unsigned short pX); + + FundamentalParameterData& getFundamentalParameterData(); + const FundamentalParameterData& getFundamentalParameterData() const; + void setFundamentalParameterData(const FundamentalParameterData &pX); + + unsigned char getBeamFunction() const; + void setBeamFunction(unsigned char pX); + + unsigned char getNumberOfTrackJamTargets() const; + + unsigned char getHighDensityTrackJam() const; + void setHighDensityTrackJam(unsigned char pX); + + unsigned char getPad4() const; + void setPad4(unsigned char pX); + + unsigned int getJammingModeSequence() const; + void setJammingModeSequence(unsigned int pX); + + std::vector& getTrackJamTargets(); + const std::vector& getTrackJamTargets() const; + void setTrackJamTargets(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ElectronicEmissionBeamData& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ElectronicEmissionSystemData.cpp b/cpp/DIS/ElectronicEmissionSystemData.cpp new file mode 100644 index 00000000..58f86965 --- /dev/null +++ b/cpp/DIS/ElectronicEmissionSystemData.cpp @@ -0,0 +1,190 @@ +#include + +using namespace DIS; + + +ElectronicEmissionSystemData::ElectronicEmissionSystemData(): + _systemDataLength(0), + _numberOfBeams(0), + _emissionsPadding2(0), + _emitterSystem(), + _location() +{ +} + +ElectronicEmissionSystemData::~ElectronicEmissionSystemData() +{ + _beamDataRecords.clear(); +} + +unsigned char ElectronicEmissionSystemData::getSystemDataLength() const +{ + return _systemDataLength; +} + +void ElectronicEmissionSystemData::setSystemDataLength(unsigned char pX) +{ + _systemDataLength = pX; +} + +unsigned char ElectronicEmissionSystemData::getNumberOfBeams() const +{ + return _beamDataRecords.size(); +} + +unsigned short ElectronicEmissionSystemData::getEmissionsPadding2() const +{ + return _emissionsPadding2; +} + +void ElectronicEmissionSystemData::setEmissionsPadding2(unsigned short pX) +{ + _emissionsPadding2 = pX; +} + +EmitterSystem& ElectronicEmissionSystemData::getEmitterSystem() +{ + return _emitterSystem; +} + +const EmitterSystem& ElectronicEmissionSystemData::getEmitterSystem() const +{ + return _emitterSystem; +} + +void ElectronicEmissionSystemData::setEmitterSystem(const EmitterSystem &pX) +{ + _emitterSystem = pX; +} + +Vector3Float& ElectronicEmissionSystemData::getLocation() +{ + return _location; +} + +const Vector3Float& ElectronicEmissionSystemData::getLocation() const +{ + return _location; +} + +void ElectronicEmissionSystemData::setLocation(const Vector3Float &pX) +{ + _location = pX; +} + +std::vector& ElectronicEmissionSystemData::getBeamDataRecords() +{ + return _beamDataRecords; +} + +const std::vector& ElectronicEmissionSystemData::getBeamDataRecords() const +{ + return _beamDataRecords; +} + +void ElectronicEmissionSystemData::setBeamDataRecords(const std::vector& pX) +{ + _beamDataRecords = pX; +} + +void ElectronicEmissionSystemData::marshal(DataStream& dataStream) const +{ + dataStream << _systemDataLength; + dataStream << ( unsigned char )_beamDataRecords.size(); + dataStream << _emissionsPadding2; + _emitterSystem.marshal(dataStream); + _location.marshal(dataStream); + + for(size_t idx = 0; idx < _beamDataRecords.size(); idx++) + { + ElectronicEmissionBeamData x = _beamDataRecords[idx]; + x.marshal(dataStream); + } + +} + +void ElectronicEmissionSystemData::unmarshal(DataStream& dataStream) +{ + dataStream >> _systemDataLength; + dataStream >> _numberOfBeams; + dataStream >> _emissionsPadding2; + _emitterSystem.unmarshal(dataStream); + _location.unmarshal(dataStream); + + _beamDataRecords.clear(); + for(size_t idx = 0; idx < _numberOfBeams; idx++) + { + ElectronicEmissionBeamData x; + x.unmarshal(dataStream); + _beamDataRecords.push_back(x); + } +} + + +bool ElectronicEmissionSystemData::operator ==(const ElectronicEmissionSystemData& rhs) const + { + bool ivarsEqual = true; + + if( ! (_systemDataLength == rhs._systemDataLength) ) ivarsEqual = false; + if( ! (_emissionsPadding2 == rhs._emissionsPadding2) ) ivarsEqual = false; + if( ! (_emitterSystem == rhs._emitterSystem) ) ivarsEqual = false; + if( ! (_location == rhs._location) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _beamDataRecords.size(); idx++) + { + if( ! ( _beamDataRecords[idx] == rhs._beamDataRecords[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int ElectronicEmissionSystemData::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _systemDataLength + marshalSize = marshalSize + 1; // _numberOfBeams + marshalSize = marshalSize + 2; // _emissionsPadding2 + marshalSize = marshalSize + _emitterSystem.getMarshalledSize(); // _emitterSystem + marshalSize = marshalSize + _location.getMarshalledSize(); // _location + + for(int idx=0; idx < _beamDataRecords.size(); idx++) + { + ElectronicEmissionBeamData listElement = _beamDataRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ElectronicEmissionSystemData.h b/cpp/DIS/ElectronicEmissionSystemData.h new file mode 100644 index 00000000..a87527e9 --- /dev/null +++ b/cpp/DIS/ElectronicEmissionSystemData.h @@ -0,0 +1,106 @@ +#ifndef ELECTRONICEMISSIONSYSTEMDATA_H +#define ELECTRONICEMISSIONSYSTEMDATA_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Data about one electronic system + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ElectronicEmissionSystemData +{ +protected: + /** This field shall specify the length of this emitter system�s data (including beam data and its track/jam information) in 32-bit words. The length shall include the System Data Length field. */ + unsigned char _systemDataLength; + + /** This field shall specify the number of beams being described in the current PDU for the system being described. */ + unsigned char _numberOfBeams; + + /** padding. */ + unsigned short _emissionsPadding2; + + /** This field shall specify information about a particular emitter system */ + EmitterSystem _emitterSystem; + + /** Location with respect to the entity */ + Vector3Float _location; + + /** variable length list of beam data records */ + std::vector _beamDataRecords; + + + public: + ElectronicEmissionSystemData(); + virtual ~ElectronicEmissionSystemData(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getSystemDataLength() const; + void setSystemDataLength(unsigned char pX); + + unsigned char getNumberOfBeams() const; + + unsigned short getEmissionsPadding2() const; + void setEmissionsPadding2(unsigned short pX); + + EmitterSystem& getEmitterSystem(); + const EmitterSystem& getEmitterSystem() const; + void setEmitterSystem(const EmitterSystem &pX); + + Vector3Float& getLocation(); + const Vector3Float& getLocation() const; + void setLocation(const Vector3Float &pX); + + std::vector& getBeamDataRecords(); + const std::vector& getBeamDataRecords() const; + void setBeamDataRecords(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ElectronicEmissionSystemData& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ElectronicEmissionsPdu.cpp b/cpp/DIS/ElectronicEmissionsPdu.cpp new file mode 100644 index 00000000..cc3e433f --- /dev/null +++ b/cpp/DIS/ElectronicEmissionsPdu.cpp @@ -0,0 +1,197 @@ +#include + +using namespace DIS; + + +ElectronicEmissionsPdu::ElectronicEmissionsPdu() : DistributedEmissionsFamilyPdu(), + _emittingEntityID(), + _eventID(), + _stateUpdateIndicator(0), + _numberOfSystems(0), + _paddingForEmissionsPdu(0) +{ + setPduType( 23 ); + setPaddingForEmissionsPdu( 0 ); +} + +ElectronicEmissionsPdu::~ElectronicEmissionsPdu() +{ + _systems.clear(); +} + +EntityID& ElectronicEmissionsPdu::getEmittingEntityID() +{ + return _emittingEntityID; +} + +const EntityID& ElectronicEmissionsPdu::getEmittingEntityID() const +{ + return _emittingEntityID; +} + +void ElectronicEmissionsPdu::setEmittingEntityID(const EntityID &pX) +{ + _emittingEntityID = pX; +} + +EventID& ElectronicEmissionsPdu::getEventID() +{ + return _eventID; +} + +const EventID& ElectronicEmissionsPdu::getEventID() const +{ + return _eventID; +} + +void ElectronicEmissionsPdu::setEventID(const EventID &pX) +{ + _eventID = pX; +} + +unsigned char ElectronicEmissionsPdu::getStateUpdateIndicator() const +{ + return _stateUpdateIndicator; +} + +void ElectronicEmissionsPdu::setStateUpdateIndicator(unsigned char pX) +{ + _stateUpdateIndicator = pX; +} + +unsigned char ElectronicEmissionsPdu::getNumberOfSystems() const +{ + return _systems.size(); +} + +unsigned short ElectronicEmissionsPdu::getPaddingForEmissionsPdu() const +{ + return _paddingForEmissionsPdu; +} + +void ElectronicEmissionsPdu::setPaddingForEmissionsPdu(unsigned short pX) +{ + _paddingForEmissionsPdu = pX; +} + +std::vector& ElectronicEmissionsPdu::getSystems() +{ + return _systems; +} + +const std::vector& ElectronicEmissionsPdu::getSystems() const +{ + return _systems; +} + +void ElectronicEmissionsPdu::setSystems(const std::vector& pX) +{ + _systems = pX; +} + +void ElectronicEmissionsPdu::marshal(DataStream& dataStream) const +{ + DistributedEmissionsFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _emittingEntityID.marshal(dataStream); + _eventID.marshal(dataStream); + dataStream << _stateUpdateIndicator; + dataStream << ( unsigned char )_systems.size(); + dataStream << _paddingForEmissionsPdu; + + for(size_t idx = 0; idx < _systems.size(); idx++) + { + ElectronicEmissionSystemData x = _systems[idx]; + x.marshal(dataStream); + } + +} + +void ElectronicEmissionsPdu::unmarshal(DataStream& dataStream) +{ + DistributedEmissionsFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _emittingEntityID.unmarshal(dataStream); + _eventID.unmarshal(dataStream); + dataStream >> _stateUpdateIndicator; + dataStream >> _numberOfSystems; + dataStream >> _paddingForEmissionsPdu; + + _systems.clear(); + for(size_t idx = 0; idx < _numberOfSystems; idx++) + { + ElectronicEmissionSystemData x; + x.unmarshal(dataStream); + _systems.push_back(x); + } +} + + +bool ElectronicEmissionsPdu::operator ==(const ElectronicEmissionsPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = DistributedEmissionsFamilyPdu::operator==(rhs); + + if( ! (_emittingEntityID == rhs._emittingEntityID) ) ivarsEqual = false; + if( ! (_eventID == rhs._eventID) ) ivarsEqual = false; + if( ! (_stateUpdateIndicator == rhs._stateUpdateIndicator) ) ivarsEqual = false; + if( ! (_paddingForEmissionsPdu == rhs._paddingForEmissionsPdu) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _systems.size(); idx++) + { + if( ! ( _systems[idx] == rhs._systems[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int ElectronicEmissionsPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = DistributedEmissionsFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _emittingEntityID.getMarshalledSize(); // _emittingEntityID + marshalSize = marshalSize + _eventID.getMarshalledSize(); // _eventID + marshalSize = marshalSize + 1; // _stateUpdateIndicator + marshalSize = marshalSize + 1; // _numberOfSystems + marshalSize = marshalSize + 2; // _paddingForEmissionsPdu + + for(int idx=0; idx < _systems.size(); idx++) + { + ElectronicEmissionSystemData listElement = _systems[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ElectronicEmissionsPdu.h b/cpp/DIS/ElectronicEmissionsPdu.h new file mode 100644 index 00000000..2f3c107f --- /dev/null +++ b/cpp/DIS/ElectronicEmissionsPdu.h @@ -0,0 +1,107 @@ +#ifndef ELECTRONICEMISSIONSPDU_H +#define ELECTRONICEMISSIONSPDU_H + +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.7.1. Information about active electronic warfare (EW) emissions and active EW countermeasures shall be communicated using an Electromagnetic Emission PDU. COMPLETE (I think) + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ElectronicEmissionsPdu : public DistributedEmissionsFamilyPdu +{ +protected: + /** ID of the entity emitting */ + EntityID _emittingEntityID; + + /** ID of event */ + EventID _eventID; + + /** This field shall be used to indicate if the data in the PDU represents a state update or just data that has changed since issuance of the last Electromagnetic Emission PDU [relative to the identified entity and emission system(s)]. */ + unsigned char _stateUpdateIndicator; + + /** This field shall specify the number of emission systems being described in the current PDU. */ + unsigned char _numberOfSystems; + + /** padding */ + unsigned short _paddingForEmissionsPdu; + + /** Electronic emmissions systems */ + std::vector _systems; + + + public: + ElectronicEmissionsPdu(); + virtual ~ElectronicEmissionsPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getEmittingEntityID(); + const EntityID& getEmittingEntityID() const; + void setEmittingEntityID(const EntityID &pX); + + EventID& getEventID(); + const EventID& getEventID() const; + void setEventID(const EventID &pX); + + unsigned char getStateUpdateIndicator() const; + void setStateUpdateIndicator(unsigned char pX); + + unsigned char getNumberOfSystems() const; + + unsigned short getPaddingForEmissionsPdu() const; + void setPaddingForEmissionsPdu(unsigned short pX); + + std::vector& getSystems(); + const std::vector& getSystems() const; + void setSystems(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ElectronicEmissionsPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/EmitterSystem.cpp b/cpp/DIS/EmitterSystem.cpp new file mode 100644 index 00000000..67976b45 --- /dev/null +++ b/cpp/DIS/EmitterSystem.cpp @@ -0,0 +1,112 @@ +#include + +using namespace DIS; + + +EmitterSystem::EmitterSystem(): + _emitterName(0), + _function(0), + _emitterIdNumber(0) +{ +} + +EmitterSystem::~EmitterSystem() +{ +} + +unsigned short EmitterSystem::getEmitterName() const +{ + return _emitterName; +} + +void EmitterSystem::setEmitterName(unsigned short pX) +{ + _emitterName = pX; +} + +unsigned char EmitterSystem::getFunction() const +{ + return _function; +} + +void EmitterSystem::setFunction(unsigned char pX) +{ + _function = pX; +} + +unsigned char EmitterSystem::getEmitterIdNumber() const +{ + return _emitterIdNumber; +} + +void EmitterSystem::setEmitterIdNumber(unsigned char pX) +{ + _emitterIdNumber = pX; +} + +void EmitterSystem::marshal(DataStream& dataStream) const +{ + dataStream << _emitterName; + dataStream << _function; + dataStream << _emitterIdNumber; +} + +void EmitterSystem::unmarshal(DataStream& dataStream) +{ + dataStream >> _emitterName; + dataStream >> _function; + dataStream >> _emitterIdNumber; +} + + +bool EmitterSystem::operator ==(const EmitterSystem& rhs) const + { + bool ivarsEqual = true; + + if( ! (_emitterName == rhs._emitterName) ) ivarsEqual = false; + if( ! (_function == rhs._function) ) ivarsEqual = false; + if( ! (_emitterIdNumber == rhs._emitterIdNumber) ) ivarsEqual = false; + + return ivarsEqual; + } + +int EmitterSystem::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2; // _emitterName + marshalSize = marshalSize + 1; // _function + marshalSize = marshalSize + 1; // _emitterIdNumber + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/EmitterSystem.h b/cpp/DIS/EmitterSystem.h new file mode 100644 index 00000000..1696116e --- /dev/null +++ b/cpp/DIS/EmitterSystem.h @@ -0,0 +1,82 @@ +#ifndef EMITTERSYSTEM_H +#define EMITTERSYSTEM_H + +#include +#include + + +namespace DIS +{ +// Section 5.2.11. This field shall specify information about a particular emitter system + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EmitterSystem +{ +protected: + /** Name of the emitter, 16 bit enumeration */ + unsigned short _emitterName; + + /** function of the emitter, 8 bit enumeration */ + unsigned char _function; + + /** emitter ID, 8 bit enumeration */ + unsigned char _emitterIdNumber; + + + public: + EmitterSystem(); + virtual ~EmitterSystem(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getEmitterName() const; + void setEmitterName(unsigned short pX); + + unsigned char getFunction() const; + void setFunction(unsigned char pX); + + unsigned char getEmitterIdNumber() const; + void setEmitterIdNumber(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EmitterSystem& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/EntityID.cpp b/cpp/DIS/EntityID.cpp new file mode 100644 index 00000000..3ec22d68 --- /dev/null +++ b/cpp/DIS/EntityID.cpp @@ -0,0 +1,112 @@ +#include + +using namespace DIS; + + +EntityID::EntityID(): + _site(0), + _application(0), + _entity(0) +{ +} + +EntityID::~EntityID() +{ +} + +unsigned short EntityID::getSite() const +{ + return _site; +} + +void EntityID::setSite(unsigned short pX) +{ + _site = pX; +} + +unsigned short EntityID::getApplication() const +{ + return _application; +} + +void EntityID::setApplication(unsigned short pX) +{ + _application = pX; +} + +unsigned short EntityID::getEntity() const +{ + return _entity; +} + +void EntityID::setEntity(unsigned short pX) +{ + _entity = pX; +} + +void EntityID::marshal(DataStream& dataStream) const +{ + dataStream << _site; + dataStream << _application; + dataStream << _entity; +} + +void EntityID::unmarshal(DataStream& dataStream) +{ + dataStream >> _site; + dataStream >> _application; + dataStream >> _entity; +} + + +bool EntityID::operator ==(const EntityID& rhs) const + { + bool ivarsEqual = true; + + if( ! (_site == rhs._site) ) ivarsEqual = false; + if( ! (_application == rhs._application) ) ivarsEqual = false; + if( ! (_entity == rhs._entity) ) ivarsEqual = false; + + return ivarsEqual; + } + +int EntityID::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2; // _site + marshalSize = marshalSize + 2; // _application + marshalSize = marshalSize + 2; // _entity + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/EntityID.h b/cpp/DIS/EntityID.h new file mode 100644 index 00000000..c751a0ce --- /dev/null +++ b/cpp/DIS/EntityID.h @@ -0,0 +1,82 @@ +#ifndef ENTITYID_H +#define ENTITYID_H + +#include +#include + + +namespace DIS +{ +// Each entity in a given DIS simulation application shall be given an entity identifier number unique to all other entities in that application. This identifier number is valid for the duration of the exercise; however, entity identifier numbers may be reused when all possible numbers have been exhausted. No entity shall have an entity identifier number of NO_ENTITY, ALL_ENTITIES, or RQST_ASSIGN_ID. The entity iden- tifier number need not be registered or retained for future exercises. The entity identifier number shall be specified by a 16-bit unsigned integer. An entity identifier number equal to zero with valid site and application identification shall address a simulation application. An entity identifier number equal to ALL_ENTITIES shall mean all entities within the specified site and application. An entity identifier number equal to RQST_ASSIGN_ID allows the receiver of the create entity to define the entity identifier number of the new entity. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EntityID +{ +protected: + /** The site ID */ + unsigned short _site; + + /** The application ID */ + unsigned short _application; + + /** the entity ID */ + unsigned short _entity; + + + public: + EntityID(); + virtual ~EntityID(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getSite() const; + void setSite(unsigned short pX); + + unsigned short getApplication() const; + void setApplication(unsigned short pX); + + unsigned short getEntity() const; + void setEntity(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EntityID& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/EntityInformationFamilyPdu.cpp b/cpp/DIS/EntityInformationFamilyPdu.cpp new file mode 100644 index 00000000..92a4a227 --- /dev/null +++ b/cpp/DIS/EntityInformationFamilyPdu.cpp @@ -0,0 +1,74 @@ +#include + +using namespace DIS; + + +EntityInformationFamilyPdu::EntityInformationFamilyPdu() : Pdu() + +{ + setProtocolFamily( 1 ); +} + +EntityInformationFamilyPdu::~EntityInformationFamilyPdu() +{ +} + +void EntityInformationFamilyPdu::marshal(DataStream& dataStream) const +{ + Pdu::marshal(dataStream); // Marshal information in superclass first +} + +void EntityInformationFamilyPdu::unmarshal(DataStream& dataStream) +{ + Pdu::unmarshal(dataStream); // unmarshal information in superclass first +} + + +bool EntityInformationFamilyPdu::operator ==(const EntityInformationFamilyPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = Pdu::operator==(rhs); + + + return ivarsEqual; + } + +int EntityInformationFamilyPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = Pdu::getMarshalledSize(); + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/EntityInformationFamilyPdu.h b/cpp/DIS/EntityInformationFamilyPdu.h new file mode 100644 index 00000000..4dc801eb --- /dev/null +++ b/cpp/DIS/EntityInformationFamilyPdu.h @@ -0,0 +1,65 @@ +#ifndef ENTITYINFORMATIONFAMILYPDU_H +#define ENTITYINFORMATIONFAMILYPDU_H + +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.3. Common superclass for EntityState, Collision, collision-elastic, and entity state update PDUs. This should be abstract. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EntityInformationFamilyPdu : public Pdu +{ +protected: + + public: + EntityInformationFamilyPdu(); + virtual ~EntityInformationFamilyPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EntityInformationFamilyPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/EntityManagementFamilyPdu.cpp b/cpp/DIS/EntityManagementFamilyPdu.cpp new file mode 100644 index 00000000..4eefbdea --- /dev/null +++ b/cpp/DIS/EntityManagementFamilyPdu.cpp @@ -0,0 +1,74 @@ +#include + +using namespace DIS; + + +EntityManagementFamilyPdu::EntityManagementFamilyPdu() : Pdu() + +{ + setProtocolFamily( 7 ); +} + +EntityManagementFamilyPdu::~EntityManagementFamilyPdu() +{ +} + +void EntityManagementFamilyPdu::marshal(DataStream& dataStream) const +{ + Pdu::marshal(dataStream); // Marshal information in superclass first +} + +void EntityManagementFamilyPdu::unmarshal(DataStream& dataStream) +{ + Pdu::unmarshal(dataStream); // unmarshal information in superclass first +} + + +bool EntityManagementFamilyPdu::operator ==(const EntityManagementFamilyPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = Pdu::operator==(rhs); + + + return ivarsEqual; + } + +int EntityManagementFamilyPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = Pdu::getMarshalledSize(); + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/EntityManagementFamilyPdu.h b/cpp/DIS/EntityManagementFamilyPdu.h new file mode 100644 index 00000000..6708b158 --- /dev/null +++ b/cpp/DIS/EntityManagementFamilyPdu.h @@ -0,0 +1,65 @@ +#ifndef ENTITYMANAGEMENTFAMILYPDU_H +#define ENTITYMANAGEMENTFAMILYPDU_H + +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.9. Common superclass for EntityManagment PDUs, including aggregate state, isGroupOf, TransferControLRequest, and isPartOf + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EntityManagementFamilyPdu : public Pdu +{ +protected: + + public: + EntityManagementFamilyPdu(); + virtual ~EntityManagementFamilyPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EntityManagementFamilyPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/EntityStatePdu.cpp b/cpp/DIS/EntityStatePdu.cpp new file mode 100644 index 00000000..4b602525 --- /dev/null +++ b/cpp/DIS/EntityStatePdu.cpp @@ -0,0 +1,331 @@ +#include + +using namespace DIS; + + +EntityStatePdu::EntityStatePdu() : EntityInformationFamilyPdu(), + _entityID(), + _forceId(0), + _numberOfArticulationParameters(0), + _entityType(), + _alternativeEntityType(), + _entityLinearVelocity(), + _entityLocation(), + _entityOrientation(), + _entityAppearance(0), + _deadReckoningParameters(), + _marking(), + _capabilities(0) +{ + setPduType( 1 ); +} + +EntityStatePdu::~EntityStatePdu() +{ + _articulationParameters.clear(); +} + +EntityID& EntityStatePdu::getEntityID() +{ + return _entityID; +} + +const EntityID& EntityStatePdu::getEntityID() const +{ + return _entityID; +} + +void EntityStatePdu::setEntityID(const EntityID &pX) +{ + _entityID = pX; +} + +unsigned char EntityStatePdu::getForceId() const +{ + return _forceId; +} + +void EntityStatePdu::setForceId(unsigned char pX) +{ + _forceId = pX; +} + +char EntityStatePdu::getNumberOfArticulationParameters() const +{ + return _articulationParameters.size(); +} + +EntityType& EntityStatePdu::getEntityType() +{ + return _entityType; +} + +const EntityType& EntityStatePdu::getEntityType() const +{ + return _entityType; +} + +void EntityStatePdu::setEntityType(const EntityType &pX) +{ + _entityType = pX; +} + +EntityType& EntityStatePdu::getAlternativeEntityType() +{ + return _alternativeEntityType; +} + +const EntityType& EntityStatePdu::getAlternativeEntityType() const +{ + return _alternativeEntityType; +} + +void EntityStatePdu::setAlternativeEntityType(const EntityType &pX) +{ + _alternativeEntityType = pX; +} + +Vector3Float& EntityStatePdu::getEntityLinearVelocity() +{ + return _entityLinearVelocity; +} + +const Vector3Float& EntityStatePdu::getEntityLinearVelocity() const +{ + return _entityLinearVelocity; +} + +void EntityStatePdu::setEntityLinearVelocity(const Vector3Float &pX) +{ + _entityLinearVelocity = pX; +} + +Vector3Double& EntityStatePdu::getEntityLocation() +{ + return _entityLocation; +} + +const Vector3Double& EntityStatePdu::getEntityLocation() const +{ + return _entityLocation; +} + +void EntityStatePdu::setEntityLocation(const Vector3Double &pX) +{ + _entityLocation = pX; +} + +Orientation& EntityStatePdu::getEntityOrientation() +{ + return _entityOrientation; +} + +const Orientation& EntityStatePdu::getEntityOrientation() const +{ + return _entityOrientation; +} + +void EntityStatePdu::setEntityOrientation(const Orientation &pX) +{ + _entityOrientation = pX; +} + +int EntityStatePdu::getEntityAppearance() const +{ + return _entityAppearance; +} + +void EntityStatePdu::setEntityAppearance(int pX) +{ + _entityAppearance = pX; +} + +DeadReckoningParameter& EntityStatePdu::getDeadReckoningParameters() +{ + return _deadReckoningParameters; +} + +const DeadReckoningParameter& EntityStatePdu::getDeadReckoningParameters() const +{ + return _deadReckoningParameters; +} + +void EntityStatePdu::setDeadReckoningParameters(const DeadReckoningParameter &pX) +{ + _deadReckoningParameters = pX; +} + +Marking& EntityStatePdu::getMarking() +{ + return _marking; +} + +const Marking& EntityStatePdu::getMarking() const +{ + return _marking; +} + +void EntityStatePdu::setMarking(const Marking &pX) +{ + _marking = pX; +} + +int EntityStatePdu::getCapabilities() const +{ + return _capabilities; +} + +void EntityStatePdu::setCapabilities(int pX) +{ + _capabilities = pX; +} + +std::vector& EntityStatePdu::getArticulationParameters() +{ + return _articulationParameters; +} + +const std::vector& EntityStatePdu::getArticulationParameters() const +{ + return _articulationParameters; +} + +void EntityStatePdu::setArticulationParameters(const std::vector& pX) +{ + _articulationParameters = pX; +} + +void EntityStatePdu::marshal(DataStream& dataStream) const +{ + EntityInformationFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _entityID.marshal(dataStream); + dataStream << _forceId; + dataStream << ( char )_articulationParameters.size(); + _entityType.marshal(dataStream); + _alternativeEntityType.marshal(dataStream); + _entityLinearVelocity.marshal(dataStream); + _entityLocation.marshal(dataStream); + _entityOrientation.marshal(dataStream); + dataStream << _entityAppearance; + _deadReckoningParameters.marshal(dataStream); + _marking.marshal(dataStream); + dataStream << _capabilities; + + for(size_t idx = 0; idx < _articulationParameters.size(); idx++) + { + ArticulationParameter x = _articulationParameters[idx]; + x.marshal(dataStream); + } + +} + +void EntityStatePdu::unmarshal(DataStream& dataStream) +{ + EntityInformationFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _entityID.unmarshal(dataStream); + dataStream >> _forceId; + dataStream >> _numberOfArticulationParameters; + _entityType.unmarshal(dataStream); + _alternativeEntityType.unmarshal(dataStream); + _entityLinearVelocity.unmarshal(dataStream); + _entityLocation.unmarshal(dataStream); + _entityOrientation.unmarshal(dataStream); + dataStream >> _entityAppearance; + _deadReckoningParameters.unmarshal(dataStream); + _marking.unmarshal(dataStream); + dataStream >> _capabilities; + + _articulationParameters.clear(); + for(size_t idx = 0; idx < _numberOfArticulationParameters; idx++) + { + ArticulationParameter x; + x.unmarshal(dataStream); + _articulationParameters.push_back(x); + } +} + + +bool EntityStatePdu::operator ==(const EntityStatePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = EntityInformationFamilyPdu::operator==(rhs); + + if( ! (_entityID == rhs._entityID) ) ivarsEqual = false; + if( ! (_forceId == rhs._forceId) ) ivarsEqual = false; + if( ! (_entityType == rhs._entityType) ) ivarsEqual = false; + if( ! (_alternativeEntityType == rhs._alternativeEntityType) ) ivarsEqual = false; + if( ! (_entityLinearVelocity == rhs._entityLinearVelocity) ) ivarsEqual = false; + if( ! (_entityLocation == rhs._entityLocation) ) ivarsEqual = false; + if( ! (_entityOrientation == rhs._entityOrientation) ) ivarsEqual = false; + if( ! (_entityAppearance == rhs._entityAppearance) ) ivarsEqual = false; + if( ! (_deadReckoningParameters == rhs._deadReckoningParameters) ) ivarsEqual = false; + if( ! (_marking == rhs._marking) ) ivarsEqual = false; + if( ! (_capabilities == rhs._capabilities) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _articulationParameters.size(); idx++) + { + if( ! ( _articulationParameters[idx] == rhs._articulationParameters[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int EntityStatePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = EntityInformationFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _entityID.getMarshalledSize(); // _entityID + marshalSize = marshalSize + 1; // _forceId + marshalSize = marshalSize + 1; // _numberOfArticulationParameters + marshalSize = marshalSize + _entityType.getMarshalledSize(); // _entityType + marshalSize = marshalSize + _alternativeEntityType.getMarshalledSize(); // _alternativeEntityType + marshalSize = marshalSize + _entityLinearVelocity.getMarshalledSize(); // _entityLinearVelocity + marshalSize = marshalSize + _entityLocation.getMarshalledSize(); // _entityLocation + marshalSize = marshalSize + _entityOrientation.getMarshalledSize(); // _entityOrientation + marshalSize = marshalSize + 4; // _entityAppearance + marshalSize = marshalSize + _deadReckoningParameters.getMarshalledSize(); // _deadReckoningParameters + marshalSize = marshalSize + _marking.getMarshalledSize(); // _marking + marshalSize = marshalSize + 4; // _capabilities + + for(int idx=0; idx < _articulationParameters.size(); idx++) + { + ArticulationParameter listElement = _articulationParameters[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/EntityStatePdu.h b/cpp/DIS/EntityStatePdu.h new file mode 100644 index 00000000..a40fd8d9 --- /dev/null +++ b/cpp/DIS/EntityStatePdu.h @@ -0,0 +1,160 @@ +#ifndef ENTITYSTATEPDU_H +#define ENTITYSTATEPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.3.1. Represents the postion and state of one entity in the world. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EntityStatePdu : public EntityInformationFamilyPdu +{ +protected: + /** Unique ID for an entity that is tied to this state information */ + EntityID _entityID; + + /** What force this entity is affiliated with, eg red, blue, neutral, etc */ + unsigned char _forceId; + + /** How many articulation parameters are in the variable length list */ + char _numberOfArticulationParameters; + + /** Describes the type of entity in the world */ + EntityType _entityType; + + EntityType _alternativeEntityType; + + /** Describes the speed of the entity in the world */ + Vector3Float _entityLinearVelocity; + + /** describes the location of the entity in the world */ + Vector3Double _entityLocation; + + /** describes the orientation of the entity, in euler angles */ + Orientation _entityOrientation; + + /** a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc. */ + int _entityAppearance; + + /** parameters used for dead reckoning */ + DeadReckoningParameter _deadReckoningParameters; + + /** characters that can be used for debugging, or to draw unique strings on the side of entities in the world */ + Marking _marking; + + /** a series of bit flags */ + int _capabilities; + + /** variable length list of articulation parameters */ + std::vector _articulationParameters; + + + public: + EntityStatePdu(); + virtual ~EntityStatePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getEntityID(); + const EntityID& getEntityID() const; + void setEntityID(const EntityID &pX); + + unsigned char getForceId() const; + void setForceId(unsigned char pX); + + char getNumberOfArticulationParameters() const; + + EntityType& getEntityType(); + const EntityType& getEntityType() const; + void setEntityType(const EntityType &pX); + + EntityType& getAlternativeEntityType(); + const EntityType& getAlternativeEntityType() const; + void setAlternativeEntityType(const EntityType &pX); + + Vector3Float& getEntityLinearVelocity(); + const Vector3Float& getEntityLinearVelocity() const; + void setEntityLinearVelocity(const Vector3Float &pX); + + Vector3Double& getEntityLocation(); + const Vector3Double& getEntityLocation() const; + void setEntityLocation(const Vector3Double &pX); + + Orientation& getEntityOrientation(); + const Orientation& getEntityOrientation() const; + void setEntityOrientation(const Orientation &pX); + + int getEntityAppearance() const; + void setEntityAppearance(int pX); + + DeadReckoningParameter& getDeadReckoningParameters(); + const DeadReckoningParameter& getDeadReckoningParameters() const; + void setDeadReckoningParameters(const DeadReckoningParameter &pX); + + Marking& getMarking(); + const Marking& getMarking() const; + void setMarking(const Marking &pX); + + int getCapabilities() const; + void setCapabilities(int pX); + + std::vector& getArticulationParameters(); + const std::vector& getArticulationParameters() const; + void setArticulationParameters(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EntityStatePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/EntityStateUpdatePdu.cpp b/cpp/DIS/EntityStateUpdatePdu.cpp new file mode 100644 index 00000000..5d00d7bc --- /dev/null +++ b/cpp/DIS/EntityStateUpdatePdu.cpp @@ -0,0 +1,237 @@ +#include + +using namespace DIS; + + +EntityStateUpdatePdu::EntityStateUpdatePdu() : EntityInformationFamilyPdu(), + _entityID(), + _padding1(0), + _numberOfArticulationParameters(0), + _entityLinearVelocity(), + _entityLocation(), + _entityOrientation(), + _entityAppearance(0) +{ + setPduType( 67 ); + setProtocolFamily( 1 ); +} + +EntityStateUpdatePdu::~EntityStateUpdatePdu() +{ + _articulationParameters.clear(); +} + +EntityID& EntityStateUpdatePdu::getEntityID() +{ + return _entityID; +} + +const EntityID& EntityStateUpdatePdu::getEntityID() const +{ + return _entityID; +} + +void EntityStateUpdatePdu::setEntityID(const EntityID &pX) +{ + _entityID = pX; +} + +char EntityStateUpdatePdu::getPadding1() const +{ + return _padding1; +} + +void EntityStateUpdatePdu::setPadding1(char pX) +{ + _padding1 = pX; +} + +unsigned char EntityStateUpdatePdu::getNumberOfArticulationParameters() const +{ + return _articulationParameters.size(); +} + +Vector3Float& EntityStateUpdatePdu::getEntityLinearVelocity() +{ + return _entityLinearVelocity; +} + +const Vector3Float& EntityStateUpdatePdu::getEntityLinearVelocity() const +{ + return _entityLinearVelocity; +} + +void EntityStateUpdatePdu::setEntityLinearVelocity(const Vector3Float &pX) +{ + _entityLinearVelocity = pX; +} + +Vector3Double& EntityStateUpdatePdu::getEntityLocation() +{ + return _entityLocation; +} + +const Vector3Double& EntityStateUpdatePdu::getEntityLocation() const +{ + return _entityLocation; +} + +void EntityStateUpdatePdu::setEntityLocation(const Vector3Double &pX) +{ + _entityLocation = pX; +} + +Orientation& EntityStateUpdatePdu::getEntityOrientation() +{ + return _entityOrientation; +} + +const Orientation& EntityStateUpdatePdu::getEntityOrientation() const +{ + return _entityOrientation; +} + +void EntityStateUpdatePdu::setEntityOrientation(const Orientation &pX) +{ + _entityOrientation = pX; +} + +int EntityStateUpdatePdu::getEntityAppearance() const +{ + return _entityAppearance; +} + +void EntityStateUpdatePdu::setEntityAppearance(int pX) +{ + _entityAppearance = pX; +} + +std::vector& EntityStateUpdatePdu::getArticulationParameters() +{ + return _articulationParameters; +} + +const std::vector& EntityStateUpdatePdu::getArticulationParameters() const +{ + return _articulationParameters; +} + +void EntityStateUpdatePdu::setArticulationParameters(const std::vector& pX) +{ + _articulationParameters = pX; +} + +void EntityStateUpdatePdu::marshal(DataStream& dataStream) const +{ + EntityInformationFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _entityID.marshal(dataStream); + dataStream << _padding1; + dataStream << ( unsigned char )_articulationParameters.size(); + _entityLinearVelocity.marshal(dataStream); + _entityLocation.marshal(dataStream); + _entityOrientation.marshal(dataStream); + dataStream << _entityAppearance; + + for(size_t idx = 0; idx < _articulationParameters.size(); idx++) + { + ArticulationParameter x = _articulationParameters[idx]; + x.marshal(dataStream); + } + +} + +void EntityStateUpdatePdu::unmarshal(DataStream& dataStream) +{ + EntityInformationFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _entityID.unmarshal(dataStream); + dataStream >> _padding1; + dataStream >> _numberOfArticulationParameters; + _entityLinearVelocity.unmarshal(dataStream); + _entityLocation.unmarshal(dataStream); + _entityOrientation.unmarshal(dataStream); + dataStream >> _entityAppearance; + + _articulationParameters.clear(); + for(size_t idx = 0; idx < _numberOfArticulationParameters; idx++) + { + ArticulationParameter x; + x.unmarshal(dataStream); + _articulationParameters.push_back(x); + } +} + + +bool EntityStateUpdatePdu::operator ==(const EntityStateUpdatePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = EntityInformationFamilyPdu::operator==(rhs); + + if( ! (_entityID == rhs._entityID) ) ivarsEqual = false; + if( ! (_padding1 == rhs._padding1) ) ivarsEqual = false; + if( ! (_entityLinearVelocity == rhs._entityLinearVelocity) ) ivarsEqual = false; + if( ! (_entityLocation == rhs._entityLocation) ) ivarsEqual = false; + if( ! (_entityOrientation == rhs._entityOrientation) ) ivarsEqual = false; + if( ! (_entityAppearance == rhs._entityAppearance) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _articulationParameters.size(); idx++) + { + if( ! ( _articulationParameters[idx] == rhs._articulationParameters[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int EntityStateUpdatePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = EntityInformationFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _entityID.getMarshalledSize(); // _entityID + marshalSize = marshalSize + 1; // _padding1 + marshalSize = marshalSize + 1; // _numberOfArticulationParameters + marshalSize = marshalSize + _entityLinearVelocity.getMarshalledSize(); // _entityLinearVelocity + marshalSize = marshalSize + _entityLocation.getMarshalledSize(); // _entityLocation + marshalSize = marshalSize + _entityOrientation.getMarshalledSize(); // _entityOrientation + marshalSize = marshalSize + 4; // _entityAppearance + + for(int idx=0; idx < _articulationParameters.size(); idx++) + { + ArticulationParameter listElement = _articulationParameters[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/EntityStateUpdatePdu.h b/cpp/DIS/EntityStateUpdatePdu.h new file mode 100644 index 00000000..1dead670 --- /dev/null +++ b/cpp/DIS/EntityStateUpdatePdu.h @@ -0,0 +1,122 @@ +#ifndef ENTITYSTATEUPDATEPDU_H +#define ENTITYSTATEUPDATEPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// 5.3.3.4. Nonstatic information about a particular entity may be communicated by issuing an Entity State Update PDU. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EntityStateUpdatePdu : public EntityInformationFamilyPdu +{ +protected: + /** This field shall identify the entity issuing the PDU */ + EntityID _entityID; + + /** Padding */ + char _padding1; + + /** How many articulation parameters are in the variable length list */ + unsigned char _numberOfArticulationParameters; + + /** Describes the speed of the entity in the world */ + Vector3Float _entityLinearVelocity; + + /** describes the location of the entity in the world */ + Vector3Double _entityLocation; + + /** describes the orientation of the entity, in euler angles */ + Orientation _entityOrientation; + + /** a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc. */ + int _entityAppearance; + + std::vector _articulationParameters; + + + public: + EntityStateUpdatePdu(); + virtual ~EntityStateUpdatePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getEntityID(); + const EntityID& getEntityID() const; + void setEntityID(const EntityID &pX); + + char getPadding1() const; + void setPadding1(char pX); + + unsigned char getNumberOfArticulationParameters() const; + + Vector3Float& getEntityLinearVelocity(); + const Vector3Float& getEntityLinearVelocity() const; + void setEntityLinearVelocity(const Vector3Float &pX); + + Vector3Double& getEntityLocation(); + const Vector3Double& getEntityLocation() const; + void setEntityLocation(const Vector3Double &pX); + + Orientation& getEntityOrientation(); + const Orientation& getEntityOrientation() const; + void setEntityOrientation(const Orientation &pX); + + int getEntityAppearance() const; + void setEntityAppearance(int pX); + + std::vector& getArticulationParameters(); + const std::vector& getArticulationParameters() const; + void setArticulationParameters(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EntityStateUpdatePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/EntityType.cpp b/cpp/DIS/EntityType.cpp new file mode 100644 index 00000000..72c7b503 --- /dev/null +++ b/cpp/DIS/EntityType.cpp @@ -0,0 +1,172 @@ +#include + +using namespace DIS; + + +EntityType::EntityType(): + _entityKind(0), + _domain(0), + _country(0), + _category(0), + _subcategory(0), + _specific(0), + _extra(0) +{ +} + +EntityType::~EntityType() +{ +} + +unsigned char EntityType::getEntityKind() const +{ + return _entityKind; +} + +void EntityType::setEntityKind(unsigned char pX) +{ + _entityKind = pX; +} + +unsigned char EntityType::getDomain() const +{ + return _domain; +} + +void EntityType::setDomain(unsigned char pX) +{ + _domain = pX; +} + +unsigned short EntityType::getCountry() const +{ + return _country; +} + +void EntityType::setCountry(unsigned short pX) +{ + _country = pX; +} + +unsigned char EntityType::getCategory() const +{ + return _category; +} + +void EntityType::setCategory(unsigned char pX) +{ + _category = pX; +} + +unsigned char EntityType::getSubcategory() const +{ + return _subcategory; +} + +void EntityType::setSubcategory(unsigned char pX) +{ + _subcategory = pX; +} + +unsigned char EntityType::getSpecific() const +{ + return _specific; +} + +void EntityType::setSpecific(unsigned char pX) +{ + _specific = pX; +} + +unsigned char EntityType::getExtra() const +{ + return _extra; +} + +void EntityType::setExtra(unsigned char pX) +{ + _extra = pX; +} + +void EntityType::marshal(DataStream& dataStream) const +{ + dataStream << _entityKind; + dataStream << _domain; + dataStream << _country; + dataStream << _category; + dataStream << _subcategory; + dataStream << _specific; + dataStream << _extra; +} + +void EntityType::unmarshal(DataStream& dataStream) +{ + dataStream >> _entityKind; + dataStream >> _domain; + dataStream >> _country; + dataStream >> _category; + dataStream >> _subcategory; + dataStream >> _specific; + dataStream >> _extra; +} + + +bool EntityType::operator ==(const EntityType& rhs) const + { + bool ivarsEqual = true; + + if( ! (_entityKind == rhs._entityKind) ) ivarsEqual = false; + if( ! (_domain == rhs._domain) ) ivarsEqual = false; + if( ! (_country == rhs._country) ) ivarsEqual = false; + if( ! (_category == rhs._category) ) ivarsEqual = false; + if( ! (_subcategory == rhs._subcategory) ) ivarsEqual = false; + if( ! (_specific == rhs._specific) ) ivarsEqual = false; + if( ! (_extra == rhs._extra) ) ivarsEqual = false; + + return ivarsEqual; + } + +int EntityType::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _entityKind + marshalSize = marshalSize + 1; // _domain + marshalSize = marshalSize + 2; // _country + marshalSize = marshalSize + 1; // _category + marshalSize = marshalSize + 1; // _subcategory + marshalSize = marshalSize + 1; // _specific + marshalSize = marshalSize + 1; // _extra + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/EntityType.h b/cpp/DIS/EntityType.h new file mode 100644 index 00000000..3fa7043a --- /dev/null +++ b/cpp/DIS/EntityType.h @@ -0,0 +1,105 @@ +#ifndef ENTITYTYPE_H +#define ENTITYTYPE_H + +#include +#include + + +namespace DIS +{ +// Section 5.2.16. Identifies the type of entity, including kind of entity, domain (surface, subsurface, air, etc) country, category, etc. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EntityType +{ +protected: + /** Kind of entity */ + unsigned char _entityKind; + + /** Domain of entity (air, surface, subsurface, space, etc) */ + unsigned char _domain; + + /** country to which the design of the entity is attributed */ + unsigned short _country; + + /** category of entity */ + unsigned char _category; + + /** subcategory of entity */ + unsigned char _subcategory; + + /** specific info based on subcategory field */ + unsigned char _specific; + + unsigned char _extra; + + + public: + EntityType(); + virtual ~EntityType(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getEntityKind() const; + void setEntityKind(unsigned char pX); + + unsigned char getDomain() const; + void setDomain(unsigned char pX); + + unsigned short getCountry() const; + void setCountry(unsigned short pX); + + unsigned char getCategory() const; + void setCategory(unsigned char pX); + + unsigned char getSubcategory() const; + void setSubcategory(unsigned char pX); + + unsigned char getSpecific() const; + void setSpecific(unsigned char pX); + + unsigned char getExtra() const; + void setExtra(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EntityType& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/Environment.cpp b/cpp/DIS/Environment.cpp new file mode 100644 index 00000000..54dde721 --- /dev/null +++ b/cpp/DIS/Environment.cpp @@ -0,0 +1,157 @@ +#include + +using namespace DIS; + + +Environment::Environment(): + _environmentType(0), + _length(0), + _index(0), + _padding1(0), + _geometry(0), + _padding2(0) +{ +} + +Environment::~Environment() +{ +} + +unsigned int Environment::getEnvironmentType() const +{ + return _environmentType; +} + +void Environment::setEnvironmentType(unsigned int pX) +{ + _environmentType = pX; +} + +unsigned char Environment::getLength() const +{ + return _length; +} + +void Environment::setLength(unsigned char pX) +{ + _length = pX; +} + +unsigned char Environment::getIndex() const +{ + return _index; +} + +void Environment::setIndex(unsigned char pX) +{ + _index = pX; +} + +unsigned char Environment::getPadding1() const +{ + return _padding1; +} + +void Environment::setPadding1(unsigned char pX) +{ + _padding1 = pX; +} + +unsigned char Environment::getGeometry() const +{ + return _geometry; +} + +void Environment::setGeometry(unsigned char pX) +{ + _geometry = pX; +} + +unsigned char Environment::getPadding2() const +{ + return _padding2; +} + +void Environment::setPadding2(unsigned char pX) +{ + _padding2 = pX; +} + +void Environment::marshal(DataStream& dataStream) const +{ + dataStream << _environmentType; + dataStream << _length; + dataStream << _index; + dataStream << _padding1; + dataStream << _geometry; + dataStream << _padding2; +} + +void Environment::unmarshal(DataStream& dataStream) +{ + dataStream >> _environmentType; + dataStream >> _length; + dataStream >> _index; + dataStream >> _padding1; + dataStream >> _geometry; + dataStream >> _padding2; +} + + +bool Environment::operator ==(const Environment& rhs) const + { + bool ivarsEqual = true; + + if( ! (_environmentType == rhs._environmentType) ) ivarsEqual = false; + if( ! (_length == rhs._length) ) ivarsEqual = false; + if( ! (_index == rhs._index) ) ivarsEqual = false; + if( ! (_padding1 == rhs._padding1) ) ivarsEqual = false; + if( ! (_geometry == rhs._geometry) ) ivarsEqual = false; + if( ! (_padding2 == rhs._padding2) ) ivarsEqual = false; + + return ivarsEqual; + } + +int Environment::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _environmentType + marshalSize = marshalSize + 1; // _length + marshalSize = marshalSize + 1; // _index + marshalSize = marshalSize + 1; // _padding1 + marshalSize = marshalSize + 1; // _geometry + marshalSize = marshalSize + 1; // _padding2 + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/Environment.h b/cpp/DIS/Environment.h new file mode 100644 index 00000000..d6312e48 --- /dev/null +++ b/cpp/DIS/Environment.h @@ -0,0 +1,100 @@ +#ifndef ENVIRONMENT_H +#define ENVIRONMENT_H + +#include +#include + + +namespace DIS +{ +// Section 5.2.40. Information about a geometry, a state associated with a geometry, a bounding volume, or an associated entity ID. NOTE: this class requires hand coding. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO Environment +{ +protected: + /** Record type */ + unsigned int _environmentType; + + /** length, in bits */ + unsigned char _length; + + /** Identify the sequentially numbered record index */ + unsigned char _index; + + /** padding */ + unsigned char _padding1; + + /** Geometry or state record */ + unsigned char _geometry; + + /** padding to bring the total size up to a 64 bit boundry */ + unsigned char _padding2; + + + public: + Environment(); + virtual ~Environment(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getEnvironmentType() const; + void setEnvironmentType(unsigned int pX); + + unsigned char getLength() const; + void setLength(unsigned char pX); + + unsigned char getIndex() const; + void setIndex(unsigned char pX); + + unsigned char getPadding1() const; + void setPadding1(unsigned char pX); + + unsigned char getGeometry() const; + void setGeometry(unsigned char pX); + + unsigned char getPadding2() const; + void setPadding2(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const Environment& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/EnvironmentalProcessPdu.cpp b/cpp/DIS/EnvironmentalProcessPdu.cpp new file mode 100644 index 00000000..7baddf63 --- /dev/null +++ b/cpp/DIS/EnvironmentalProcessPdu.cpp @@ -0,0 +1,211 @@ +#include + +using namespace DIS; + + +EnvironmentalProcessPdu::EnvironmentalProcessPdu() : SyntheticEnvironmentFamilyPdu(), + _environementalProcessID(), + _environmentType(), + _modelType(0), + _environmentStatus(0), + _numberOfEnvironmentRecords(0), + _sequenceNumber(0) +{ + setPduType( 41 ); +} + +EnvironmentalProcessPdu::~EnvironmentalProcessPdu() +{ + _environmentRecords.clear(); +} + +EntityID& EnvironmentalProcessPdu::getEnvironementalProcessID() +{ + return _environementalProcessID; +} + +const EntityID& EnvironmentalProcessPdu::getEnvironementalProcessID() const +{ + return _environementalProcessID; +} + +void EnvironmentalProcessPdu::setEnvironementalProcessID(const EntityID &pX) +{ + _environementalProcessID = pX; +} + +EntityType& EnvironmentalProcessPdu::getEnvironmentType() +{ + return _environmentType; +} + +const EntityType& EnvironmentalProcessPdu::getEnvironmentType() const +{ + return _environmentType; +} + +void EnvironmentalProcessPdu::setEnvironmentType(const EntityType &pX) +{ + _environmentType = pX; +} + +unsigned char EnvironmentalProcessPdu::getModelType() const +{ + return _modelType; +} + +void EnvironmentalProcessPdu::setModelType(unsigned char pX) +{ + _modelType = pX; +} + +unsigned char EnvironmentalProcessPdu::getEnvironmentStatus() const +{ + return _environmentStatus; +} + +void EnvironmentalProcessPdu::setEnvironmentStatus(unsigned char pX) +{ + _environmentStatus = pX; +} + +unsigned char EnvironmentalProcessPdu::getNumberOfEnvironmentRecords() const +{ + return _environmentRecords.size(); +} + +unsigned short EnvironmentalProcessPdu::getSequenceNumber() const +{ + return _sequenceNumber; +} + +void EnvironmentalProcessPdu::setSequenceNumber(unsigned short pX) +{ + _sequenceNumber = pX; +} + +std::vector& EnvironmentalProcessPdu::getEnvironmentRecords() +{ + return _environmentRecords; +} + +const std::vector& EnvironmentalProcessPdu::getEnvironmentRecords() const +{ + return _environmentRecords; +} + +void EnvironmentalProcessPdu::setEnvironmentRecords(const std::vector& pX) +{ + _environmentRecords = pX; +} + +void EnvironmentalProcessPdu::marshal(DataStream& dataStream) const +{ + SyntheticEnvironmentFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _environementalProcessID.marshal(dataStream); + _environmentType.marshal(dataStream); + dataStream << _modelType; + dataStream << _environmentStatus; + dataStream << ( unsigned char )_environmentRecords.size(); + dataStream << _sequenceNumber; + + for(size_t idx = 0; idx < _environmentRecords.size(); idx++) + { + Environment x = _environmentRecords[idx]; + x.marshal(dataStream); + } + +} + +void EnvironmentalProcessPdu::unmarshal(DataStream& dataStream) +{ + SyntheticEnvironmentFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _environementalProcessID.unmarshal(dataStream); + _environmentType.unmarshal(dataStream); + dataStream >> _modelType; + dataStream >> _environmentStatus; + dataStream >> _numberOfEnvironmentRecords; + dataStream >> _sequenceNumber; + + _environmentRecords.clear(); + for(size_t idx = 0; idx < _numberOfEnvironmentRecords; idx++) + { + Environment x; + x.unmarshal(dataStream); + _environmentRecords.push_back(x); + } +} + + +bool EnvironmentalProcessPdu::operator ==(const EnvironmentalProcessPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SyntheticEnvironmentFamilyPdu::operator==(rhs); + + if( ! (_environementalProcessID == rhs._environementalProcessID) ) ivarsEqual = false; + if( ! (_environmentType == rhs._environmentType) ) ivarsEqual = false; + if( ! (_modelType == rhs._modelType) ) ivarsEqual = false; + if( ! (_environmentStatus == rhs._environmentStatus) ) ivarsEqual = false; + if( ! (_sequenceNumber == rhs._sequenceNumber) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _environmentRecords.size(); idx++) + { + if( ! ( _environmentRecords[idx] == rhs._environmentRecords[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int EnvironmentalProcessPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SyntheticEnvironmentFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _environementalProcessID.getMarshalledSize(); // _environementalProcessID + marshalSize = marshalSize + _environmentType.getMarshalledSize(); // _environmentType + marshalSize = marshalSize + 1; // _modelType + marshalSize = marshalSize + 1; // _environmentStatus + marshalSize = marshalSize + 1; // _numberOfEnvironmentRecords + marshalSize = marshalSize + 2; // _sequenceNumber + + for(int idx=0; idx < _environmentRecords.size(); idx++) + { + Environment listElement = _environmentRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/EnvironmentalProcessPdu.h b/cpp/DIS/EnvironmentalProcessPdu.h new file mode 100644 index 00000000..2dbc6c6d --- /dev/null +++ b/cpp/DIS/EnvironmentalProcessPdu.h @@ -0,0 +1,113 @@ +#ifndef ENVIRONMENTALPROCESSPDU_H +#define ENVIRONMENTALPROCESSPDU_H + +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.11.1: Information about environmental effects and processes. This requires manual cleanup. the environmental record is variable, as is the padding. UNFINISHED + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EnvironmentalProcessPdu : public SyntheticEnvironmentFamilyPdu +{ +protected: + /** Environmental process ID */ + EntityID _environementalProcessID; + + /** Environment type */ + EntityType _environmentType; + + /** model type */ + unsigned char _modelType; + + /** Environment status */ + unsigned char _environmentStatus; + + /** number of environment records */ + unsigned char _numberOfEnvironmentRecords; + + /** PDU sequence number for the environmentla process if pdu sequencing required */ + unsigned short _sequenceNumber; + + /** environemt records */ + std::vector _environmentRecords; + + + public: + EnvironmentalProcessPdu(); + virtual ~EnvironmentalProcessPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getEnvironementalProcessID(); + const EntityID& getEnvironementalProcessID() const; + void setEnvironementalProcessID(const EntityID &pX); + + EntityType& getEnvironmentType(); + const EntityType& getEnvironmentType() const; + void setEnvironmentType(const EntityType &pX); + + unsigned char getModelType() const; + void setModelType(unsigned char pX); + + unsigned char getEnvironmentStatus() const; + void setEnvironmentStatus(unsigned char pX); + + unsigned char getNumberOfEnvironmentRecords() const; + + unsigned short getSequenceNumber() const; + void setSequenceNumber(unsigned short pX); + + std::vector& getEnvironmentRecords(); + const std::vector& getEnvironmentRecords() const; + void setEnvironmentRecords(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EnvironmentalProcessPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/EventID.cpp b/cpp/DIS/EventID.cpp new file mode 100644 index 00000000..7910833f --- /dev/null +++ b/cpp/DIS/EventID.cpp @@ -0,0 +1,112 @@ +#include + +using namespace DIS; + + +EventID::EventID(): + _site(0), + _application(0), + _eventNumber(0) +{ +} + +EventID::~EventID() +{ +} + +unsigned short EventID::getSite() const +{ + return _site; +} + +void EventID::setSite(unsigned short pX) +{ + _site = pX; +} + +unsigned short EventID::getApplication() const +{ + return _application; +} + +void EventID::setApplication(unsigned short pX) +{ + _application = pX; +} + +unsigned short EventID::getEventNumber() const +{ + return _eventNumber; +} + +void EventID::setEventNumber(unsigned short pX) +{ + _eventNumber = pX; +} + +void EventID::marshal(DataStream& dataStream) const +{ + dataStream << _site; + dataStream << _application; + dataStream << _eventNumber; +} + +void EventID::unmarshal(DataStream& dataStream) +{ + dataStream >> _site; + dataStream >> _application; + dataStream >> _eventNumber; +} + + +bool EventID::operator ==(const EventID& rhs) const + { + bool ivarsEqual = true; + + if( ! (_site == rhs._site) ) ivarsEqual = false; + if( ! (_application == rhs._application) ) ivarsEqual = false; + if( ! (_eventNumber == rhs._eventNumber) ) ivarsEqual = false; + + return ivarsEqual; + } + +int EventID::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2; // _site + marshalSize = marshalSize + 2; // _application + marshalSize = marshalSize + 2; // _eventNumber + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/EventID.h b/cpp/DIS/EventID.h new file mode 100644 index 00000000..199c1233 --- /dev/null +++ b/cpp/DIS/EventID.h @@ -0,0 +1,82 @@ +#ifndef EVENTID_H +#define EVENTID_H + +#include +#include + + +namespace DIS +{ +// Section 5.2.18. Identifies a unique event in a simulation via the combination of three values + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EventID +{ +protected: + /** The site ID */ + unsigned short _site; + + /** The application ID */ + unsigned short _application; + + /** the number of the event */ + unsigned short _eventNumber; + + + public: + EventID(); + virtual ~EventID(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getSite() const; + void setSite(unsigned short pX); + + unsigned short getApplication() const; + void setApplication(unsigned short pX); + + unsigned short getEventNumber() const; + void setEventNumber(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EventID& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/EventReportPdu.cpp b/cpp/DIS/EventReportPdu.cpp new file mode 100644 index 00000000..f5be54cb --- /dev/null +++ b/cpp/DIS/EventReportPdu.cpp @@ -0,0 +1,209 @@ +#include + +using namespace DIS; + + +EventReportPdu::EventReportPdu() : SimulationManagementFamilyPdu(), + _eventType(0), + _padding1(0), + _numberOfFixedDatumRecords(0), + _numberOfVariableDatumRecords(0) +{ + setPduType( 21 ); +} + +EventReportPdu::~EventReportPdu() +{ + _fixedDatums.clear(); + _variableDatums.clear(); +} + +unsigned int EventReportPdu::getEventType() const +{ + return _eventType; +} + +void EventReportPdu::setEventType(unsigned int pX) +{ + _eventType = pX; +} + +unsigned int EventReportPdu::getPadding1() const +{ + return _padding1; +} + +void EventReportPdu::setPadding1(unsigned int pX) +{ + _padding1 = pX; +} + +unsigned int EventReportPdu::getNumberOfFixedDatumRecords() const +{ + return _fixedDatums.size(); +} + +unsigned int EventReportPdu::getNumberOfVariableDatumRecords() const +{ + return _variableDatums.size(); +} + +std::vector& EventReportPdu::getFixedDatums() +{ + return _fixedDatums; +} + +const std::vector& EventReportPdu::getFixedDatums() const +{ + return _fixedDatums; +} + +void EventReportPdu::setFixedDatums(const std::vector& pX) +{ + _fixedDatums = pX; +} + +std::vector& EventReportPdu::getVariableDatums() +{ + return _variableDatums; +} + +const std::vector& EventReportPdu::getVariableDatums() const +{ + return _variableDatums; +} + +void EventReportPdu::setVariableDatums(const std::vector& pX) +{ + _variableDatums = pX; +} + +void EventReportPdu::marshal(DataStream& dataStream) const +{ + SimulationManagementFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _eventType; + dataStream << _padding1; + dataStream << ( unsigned int )_fixedDatums.size(); + dataStream << ( unsigned int )_variableDatums.size(); + + for(size_t idx = 0; idx < _fixedDatums.size(); idx++) + { + FixedDatum x = _fixedDatums[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { + VariableDatum x = _variableDatums[idx]; + x.marshal(dataStream); + } + +} + +void EventReportPdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _eventType; + dataStream >> _padding1; + dataStream >> _numberOfFixedDatumRecords; + dataStream >> _numberOfVariableDatumRecords; + + _fixedDatums.clear(); + for(size_t idx = 0; idx < _numberOfFixedDatumRecords; idx++) + { + FixedDatum x; + x.unmarshal(dataStream); + _fixedDatums.push_back(x); + } + + _variableDatums.clear(); + for(size_t idx = 0; idx < _numberOfVariableDatumRecords; idx++) + { + VariableDatum x; + x.unmarshal(dataStream); + _variableDatums.push_back(x); + } +} + + +bool EventReportPdu::operator ==(const EventReportPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementFamilyPdu::operator==(rhs); + + if( ! (_eventType == rhs._eventType) ) ivarsEqual = false; + if( ! (_padding1 == rhs._padding1) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _fixedDatums.size(); idx++) + { + if( ! ( _fixedDatums[idx] == rhs._fixedDatums[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { + if( ! ( _variableDatums[idx] == rhs._variableDatums[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int EventReportPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 4; // _eventType + marshalSize = marshalSize + 4; // _padding1 + marshalSize = marshalSize + 4; // _numberOfFixedDatumRecords + marshalSize = marshalSize + 4; // _numberOfVariableDatumRecords + + for(int idx=0; idx < _fixedDatums.size(); idx++) + { + FixedDatum listElement = _fixedDatums[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _variableDatums.size(); idx++) + { + VariableDatum listElement = _variableDatums[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/EventReportPdu.h b/cpp/DIS/EventReportPdu.h new file mode 100644 index 00000000..4d68e4e6 --- /dev/null +++ b/cpp/DIS/EventReportPdu.h @@ -0,0 +1,104 @@ +#ifndef EVENTREPORTPDU_H +#define EVENTREPORTPDU_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.6.11. Reports occurance of a significant event to the simulation manager. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EventReportPdu : public SimulationManagementFamilyPdu +{ +protected: + /** Type of event */ + unsigned int _eventType; + + /** padding */ + unsigned int _padding1; + + /** Number of fixed datum records */ + unsigned int _numberOfFixedDatumRecords; + + /** Number of variable datum records */ + unsigned int _numberOfVariableDatumRecords; + + /** variable length list of fixed datums */ + std::vector _fixedDatums; + + /** variable length list of variable length datums */ + std::vector _variableDatums; + + + public: + EventReportPdu(); + virtual ~EventReportPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getEventType() const; + void setEventType(unsigned int pX); + + unsigned int getPadding1() const; + void setPadding1(unsigned int pX); + + unsigned int getNumberOfFixedDatumRecords() const; + + unsigned int getNumberOfVariableDatumRecords() const; + + std::vector& getFixedDatums(); + const std::vector& getFixedDatums() const; + void setFixedDatums(const std::vector& pX); + + std::vector& getVariableDatums(); + const std::vector& getVariableDatums() const; + void setVariableDatums(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EventReportPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/EventReportReliablePdu.cpp b/cpp/DIS/EventReportReliablePdu.cpp new file mode 100644 index 00000000..bfbb1aff --- /dev/null +++ b/cpp/DIS/EventReportReliablePdu.cpp @@ -0,0 +1,209 @@ +#include + +using namespace DIS; + + +EventReportReliablePdu::EventReportReliablePdu() : SimulationManagementWithReliabilityFamilyPdu(), + _eventType(0), + _pad1(0), + _numberOfFixedDatumRecords(0), + _numberOfVariableDatumRecords(0) +{ + setPduType( 61 ); +} + +EventReportReliablePdu::~EventReportReliablePdu() +{ + _fixedDatumRecords.clear(); + _variableDatumRecords.clear(); +} + +unsigned short EventReportReliablePdu::getEventType() const +{ + return _eventType; +} + +void EventReportReliablePdu::setEventType(unsigned short pX) +{ + _eventType = pX; +} + +unsigned int EventReportReliablePdu::getPad1() const +{ + return _pad1; +} + +void EventReportReliablePdu::setPad1(unsigned int pX) +{ + _pad1 = pX; +} + +unsigned int EventReportReliablePdu::getNumberOfFixedDatumRecords() const +{ + return _fixedDatumRecords.size(); +} + +unsigned int EventReportReliablePdu::getNumberOfVariableDatumRecords() const +{ + return _variableDatumRecords.size(); +} + +std::vector& EventReportReliablePdu::getFixedDatumRecords() +{ + return _fixedDatumRecords; +} + +const std::vector& EventReportReliablePdu::getFixedDatumRecords() const +{ + return _fixedDatumRecords; +} + +void EventReportReliablePdu::setFixedDatumRecords(const std::vector& pX) +{ + _fixedDatumRecords = pX; +} + +std::vector& EventReportReliablePdu::getVariableDatumRecords() +{ + return _variableDatumRecords; +} + +const std::vector& EventReportReliablePdu::getVariableDatumRecords() const +{ + return _variableDatumRecords; +} + +void EventReportReliablePdu::setVariableDatumRecords(const std::vector& pX) +{ + _variableDatumRecords = pX; +} + +void EventReportReliablePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementWithReliabilityFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _eventType; + dataStream << _pad1; + dataStream << ( unsigned int )_fixedDatumRecords.size(); + dataStream << ( unsigned int )_variableDatumRecords.size(); + + for(size_t idx = 0; idx < _fixedDatumRecords.size(); idx++) + { + FixedDatum x = _fixedDatumRecords[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _variableDatumRecords.size(); idx++) + { + VariableDatum x = _variableDatumRecords[idx]; + x.marshal(dataStream); + } + +} + +void EventReportReliablePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementWithReliabilityFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _eventType; + dataStream >> _pad1; + dataStream >> _numberOfFixedDatumRecords; + dataStream >> _numberOfVariableDatumRecords; + + _fixedDatumRecords.clear(); + for(size_t idx = 0; idx < _numberOfFixedDatumRecords; idx++) + { + FixedDatum x; + x.unmarshal(dataStream); + _fixedDatumRecords.push_back(x); + } + + _variableDatumRecords.clear(); + for(size_t idx = 0; idx < _numberOfVariableDatumRecords; idx++) + { + VariableDatum x; + x.unmarshal(dataStream); + _variableDatumRecords.push_back(x); + } +} + + +bool EventReportReliablePdu::operator ==(const EventReportReliablePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementWithReliabilityFamilyPdu::operator==(rhs); + + if( ! (_eventType == rhs._eventType) ) ivarsEqual = false; + if( ! (_pad1 == rhs._pad1) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _fixedDatumRecords.size(); idx++) + { + if( ! ( _fixedDatumRecords[idx] == rhs._fixedDatumRecords[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _variableDatumRecords.size(); idx++) + { + if( ! ( _variableDatumRecords[idx] == rhs._variableDatumRecords[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int EventReportReliablePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementWithReliabilityFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 2; // _eventType + marshalSize = marshalSize + 4; // _pad1 + marshalSize = marshalSize + 4; // _numberOfFixedDatumRecords + marshalSize = marshalSize + 4; // _numberOfVariableDatumRecords + + for(int idx=0; idx < _fixedDatumRecords.size(); idx++) + { + FixedDatum listElement = _fixedDatumRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _variableDatumRecords.size(); idx++) + { + VariableDatum listElement = _variableDatumRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/EventReportReliablePdu.h b/cpp/DIS/EventReportReliablePdu.h new file mode 100644 index 00000000..5314a3f0 --- /dev/null +++ b/cpp/DIS/EventReportReliablePdu.h @@ -0,0 +1,104 @@ +#ifndef EVENTREPORTRELIABLEPDU_H +#define EVENTREPORTRELIABLEPDU_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.12.11: reports the occurance of a significatnt event to the simulation manager. Needs manual intervention to fix padding in variable datums. UNFINISHED. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EventReportReliablePdu : public SimulationManagementWithReliabilityFamilyPdu +{ +protected: + /** Event type */ + unsigned short _eventType; + + /** padding */ + unsigned int _pad1; + + /** Fixed datum record count */ + unsigned int _numberOfFixedDatumRecords; + + /** variable datum record count */ + unsigned int _numberOfVariableDatumRecords; + + /** Fixed datum records */ + std::vector _fixedDatumRecords; + + /** Variable datum records */ + std::vector _variableDatumRecords; + + + public: + EventReportReliablePdu(); + virtual ~EventReportReliablePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getEventType() const; + void setEventType(unsigned short pX); + + unsigned int getPad1() const; + void setPad1(unsigned int pX); + + unsigned int getNumberOfFixedDatumRecords() const; + + unsigned int getNumberOfVariableDatumRecords() const; + + std::vector& getFixedDatumRecords(); + const std::vector& getFixedDatumRecords() const; + void setFixedDatumRecords(const std::vector& pX); + + std::vector& getVariableDatumRecords(); + const std::vector& getVariableDatumRecords() const; + void setVariableDatumRecords(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EventReportReliablePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/FastEntityStatePdu.cpp b/cpp/DIS/FastEntityStatePdu.cpp new file mode 100644 index 00000000..da24e487 --- /dev/null +++ b/cpp/DIS/FastEntityStatePdu.cpp @@ -0,0 +1,759 @@ +#include + +using namespace DIS; + + +FastEntityStatePdu::FastEntityStatePdu() : EntityInformationFamilyPdu(), + _site(0), + _application(0), + _entity(0), + _forceId(0), + _numberOfArticulationParameters(0), + _entityKind(0), + _domain(0), + _country(0), + _category(0), + _subcategory(0), + _specific(0), + _extra(0), + _altEntityKind(0), + _altDomain(0), + _altCountry(0), + _altCategory(0), + _altSubcategory(0), + _altSpecific(0), + _altExtra(0), + _xVelocity(0.0), + _yVelocity(0.0), + _zVelocity(0.0), + _xLocation(0.0), + _yLocation(0.0), + _zLocation(0.0), + _psi(0.0), + _theta(0.0), + _phi(0.0), + _entityAppearance(0), + _deadReckoningAlgorithm(0), + _xAcceleration(0.0), + _yAcceleration(0.0), + _zAcceleration(0.0), + _xAngularVelocity(0.0), + _yAngularVelocity(0.0), + _zAngularVelocity(0.0), + _capabilities(0) +{ + setPduType( 1 ); + // Initialize fixed length array + for(int lengthotherParameters= 0; lengthotherParameters < 15; lengthotherParameters++) + { + _otherParameters[lengthotherParameters] = 0; + } + + // Initialize fixed length array + for(int lengthmarking= 0; lengthmarking < 12; lengthmarking++) + { + _marking[lengthmarking] = 0; + } + +} + +FastEntityStatePdu::~FastEntityStatePdu() +{ + _articulationParameters.clear(); +} + +unsigned short FastEntityStatePdu::getSite() const +{ + return _site; +} + +void FastEntityStatePdu::setSite(unsigned short pX) +{ + _site = pX; +} + +unsigned short FastEntityStatePdu::getApplication() const +{ + return _application; +} + +void FastEntityStatePdu::setApplication(unsigned short pX) +{ + _application = pX; +} + +unsigned short FastEntityStatePdu::getEntity() const +{ + return _entity; +} + +void FastEntityStatePdu::setEntity(unsigned short pX) +{ + _entity = pX; +} + +unsigned char FastEntityStatePdu::getForceId() const +{ + return _forceId; +} + +void FastEntityStatePdu::setForceId(unsigned char pX) +{ + _forceId = pX; +} + +char FastEntityStatePdu::getNumberOfArticulationParameters() const +{ + return _articulationParameters.size(); +} + +unsigned char FastEntityStatePdu::getEntityKind() const +{ + return _entityKind; +} + +void FastEntityStatePdu::setEntityKind(unsigned char pX) +{ + _entityKind = pX; +} + +unsigned char FastEntityStatePdu::getDomain() const +{ + return _domain; +} + +void FastEntityStatePdu::setDomain(unsigned char pX) +{ + _domain = pX; +} + +unsigned short FastEntityStatePdu::getCountry() const +{ + return _country; +} + +void FastEntityStatePdu::setCountry(unsigned short pX) +{ + _country = pX; +} + +unsigned char FastEntityStatePdu::getCategory() const +{ + return _category; +} + +void FastEntityStatePdu::setCategory(unsigned char pX) +{ + _category = pX; +} + +unsigned char FastEntityStatePdu::getSubcategory() const +{ + return _subcategory; +} + +void FastEntityStatePdu::setSubcategory(unsigned char pX) +{ + _subcategory = pX; +} + +unsigned char FastEntityStatePdu::getSpecific() const +{ + return _specific; +} + +void FastEntityStatePdu::setSpecific(unsigned char pX) +{ + _specific = pX; +} + +unsigned char FastEntityStatePdu::getExtra() const +{ + return _extra; +} + +void FastEntityStatePdu::setExtra(unsigned char pX) +{ + _extra = pX; +} + +unsigned char FastEntityStatePdu::getAltEntityKind() const +{ + return _altEntityKind; +} + +void FastEntityStatePdu::setAltEntityKind(unsigned char pX) +{ + _altEntityKind = pX; +} + +unsigned char FastEntityStatePdu::getAltDomain() const +{ + return _altDomain; +} + +void FastEntityStatePdu::setAltDomain(unsigned char pX) +{ + _altDomain = pX; +} + +unsigned short FastEntityStatePdu::getAltCountry() const +{ + return _altCountry; +} + +void FastEntityStatePdu::setAltCountry(unsigned short pX) +{ + _altCountry = pX; +} + +unsigned char FastEntityStatePdu::getAltCategory() const +{ + return _altCategory; +} + +void FastEntityStatePdu::setAltCategory(unsigned char pX) +{ + _altCategory = pX; +} + +unsigned char FastEntityStatePdu::getAltSubcategory() const +{ + return _altSubcategory; +} + +void FastEntityStatePdu::setAltSubcategory(unsigned char pX) +{ + _altSubcategory = pX; +} + +unsigned char FastEntityStatePdu::getAltSpecific() const +{ + return _altSpecific; +} + +void FastEntityStatePdu::setAltSpecific(unsigned char pX) +{ + _altSpecific = pX; +} + +unsigned char FastEntityStatePdu::getAltExtra() const +{ + return _altExtra; +} + +void FastEntityStatePdu::setAltExtra(unsigned char pX) +{ + _altExtra = pX; +} + +float FastEntityStatePdu::getXVelocity() const +{ + return _xVelocity; +} + +void FastEntityStatePdu::setXVelocity(float pX) +{ + _xVelocity = pX; +} + +float FastEntityStatePdu::getYVelocity() const +{ + return _yVelocity; +} + +void FastEntityStatePdu::setYVelocity(float pX) +{ + _yVelocity = pX; +} + +float FastEntityStatePdu::getZVelocity() const +{ + return _zVelocity; +} + +void FastEntityStatePdu::setZVelocity(float pX) +{ + _zVelocity = pX; +} + +double FastEntityStatePdu::getXLocation() const +{ + return _xLocation; +} + +void FastEntityStatePdu::setXLocation(double pX) +{ + _xLocation = pX; +} + +double FastEntityStatePdu::getYLocation() const +{ + return _yLocation; +} + +void FastEntityStatePdu::setYLocation(double pX) +{ + _yLocation = pX; +} + +double FastEntityStatePdu::getZLocation() const +{ + return _zLocation; +} + +void FastEntityStatePdu::setZLocation(double pX) +{ + _zLocation = pX; +} + +float FastEntityStatePdu::getPsi() const +{ + return _psi; +} + +void FastEntityStatePdu::setPsi(float pX) +{ + _psi = pX; +} + +float FastEntityStatePdu::getTheta() const +{ + return _theta; +} + +void FastEntityStatePdu::setTheta(float pX) +{ + _theta = pX; +} + +float FastEntityStatePdu::getPhi() const +{ + return _phi; +} + +void FastEntityStatePdu::setPhi(float pX) +{ + _phi = pX; +} + +int FastEntityStatePdu::getEntityAppearance() const +{ + return _entityAppearance; +} + +void FastEntityStatePdu::setEntityAppearance(int pX) +{ + _entityAppearance = pX; +} + +unsigned char FastEntityStatePdu::getDeadReckoningAlgorithm() const +{ + return _deadReckoningAlgorithm; +} + +void FastEntityStatePdu::setDeadReckoningAlgorithm(unsigned char pX) +{ + _deadReckoningAlgorithm = pX; +} + +char* FastEntityStatePdu::getOtherParameters() +{ + return _otherParameters; +} + +const char* FastEntityStatePdu::getOtherParameters() const +{ + return _otherParameters; +} + +void FastEntityStatePdu::setOtherParameters(const char* x) +{ + for(int i = 0; i < 15; i++) + { + _otherParameters[i] = x[i]; + } +} + +float FastEntityStatePdu::getXAcceleration() const +{ + return _xAcceleration; +} + +void FastEntityStatePdu::setXAcceleration(float pX) +{ + _xAcceleration = pX; +} + +float FastEntityStatePdu::getYAcceleration() const +{ + return _yAcceleration; +} + +void FastEntityStatePdu::setYAcceleration(float pX) +{ + _yAcceleration = pX; +} + +float FastEntityStatePdu::getZAcceleration() const +{ + return _zAcceleration; +} + +void FastEntityStatePdu::setZAcceleration(float pX) +{ + _zAcceleration = pX; +} + +float FastEntityStatePdu::getXAngularVelocity() const +{ + return _xAngularVelocity; +} + +void FastEntityStatePdu::setXAngularVelocity(float pX) +{ + _xAngularVelocity = pX; +} + +float FastEntityStatePdu::getYAngularVelocity() const +{ + return _yAngularVelocity; +} + +void FastEntityStatePdu::setYAngularVelocity(float pX) +{ + _yAngularVelocity = pX; +} + +float FastEntityStatePdu::getZAngularVelocity() const +{ + return _zAngularVelocity; +} + +void FastEntityStatePdu::setZAngularVelocity(float pX) +{ + _zAngularVelocity = pX; +} + +char* FastEntityStatePdu::getMarking() +{ + return _marking; +} + +const char* FastEntityStatePdu::getMarking() const +{ + return _marking; +} + +void FastEntityStatePdu::setMarking(const char* x) +{ + for(int i = 0; i < 12; i++) + { + _marking[i] = x[i]; + } +} + +// An alternate method to set the value if this could be a string. This is not strictly comnpliant with the DIS standard. +void FastEntityStatePdu::setByStringMarking(const char* x) +{ + strncpy(_marking, x, 12-1); + _marking[12 -1] = '\0'; +} + +int FastEntityStatePdu::getCapabilities() const +{ + return _capabilities; +} + +void FastEntityStatePdu::setCapabilities(int pX) +{ + _capabilities = pX; +} + +std::vector& FastEntityStatePdu::getArticulationParameters() +{ + return _articulationParameters; +} + +const std::vector& FastEntityStatePdu::getArticulationParameters() const +{ + return _articulationParameters; +} + +void FastEntityStatePdu::setArticulationParameters(const std::vector& pX) +{ + _articulationParameters = pX; +} + +void FastEntityStatePdu::marshal(DataStream& dataStream) const +{ + EntityInformationFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _site; + dataStream << _application; + dataStream << _entity; + dataStream << _forceId; + dataStream << ( char )_articulationParameters.size(); + dataStream << _entityKind; + dataStream << _domain; + dataStream << _country; + dataStream << _category; + dataStream << _subcategory; + dataStream << _specific; + dataStream << _extra; + dataStream << _altEntityKind; + dataStream << _altDomain; + dataStream << _altCountry; + dataStream << _altCategory; + dataStream << _altSubcategory; + dataStream << _altSpecific; + dataStream << _altExtra; + dataStream << _xVelocity; + dataStream << _yVelocity; + dataStream << _zVelocity; + dataStream << _xLocation; + dataStream << _yLocation; + dataStream << _zLocation; + dataStream << _psi; + dataStream << _theta; + dataStream << _phi; + dataStream << _entityAppearance; + dataStream << _deadReckoningAlgorithm; + + for(size_t idx = 0; idx < 15; idx++) + { + dataStream << _otherParameters[idx]; + } + + dataStream << _xAcceleration; + dataStream << _yAcceleration; + dataStream << _zAcceleration; + dataStream << _xAngularVelocity; + dataStream << _yAngularVelocity; + dataStream << _zAngularVelocity; + + for(size_t idx = 0; idx < 12; idx++) + { + dataStream << _marking[idx]; + } + + dataStream << _capabilities; + + for(size_t idx = 0; idx < _articulationParameters.size(); idx++) + { + ArticulationParameter x = _articulationParameters[idx]; + x.marshal(dataStream); + } + +} + +void FastEntityStatePdu::unmarshal(DataStream& dataStream) +{ + EntityInformationFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _site; + dataStream >> _application; + dataStream >> _entity; + dataStream >> _forceId; + dataStream >> _numberOfArticulationParameters; + dataStream >> _entityKind; + dataStream >> _domain; + dataStream >> _country; + dataStream >> _category; + dataStream >> _subcategory; + dataStream >> _specific; + dataStream >> _extra; + dataStream >> _altEntityKind; + dataStream >> _altDomain; + dataStream >> _altCountry; + dataStream >> _altCategory; + dataStream >> _altSubcategory; + dataStream >> _altSpecific; + dataStream >> _altExtra; + dataStream >> _xVelocity; + dataStream >> _yVelocity; + dataStream >> _zVelocity; + dataStream >> _xLocation; + dataStream >> _yLocation; + dataStream >> _zLocation; + dataStream >> _psi; + dataStream >> _theta; + dataStream >> _phi; + dataStream >> _entityAppearance; + dataStream >> _deadReckoningAlgorithm; + + for(size_t idx = 0; idx < 15; idx++) + { + dataStream >> _otherParameters[idx]; + } + + dataStream >> _xAcceleration; + dataStream >> _yAcceleration; + dataStream >> _zAcceleration; + dataStream >> _xAngularVelocity; + dataStream >> _yAngularVelocity; + dataStream >> _zAngularVelocity; + + for(size_t idx = 0; idx < 12; idx++) + { + dataStream >> _marking[idx]; + } + + dataStream >> _capabilities; + + _articulationParameters.clear(); + for(size_t idx = 0; idx < _numberOfArticulationParameters; idx++) + { + ArticulationParameter x; + x.unmarshal(dataStream); + _articulationParameters.push_back(x); + } +} + + +bool FastEntityStatePdu::operator ==(const FastEntityStatePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = EntityInformationFamilyPdu::operator==(rhs); + + if( ! (_site == rhs._site) ) ivarsEqual = false; + if( ! (_application == rhs._application) ) ivarsEqual = false; + if( ! (_entity == rhs._entity) ) ivarsEqual = false; + if( ! (_forceId == rhs._forceId) ) ivarsEqual = false; + if( ! (_entityKind == rhs._entityKind) ) ivarsEqual = false; + if( ! (_domain == rhs._domain) ) ivarsEqual = false; + if( ! (_country == rhs._country) ) ivarsEqual = false; + if( ! (_category == rhs._category) ) ivarsEqual = false; + if( ! (_subcategory == rhs._subcategory) ) ivarsEqual = false; + if( ! (_specific == rhs._specific) ) ivarsEqual = false; + if( ! (_extra == rhs._extra) ) ivarsEqual = false; + if( ! (_altEntityKind == rhs._altEntityKind) ) ivarsEqual = false; + if( ! (_altDomain == rhs._altDomain) ) ivarsEqual = false; + if( ! (_altCountry == rhs._altCountry) ) ivarsEqual = false; + if( ! (_altCategory == rhs._altCategory) ) ivarsEqual = false; + if( ! (_altSubcategory == rhs._altSubcategory) ) ivarsEqual = false; + if( ! (_altSpecific == rhs._altSpecific) ) ivarsEqual = false; + if( ! (_altExtra == rhs._altExtra) ) ivarsEqual = false; + if( ! (_xVelocity == rhs._xVelocity) ) ivarsEqual = false; + if( ! (_yVelocity == rhs._yVelocity) ) ivarsEqual = false; + if( ! (_zVelocity == rhs._zVelocity) ) ivarsEqual = false; + if( ! (_xLocation == rhs._xLocation) ) ivarsEqual = false; + if( ! (_yLocation == rhs._yLocation) ) ivarsEqual = false; + if( ! (_zLocation == rhs._zLocation) ) ivarsEqual = false; + if( ! (_psi == rhs._psi) ) ivarsEqual = false; + if( ! (_theta == rhs._theta) ) ivarsEqual = false; + if( ! (_phi == rhs._phi) ) ivarsEqual = false; + if( ! (_entityAppearance == rhs._entityAppearance) ) ivarsEqual = false; + if( ! (_deadReckoningAlgorithm == rhs._deadReckoningAlgorithm) ) ivarsEqual = false; + + for(char idx = 0; idx < 15; idx++) + { + if(!(_otherParameters[idx] == rhs._otherParameters[idx]) ) ivarsEqual = false; + } + + if( ! (_xAcceleration == rhs._xAcceleration) ) ivarsEqual = false; + if( ! (_yAcceleration == rhs._yAcceleration) ) ivarsEqual = false; + if( ! (_zAcceleration == rhs._zAcceleration) ) ivarsEqual = false; + if( ! (_xAngularVelocity == rhs._xAngularVelocity) ) ivarsEqual = false; + if( ! (_yAngularVelocity == rhs._yAngularVelocity) ) ivarsEqual = false; + if( ! (_zAngularVelocity == rhs._zAngularVelocity) ) ivarsEqual = false; + + for(char idx = 0; idx < 12; idx++) + { + if(!(_marking[idx] == rhs._marking[idx]) ) ivarsEqual = false; + } + + if( ! (_capabilities == rhs._capabilities) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _articulationParameters.size(); idx++) + { + if( ! ( _articulationParameters[idx] == rhs._articulationParameters[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int FastEntityStatePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = EntityInformationFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 2; // _site + marshalSize = marshalSize + 2; // _application + marshalSize = marshalSize + 2; // _entity + marshalSize = marshalSize + 1; // _forceId + marshalSize = marshalSize + 1; // _numberOfArticulationParameters + marshalSize = marshalSize + 1; // _entityKind + marshalSize = marshalSize + 1; // _domain + marshalSize = marshalSize + 2; // _country + marshalSize = marshalSize + 1; // _category + marshalSize = marshalSize + 1; // _subcategory + marshalSize = marshalSize + 1; // _specific + marshalSize = marshalSize + 1; // _extra + marshalSize = marshalSize + 1; // _altEntityKind + marshalSize = marshalSize + 1; // _altDomain + marshalSize = marshalSize + 2; // _altCountry + marshalSize = marshalSize + 1; // _altCategory + marshalSize = marshalSize + 1; // _altSubcategory + marshalSize = marshalSize + 1; // _altSpecific + marshalSize = marshalSize + 1; // _altExtra + marshalSize = marshalSize + 4; // _xVelocity + marshalSize = marshalSize + 4; // _yVelocity + marshalSize = marshalSize + 4; // _zVelocity + marshalSize = marshalSize + 8; // _xLocation + marshalSize = marshalSize + 8; // _yLocation + marshalSize = marshalSize + 8; // _zLocation + marshalSize = marshalSize + 4; // _psi + marshalSize = marshalSize + 4; // _theta + marshalSize = marshalSize + 4; // _phi + marshalSize = marshalSize + 4; // _entityAppearance + marshalSize = marshalSize + 1; // _deadReckoningAlgorithm + marshalSize = marshalSize + 15 * 1; // _otherParameters + marshalSize = marshalSize + 4; // _xAcceleration + marshalSize = marshalSize + 4; // _yAcceleration + marshalSize = marshalSize + 4; // _zAcceleration + marshalSize = marshalSize + 4; // _xAngularVelocity + marshalSize = marshalSize + 4; // _yAngularVelocity + marshalSize = marshalSize + 4; // _zAngularVelocity + marshalSize = marshalSize + 12 * 1; // _marking + marshalSize = marshalSize + 4; // _capabilities + + for(int idx=0; idx < _articulationParameters.size(); idx++) + { + ArticulationParameter listElement = _articulationParameters[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/FastEntityStatePdu.h b/cpp/DIS/FastEntityStatePdu.h new file mode 100644 index 00000000..09e8abbc --- /dev/null +++ b/cpp/DIS/FastEntityStatePdu.h @@ -0,0 +1,305 @@ +#ifndef FASTENTITYSTATEPDU_H +#define FASTENTITYSTATEPDU_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.3.1. Represents the postion and state of one entity in the world. This is identical in function to entity state pdu, but generates less garbage to collect in the Java world. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO FastEntityStatePdu : public EntityInformationFamilyPdu +{ +protected: + /** The site ID */ + unsigned short _site; + + /** The application ID */ + unsigned short _application; + + /** the entity ID */ + unsigned short _entity; + + /** what force this entity is affiliated with, eg red, blue, neutral, etc */ + unsigned char _forceId; + + /** How many articulation parameters are in the variable length list */ + char _numberOfArticulationParameters; + + /** Kind of entity */ + unsigned char _entityKind; + + /** Domain of entity (air, surface, subsurface, space, etc) */ + unsigned char _domain; + + /** country to which the design of the entity is attributed */ + unsigned short _country; + + /** category of entity */ + unsigned char _category; + + /** subcategory of entity */ + unsigned char _subcategory; + + /** specific info based on subcategory field */ + unsigned char _specific; + + unsigned char _extra; + + /** Kind of entity */ + unsigned char _altEntityKind; + + /** Domain of entity (air, surface, subsurface, space, etc) */ + unsigned char _altDomain; + + /** country to which the design of the entity is attributed */ + unsigned short _altCountry; + + /** category of entity */ + unsigned char _altCategory; + + /** subcategory of entity */ + unsigned char _altSubcategory; + + /** specific info based on subcategory field */ + unsigned char _altSpecific; + + unsigned char _altExtra; + + /** X velo */ + float _xVelocity; + + /** y Value */ + float _yVelocity; + + /** Z value */ + float _zVelocity; + + /** X value */ + double _xLocation; + + /** y Value */ + double _yLocation; + + /** Z value */ + double _zLocation; + + float _psi; + + float _theta; + + float _phi; + + /** a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc. */ + int _entityAppearance; + + /** enumeration of what dead reckoning algorighm to use */ + unsigned char _deadReckoningAlgorithm; + + /** other parameters to use in the dead reckoning algorithm */ + char _otherParameters[15]; + + /** X value */ + float _xAcceleration; + + /** y Value */ + float _yAcceleration; + + /** Z value */ + float _zAcceleration; + + /** X value */ + float _xAngularVelocity; + + /** y Value */ + float _yAngularVelocity; + + /** Z value */ + float _zAngularVelocity; + + /** characters that can be used for debugging, or to draw unique strings on the side of entities in the world */ + char _marking[12]; + + /** a series of bit flags */ + int _capabilities; + + /** variable length list of articulation parameters */ + std::vector _articulationParameters; + + + public: + FastEntityStatePdu(); + virtual ~FastEntityStatePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getSite() const; + void setSite(unsigned short pX); + + unsigned short getApplication() const; + void setApplication(unsigned short pX); + + unsigned short getEntity() const; + void setEntity(unsigned short pX); + + unsigned char getForceId() const; + void setForceId(unsigned char pX); + + char getNumberOfArticulationParameters() const; + + unsigned char getEntityKind() const; + void setEntityKind(unsigned char pX); + + unsigned char getDomain() const; + void setDomain(unsigned char pX); + + unsigned short getCountry() const; + void setCountry(unsigned short pX); + + unsigned char getCategory() const; + void setCategory(unsigned char pX); + + unsigned char getSubcategory() const; + void setSubcategory(unsigned char pX); + + unsigned char getSpecific() const; + void setSpecific(unsigned char pX); + + unsigned char getExtra() const; + void setExtra(unsigned char pX); + + unsigned char getAltEntityKind() const; + void setAltEntityKind(unsigned char pX); + + unsigned char getAltDomain() const; + void setAltDomain(unsigned char pX); + + unsigned short getAltCountry() const; + void setAltCountry(unsigned short pX); + + unsigned char getAltCategory() const; + void setAltCategory(unsigned char pX); + + unsigned char getAltSubcategory() const; + void setAltSubcategory(unsigned char pX); + + unsigned char getAltSpecific() const; + void setAltSpecific(unsigned char pX); + + unsigned char getAltExtra() const; + void setAltExtra(unsigned char pX); + + float getXVelocity() const; + void setXVelocity(float pX); + + float getYVelocity() const; + void setYVelocity(float pX); + + float getZVelocity() const; + void setZVelocity(float pX); + + double getXLocation() const; + void setXLocation(double pX); + + double getYLocation() const; + void setYLocation(double pX); + + double getZLocation() const; + void setZLocation(double pX); + + float getPsi() const; + void setPsi(float pX); + + float getTheta() const; + void setTheta(float pX); + + float getPhi() const; + void setPhi(float pX); + + int getEntityAppearance() const; + void setEntityAppearance(int pX); + + unsigned char getDeadReckoningAlgorithm() const; + void setDeadReckoningAlgorithm(unsigned char pX); + + char* getOtherParameters(); + const char* getOtherParameters() const; + void setOtherParameters( const char* pX); + + float getXAcceleration() const; + void setXAcceleration(float pX); + + float getYAcceleration() const; + void setYAcceleration(float pX); + + float getZAcceleration() const; + void setZAcceleration(float pX); + + float getXAngularVelocity() const; + void setXAngularVelocity(float pX); + + float getYAngularVelocity() const; + void setYAngularVelocity(float pX); + + float getZAngularVelocity() const; + void setZAngularVelocity(float pX); + + char* getMarking(); + const char* getMarking() const; + void setMarking( const char* pX); + void setByStringMarking(const char* pX); + + int getCapabilities() const; + void setCapabilities(int pX); + + std::vector& getArticulationParameters(); + const std::vector& getArticulationParameters() const; + void setArticulationParameters(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const FastEntityStatePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/FirePdu.cpp b/cpp/DIS/FirePdu.cpp new file mode 100644 index 00000000..1a0ba9ca --- /dev/null +++ b/cpp/DIS/FirePdu.cpp @@ -0,0 +1,203 @@ +#include + +using namespace DIS; + + +FirePdu::FirePdu() : WarfareFamilyPdu(), + _munitionID(), + _eventID(), + _fireMissionIndex(0), + _locationInWorldCoordinates(), + _burstDescriptor(), + _velocity(), + _range(0.0) +{ + setPduType( 2 ); +} + +FirePdu::~FirePdu() +{ +} + +EntityID& FirePdu::getMunitionID() +{ + return _munitionID; +} + +const EntityID& FirePdu::getMunitionID() const +{ + return _munitionID; +} + +void FirePdu::setMunitionID(const EntityID &pX) +{ + _munitionID = pX; +} + +EventID& FirePdu::getEventID() +{ + return _eventID; +} + +const EventID& FirePdu::getEventID() const +{ + return _eventID; +} + +void FirePdu::setEventID(const EventID &pX) +{ + _eventID = pX; +} + +int FirePdu::getFireMissionIndex() const +{ + return _fireMissionIndex; +} + +void FirePdu::setFireMissionIndex(int pX) +{ + _fireMissionIndex = pX; +} + +Vector3Double& FirePdu::getLocationInWorldCoordinates() +{ + return _locationInWorldCoordinates; +} + +const Vector3Double& FirePdu::getLocationInWorldCoordinates() const +{ + return _locationInWorldCoordinates; +} + +void FirePdu::setLocationInWorldCoordinates(const Vector3Double &pX) +{ + _locationInWorldCoordinates = pX; +} + +BurstDescriptor& FirePdu::getBurstDescriptor() +{ + return _burstDescriptor; +} + +const BurstDescriptor& FirePdu::getBurstDescriptor() const +{ + return _burstDescriptor; +} + +void FirePdu::setBurstDescriptor(const BurstDescriptor &pX) +{ + _burstDescriptor = pX; +} + +Vector3Float& FirePdu::getVelocity() +{ + return _velocity; +} + +const Vector3Float& FirePdu::getVelocity() const +{ + return _velocity; +} + +void FirePdu::setVelocity(const Vector3Float &pX) +{ + _velocity = pX; +} + +float FirePdu::getRange() const +{ + return _range; +} + +void FirePdu::setRange(float pX) +{ + _range = pX; +} + +void FirePdu::marshal(DataStream& dataStream) const +{ + WarfareFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _munitionID.marshal(dataStream); + _eventID.marshal(dataStream); + dataStream << _fireMissionIndex; + _locationInWorldCoordinates.marshal(dataStream); + _burstDescriptor.marshal(dataStream); + _velocity.marshal(dataStream); + dataStream << _range; +} + +void FirePdu::unmarshal(DataStream& dataStream) +{ + WarfareFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _munitionID.unmarshal(dataStream); + _eventID.unmarshal(dataStream); + dataStream >> _fireMissionIndex; + _locationInWorldCoordinates.unmarshal(dataStream); + _burstDescriptor.unmarshal(dataStream); + _velocity.unmarshal(dataStream); + dataStream >> _range; +} + + +bool FirePdu::operator ==(const FirePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = WarfareFamilyPdu::operator==(rhs); + + if( ! (_munitionID == rhs._munitionID) ) ivarsEqual = false; + if( ! (_eventID == rhs._eventID) ) ivarsEqual = false; + if( ! (_fireMissionIndex == rhs._fireMissionIndex) ) ivarsEqual = false; + if( ! (_locationInWorldCoordinates == rhs._locationInWorldCoordinates) ) ivarsEqual = false; + if( ! (_burstDescriptor == rhs._burstDescriptor) ) ivarsEqual = false; + if( ! (_velocity == rhs._velocity) ) ivarsEqual = false; + if( ! (_range == rhs._range) ) ivarsEqual = false; + + return ivarsEqual; + } + +int FirePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = WarfareFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _munitionID.getMarshalledSize(); // _munitionID + marshalSize = marshalSize + _eventID.getMarshalledSize(); // _eventID + marshalSize = marshalSize + 4; // _fireMissionIndex + marshalSize = marshalSize + _locationInWorldCoordinates.getMarshalledSize(); // _locationInWorldCoordinates + marshalSize = marshalSize + _burstDescriptor.getMarshalledSize(); // _burstDescriptor + marshalSize = marshalSize + _velocity.getMarshalledSize(); // _velocity + marshalSize = marshalSize + 4; // _range + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/FirePdu.h b/cpp/DIS/FirePdu.h new file mode 100644 index 00000000..b9b7044e --- /dev/null +++ b/cpp/DIS/FirePdu.h @@ -0,0 +1,116 @@ +#ifndef FIREPDU_H +#define FIREPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Sectioin 5.3.4.1. Information about someone firing something. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO FirePdu : public WarfareFamilyPdu +{ +protected: + /** ID of the munition that is being shot */ + EntityID _munitionID; + + /** ID of event */ + EventID _eventID; + + int _fireMissionIndex; + + /** location of the firing event */ + Vector3Double _locationInWorldCoordinates; + + /** Describes munitions used in the firing event */ + BurstDescriptor _burstDescriptor; + + /** Velocity of the ammunition */ + Vector3Float _velocity; + + /** range to the target */ + float _range; + + + public: + FirePdu(); + virtual ~FirePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getMunitionID(); + const EntityID& getMunitionID() const; + void setMunitionID(const EntityID &pX); + + EventID& getEventID(); + const EventID& getEventID() const; + void setEventID(const EventID &pX); + + int getFireMissionIndex() const; + void setFireMissionIndex(int pX); + + Vector3Double& getLocationInWorldCoordinates(); + const Vector3Double& getLocationInWorldCoordinates() const; + void setLocationInWorldCoordinates(const Vector3Double &pX); + + BurstDescriptor& getBurstDescriptor(); + const BurstDescriptor& getBurstDescriptor() const; + void setBurstDescriptor(const BurstDescriptor &pX); + + Vector3Float& getVelocity(); + const Vector3Float& getVelocity() const; + void setVelocity(const Vector3Float &pX); + + float getRange() const; + void setRange(float pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const FirePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/FixedDatum.cpp b/cpp/DIS/FixedDatum.cpp new file mode 100644 index 00000000..98e97a5d --- /dev/null +++ b/cpp/DIS/FixedDatum.cpp @@ -0,0 +1,97 @@ +#include + +using namespace DIS; + + +FixedDatum::FixedDatum(): + _fixedDatumID(0), + _fixedDatumValue(0) +{ +} + +FixedDatum::~FixedDatum() +{ +} + +unsigned int FixedDatum::getFixedDatumID() const +{ + return _fixedDatumID; +} + +void FixedDatum::setFixedDatumID(unsigned int pX) +{ + _fixedDatumID = pX; +} + +unsigned int FixedDatum::getFixedDatumValue() const +{ + return _fixedDatumValue; +} + +void FixedDatum::setFixedDatumValue(unsigned int pX) +{ + _fixedDatumValue = pX; +} + +void FixedDatum::marshal(DataStream& dataStream) const +{ + dataStream << _fixedDatumID; + dataStream << _fixedDatumValue; +} + +void FixedDatum::unmarshal(DataStream& dataStream) +{ + dataStream >> _fixedDatumID; + dataStream >> _fixedDatumValue; +} + + +bool FixedDatum::operator ==(const FixedDatum& rhs) const + { + bool ivarsEqual = true; + + if( ! (_fixedDatumID == rhs._fixedDatumID) ) ivarsEqual = false; + if( ! (_fixedDatumValue == rhs._fixedDatumValue) ) ivarsEqual = false; + + return ivarsEqual; + } + +int FixedDatum::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _fixedDatumID + marshalSize = marshalSize + 4; // _fixedDatumValue + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/FixedDatum.h b/cpp/DIS/FixedDatum.h new file mode 100644 index 00000000..fd53273b --- /dev/null +++ b/cpp/DIS/FixedDatum.h @@ -0,0 +1,76 @@ +#ifndef FIXEDDATUM_H +#define FIXEDDATUM_H + +#include +#include + + +namespace DIS +{ +// Section 5.2.18. Fixed Datum Record + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO FixedDatum +{ +protected: + /** ID of the fixed datum */ + unsigned int _fixedDatumID; + + /** Value for the fixed datum */ + unsigned int _fixedDatumValue; + + + public: + FixedDatum(); + virtual ~FixedDatum(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getFixedDatumID() const; + void setFixedDatumID(unsigned int pX); + + unsigned int getFixedDatumValue() const; + void setFixedDatumValue(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const FixedDatum& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/FourByteChunk.cpp b/cpp/DIS/FourByteChunk.cpp new file mode 100644 index 00000000..457e3638 --- /dev/null +++ b/cpp/DIS/FourByteChunk.cpp @@ -0,0 +1,110 @@ +#include + +using namespace DIS; + + +FourByteChunk::FourByteChunk() +{ + // Initialize fixed length array + for(int lengthotherParameters= 0; lengthotherParameters < 4; lengthotherParameters++) + { + _otherParameters[lengthotherParameters] = 0; + } + +} + +FourByteChunk::~FourByteChunk() +{ +} + +char* FourByteChunk::getOtherParameters() +{ + return _otherParameters; +} + +const char* FourByteChunk::getOtherParameters() const +{ + return _otherParameters; +} + +void FourByteChunk::setOtherParameters(const char* x) +{ + for(int i = 0; i < 4; i++) + { + _otherParameters[i] = x[i]; + } +} + +void FourByteChunk::marshal(DataStream& dataStream) const +{ + + for(size_t idx = 0; idx < 4; idx++) + { + dataStream << _otherParameters[idx]; + } + +} + +void FourByteChunk::unmarshal(DataStream& dataStream) +{ + + for(size_t idx = 0; idx < 4; idx++) + { + dataStream >> _otherParameters[idx]; + } + +} + + +bool FourByteChunk::operator ==(const FourByteChunk& rhs) const + { + bool ivarsEqual = true; + + + for(char idx = 0; idx < 4; idx++) + { + if(!(_otherParameters[idx] == rhs._otherParameters[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int FourByteChunk::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4 * 1; // _otherParameters + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/FourByteChunk.h b/cpp/DIS/FourByteChunk.h new file mode 100644 index 00000000..dcc35127 --- /dev/null +++ b/cpp/DIS/FourByteChunk.h @@ -0,0 +1,71 @@ +#ifndef FOURBYTECHUNK_H +#define FOURBYTECHUNK_H + +#include +#include + + +namespace DIS +{ +// 32 bit piece of data + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO FourByteChunk +{ +protected: + /** four bytes of arbitrary data */ + char _otherParameters[4]; + + + public: + FourByteChunk(); + virtual ~FourByteChunk(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + char* getOtherParameters(); + const char* getOtherParameters() const; + void setOtherParameters( const char* pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const FourByteChunk& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/FundamentalParameterData.cpp b/cpp/DIS/FundamentalParameterData.cpp new file mode 100644 index 00000000..a25faec4 --- /dev/null +++ b/cpp/DIS/FundamentalParameterData.cpp @@ -0,0 +1,217 @@ +#include + +using namespace DIS; + + +FundamentalParameterData::FundamentalParameterData(): + _frequency(0.0), + _frequencyRange(0.0), + _effectiveRadiatedPower(0.0), + _pulseRepetitionFrequency(0.0), + _pulseWidth(0.0), + _beamAzimuthCenter(0.0), + _beamAzimuthSweep(0.0), + _beamElevationCenter(0.0), + _beamElevationSweep(0.0), + _beamSweepSync(0.0) +{ +} + +FundamentalParameterData::~FundamentalParameterData() +{ +} + +float FundamentalParameterData::getFrequency() const +{ + return _frequency; +} + +void FundamentalParameterData::setFrequency(float pX) +{ + _frequency = pX; +} + +float FundamentalParameterData::getFrequencyRange() const +{ + return _frequencyRange; +} + +void FundamentalParameterData::setFrequencyRange(float pX) +{ + _frequencyRange = pX; +} + +float FundamentalParameterData::getEffectiveRadiatedPower() const +{ + return _effectiveRadiatedPower; +} + +void FundamentalParameterData::setEffectiveRadiatedPower(float pX) +{ + _effectiveRadiatedPower = pX; +} + +float FundamentalParameterData::getPulseRepetitionFrequency() const +{ + return _pulseRepetitionFrequency; +} + +void FundamentalParameterData::setPulseRepetitionFrequency(float pX) +{ + _pulseRepetitionFrequency = pX; +} + +float FundamentalParameterData::getPulseWidth() const +{ + return _pulseWidth; +} + +void FundamentalParameterData::setPulseWidth(float pX) +{ + _pulseWidth = pX; +} + +float FundamentalParameterData::getBeamAzimuthCenter() const +{ + return _beamAzimuthCenter; +} + +void FundamentalParameterData::setBeamAzimuthCenter(float pX) +{ + _beamAzimuthCenter = pX; +} + +float FundamentalParameterData::getBeamAzimuthSweep() const +{ + return _beamAzimuthSweep; +} + +void FundamentalParameterData::setBeamAzimuthSweep(float pX) +{ + _beamAzimuthSweep = pX; +} + +float FundamentalParameterData::getBeamElevationCenter() const +{ + return _beamElevationCenter; +} + +void FundamentalParameterData::setBeamElevationCenter(float pX) +{ + _beamElevationCenter = pX; +} + +float FundamentalParameterData::getBeamElevationSweep() const +{ + return _beamElevationSweep; +} + +void FundamentalParameterData::setBeamElevationSweep(float pX) +{ + _beamElevationSweep = pX; +} + +float FundamentalParameterData::getBeamSweepSync() const +{ + return _beamSweepSync; +} + +void FundamentalParameterData::setBeamSweepSync(float pX) +{ + _beamSweepSync = pX; +} + +void FundamentalParameterData::marshal(DataStream& dataStream) const +{ + dataStream << _frequency; + dataStream << _frequencyRange; + dataStream << _effectiveRadiatedPower; + dataStream << _pulseRepetitionFrequency; + dataStream << _pulseWidth; + dataStream << _beamAzimuthCenter; + dataStream << _beamAzimuthSweep; + dataStream << _beamElevationCenter; + dataStream << _beamElevationSweep; + dataStream << _beamSweepSync; +} + +void FundamentalParameterData::unmarshal(DataStream& dataStream) +{ + dataStream >> _frequency; + dataStream >> _frequencyRange; + dataStream >> _effectiveRadiatedPower; + dataStream >> _pulseRepetitionFrequency; + dataStream >> _pulseWidth; + dataStream >> _beamAzimuthCenter; + dataStream >> _beamAzimuthSweep; + dataStream >> _beamElevationCenter; + dataStream >> _beamElevationSweep; + dataStream >> _beamSweepSync; +} + + +bool FundamentalParameterData::operator ==(const FundamentalParameterData& rhs) const + { + bool ivarsEqual = true; + + if( ! (_frequency == rhs._frequency) ) ivarsEqual = false; + if( ! (_frequencyRange == rhs._frequencyRange) ) ivarsEqual = false; + if( ! (_effectiveRadiatedPower == rhs._effectiveRadiatedPower) ) ivarsEqual = false; + if( ! (_pulseRepetitionFrequency == rhs._pulseRepetitionFrequency) ) ivarsEqual = false; + if( ! (_pulseWidth == rhs._pulseWidth) ) ivarsEqual = false; + if( ! (_beamAzimuthCenter == rhs._beamAzimuthCenter) ) ivarsEqual = false; + if( ! (_beamAzimuthSweep == rhs._beamAzimuthSweep) ) ivarsEqual = false; + if( ! (_beamElevationCenter == rhs._beamElevationCenter) ) ivarsEqual = false; + if( ! (_beamElevationSweep == rhs._beamElevationSweep) ) ivarsEqual = false; + if( ! (_beamSweepSync == rhs._beamSweepSync) ) ivarsEqual = false; + + return ivarsEqual; + } + +int FundamentalParameterData::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _frequency + marshalSize = marshalSize + 4; // _frequencyRange + marshalSize = marshalSize + 4; // _effectiveRadiatedPower + marshalSize = marshalSize + 4; // _pulseRepetitionFrequency + marshalSize = marshalSize + 4; // _pulseWidth + marshalSize = marshalSize + 4; // _beamAzimuthCenter + marshalSize = marshalSize + 4; // _beamAzimuthSweep + marshalSize = marshalSize + 4; // _beamElevationCenter + marshalSize = marshalSize + 4; // _beamElevationSweep + marshalSize = marshalSize + 4; // _beamSweepSync + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/FundamentalParameterData.h b/cpp/DIS/FundamentalParameterData.h new file mode 100644 index 00000000..3a66af47 --- /dev/null +++ b/cpp/DIS/FundamentalParameterData.h @@ -0,0 +1,124 @@ +#ifndef FUNDAMENTALPARAMETERDATA_H +#define FUNDAMENTALPARAMETERDATA_H + +#include +#include + + +namespace DIS +{ +// Section 5.2.22. Contains electromagnetic emmision regineratin parameters that are variable throughout a scenario dependent on the actions of the participants in the simulation. Also provides basic parametric data that may be used to support low-fidelity simulations. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO FundamentalParameterData +{ +protected: + /** center frequency of the emission in hertz. */ + float _frequency; + + /** Bandwidth of the frequencies corresponding to the fequency field. */ + float _frequencyRange; + + /** Effective radiated power for the emission in DdBm. For a radar noise jammer, indicates the peak of the transmitted power. */ + float _effectiveRadiatedPower; + + /** Average repetition frequency of the emission in hertz. */ + float _pulseRepetitionFrequency; + + /** Average pulse width of the emission in microseconds. */ + float _pulseWidth; + + /** Specifies the beam azimuth an elevation centers and corresponding half-angles to describe the scan volume */ + float _beamAzimuthCenter; + + /** Specifies the beam azimuth sweep to determine scan volume */ + float _beamAzimuthSweep; + + /** Specifies the beam elevation center to determine scan volume */ + float _beamElevationCenter; + + /** Specifies the beam elevation sweep to determine scan volume */ + float _beamElevationSweep; + + /** allows receiver to synchronize its regenerated scan pattern to that of the emmitter. Specifies the percentage of time a scan is through its pattern from its origion. */ + float _beamSweepSync; + + + public: + FundamentalParameterData(); + virtual ~FundamentalParameterData(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + float getFrequency() const; + void setFrequency(float pX); + + float getFrequencyRange() const; + void setFrequencyRange(float pX); + + float getEffectiveRadiatedPower() const; + void setEffectiveRadiatedPower(float pX); + + float getPulseRepetitionFrequency() const; + void setPulseRepetitionFrequency(float pX); + + float getPulseWidth() const; + void setPulseWidth(float pX); + + float getBeamAzimuthCenter() const; + void setBeamAzimuthCenter(float pX); + + float getBeamAzimuthSweep() const; + void setBeamAzimuthSweep(float pX); + + float getBeamElevationCenter() const; + void setBeamElevationCenter(float pX); + + float getBeamElevationSweep() const; + void setBeamElevationSweep(float pX); + + float getBeamSweepSync() const; + void setBeamSweepSync(float pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const FundamentalParameterData& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/FundamentalParameterDataIff.cpp b/cpp/DIS/FundamentalParameterDataIff.cpp new file mode 100644 index 00000000..2adae915 --- /dev/null +++ b/cpp/DIS/FundamentalParameterDataIff.cpp @@ -0,0 +1,187 @@ +#include + +using namespace DIS; + + +FundamentalParameterDataIff::FundamentalParameterDataIff(): + _erp(0.0), + _frequency(0.0), + _pgrf(0.0), + _pulseWidth(0.0), + _burstLength(0), + _applicableModes(0), + _pad2(0), + _pad3(0) +{ +} + +FundamentalParameterDataIff::~FundamentalParameterDataIff() +{ +} + +float FundamentalParameterDataIff::getErp() const +{ + return _erp; +} + +void FundamentalParameterDataIff::setErp(float pX) +{ + _erp = pX; +} + +float FundamentalParameterDataIff::getFrequency() const +{ + return _frequency; +} + +void FundamentalParameterDataIff::setFrequency(float pX) +{ + _frequency = pX; +} + +float FundamentalParameterDataIff::getPgrf() const +{ + return _pgrf; +} + +void FundamentalParameterDataIff::setPgrf(float pX) +{ + _pgrf = pX; +} + +float FundamentalParameterDataIff::getPulseWidth() const +{ + return _pulseWidth; +} + +void FundamentalParameterDataIff::setPulseWidth(float pX) +{ + _pulseWidth = pX; +} + +unsigned int FundamentalParameterDataIff::getBurstLength() const +{ + return _burstLength; +} + +void FundamentalParameterDataIff::setBurstLength(unsigned int pX) +{ + _burstLength = pX; +} + +unsigned char FundamentalParameterDataIff::getApplicableModes() const +{ + return _applicableModes; +} + +void FundamentalParameterDataIff::setApplicableModes(unsigned char pX) +{ + _applicableModes = pX; +} + +unsigned short FundamentalParameterDataIff::getPad2() const +{ + return _pad2; +} + +void FundamentalParameterDataIff::setPad2(unsigned short pX) +{ + _pad2 = pX; +} + +unsigned char FundamentalParameterDataIff::getPad3() const +{ + return _pad3; +} + +void FundamentalParameterDataIff::setPad3(unsigned char pX) +{ + _pad3 = pX; +} + +void FundamentalParameterDataIff::marshal(DataStream& dataStream) const +{ + dataStream << _erp; + dataStream << _frequency; + dataStream << _pgrf; + dataStream << _pulseWidth; + dataStream << _burstLength; + dataStream << _applicableModes; + dataStream << _pad2; + dataStream << _pad3; +} + +void FundamentalParameterDataIff::unmarshal(DataStream& dataStream) +{ + dataStream >> _erp; + dataStream >> _frequency; + dataStream >> _pgrf; + dataStream >> _pulseWidth; + dataStream >> _burstLength; + dataStream >> _applicableModes; + dataStream >> _pad2; + dataStream >> _pad3; +} + + +bool FundamentalParameterDataIff::operator ==(const FundamentalParameterDataIff& rhs) const + { + bool ivarsEqual = true; + + if( ! (_erp == rhs._erp) ) ivarsEqual = false; + if( ! (_frequency == rhs._frequency) ) ivarsEqual = false; + if( ! (_pgrf == rhs._pgrf) ) ivarsEqual = false; + if( ! (_pulseWidth == rhs._pulseWidth) ) ivarsEqual = false; + if( ! (_burstLength == rhs._burstLength) ) ivarsEqual = false; + if( ! (_applicableModes == rhs._applicableModes) ) ivarsEqual = false; + if( ! (_pad2 == rhs._pad2) ) ivarsEqual = false; + if( ! (_pad3 == rhs._pad3) ) ivarsEqual = false; + + return ivarsEqual; + } + +int FundamentalParameterDataIff::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _erp + marshalSize = marshalSize + 4; // _frequency + marshalSize = marshalSize + 4; // _pgrf + marshalSize = marshalSize + 4; // _pulseWidth + marshalSize = marshalSize + 4; // _burstLength + marshalSize = marshalSize + 1; // _applicableModes + marshalSize = marshalSize + 2; // _pad2 + marshalSize = marshalSize + 1; // _pad3 + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/FundamentalParameterDataIff.h b/cpp/DIS/FundamentalParameterDataIff.h new file mode 100644 index 00000000..e29c1ff5 --- /dev/null +++ b/cpp/DIS/FundamentalParameterDataIff.h @@ -0,0 +1,112 @@ +#ifndef FUNDAMENTALPARAMETERDATAIFF_H +#define FUNDAMENTALPARAMETERDATAIFF_H + +#include +#include + + +namespace DIS +{ +// 5.2.45. Fundamental IFF atc data + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO FundamentalParameterDataIff +{ +protected: + /** ERP */ + float _erp; + + /** frequency */ + float _frequency; + + /** pgrf */ + float _pgrf; + + /** Pulse width */ + float _pulseWidth; + + /** Burst length */ + unsigned int _burstLength; + + /** Applicable modes enumeration */ + unsigned char _applicableModes; + + /** padding */ + unsigned short _pad2; + + /** padding */ + unsigned char _pad3; + + + public: + FundamentalParameterDataIff(); + virtual ~FundamentalParameterDataIff(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + float getErp() const; + void setErp(float pX); + + float getFrequency() const; + void setFrequency(float pX); + + float getPgrf() const; + void setPgrf(float pX); + + float getPulseWidth() const; + void setPulseWidth(float pX); + + unsigned int getBurstLength() const; + void setBurstLength(unsigned int pX); + + unsigned char getApplicableModes() const; + void setApplicableModes(unsigned char pX); + + unsigned short getPad2() const; + void setPad2(unsigned short pX); + + unsigned char getPad3() const; + void setPad3(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const FundamentalParameterDataIff& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/GridAxisRecord.cpp b/cpp/DIS/GridAxisRecord.cpp new file mode 100644 index 00000000..45a68af6 --- /dev/null +++ b/cpp/DIS/GridAxisRecord.cpp @@ -0,0 +1,97 @@ +#include + +using namespace DIS; + + +GridAxisRecord::GridAxisRecord(): + _sampleType(0), + _dataRepresentation(0) +{ +} + +GridAxisRecord::~GridAxisRecord() +{ +} + +unsigned short GridAxisRecord::getSampleType() const +{ + return _sampleType; +} + +void GridAxisRecord::setSampleType(unsigned short pX) +{ + _sampleType = pX; +} + +unsigned short GridAxisRecord::getDataRepresentation() const +{ + return _dataRepresentation; +} + +void GridAxisRecord::setDataRepresentation(unsigned short pX) +{ + _dataRepresentation = pX; +} + +void GridAxisRecord::marshal(DataStream& dataStream) const +{ + dataStream << _sampleType; + dataStream << _dataRepresentation; +} + +void GridAxisRecord::unmarshal(DataStream& dataStream) +{ + dataStream >> _sampleType; + dataStream >> _dataRepresentation; +} + + +bool GridAxisRecord::operator ==(const GridAxisRecord& rhs) const + { + bool ivarsEqual = true; + + if( ! (_sampleType == rhs._sampleType) ) ivarsEqual = false; + if( ! (_dataRepresentation == rhs._dataRepresentation) ) ivarsEqual = false; + + return ivarsEqual; + } + +int GridAxisRecord::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2; // _sampleType + marshalSize = marshalSize + 2; // _dataRepresentation + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/GridAxisRecord.h b/cpp/DIS/GridAxisRecord.h new file mode 100644 index 00000000..843632cb --- /dev/null +++ b/cpp/DIS/GridAxisRecord.h @@ -0,0 +1,76 @@ +#ifndef GRIDAXISRECORD_H +#define GRIDAXISRECORD_H + +#include +#include + + +namespace DIS +{ +// 5.2.44: Grid data record, a common abstract superclass for several subtypes + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO GridAxisRecord +{ +protected: + /** type of environmental sample */ + unsigned short _sampleType; + + /** value that describes data representation */ + unsigned short _dataRepresentation; + + + public: + GridAxisRecord(); + virtual ~GridAxisRecord(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getSampleType() const; + void setSampleType(unsigned short pX); + + unsigned short getDataRepresentation() const; + void setDataRepresentation(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const GridAxisRecord& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/GridAxisRecordRepresentation0.cpp b/cpp/DIS/GridAxisRecordRepresentation0.cpp new file mode 100644 index 00000000..93694f4b --- /dev/null +++ b/cpp/DIS/GridAxisRecordRepresentation0.cpp @@ -0,0 +1,125 @@ +#include + +using namespace DIS; + + +GridAxisRecordRepresentation0::GridAxisRecordRepresentation0() : GridAxisRecord(), + _numberOfBytes(0) +{ +} + +GridAxisRecordRepresentation0::~GridAxisRecordRepresentation0() +{ + _dataValues.clear(); +} + +unsigned short GridAxisRecordRepresentation0::getNumberOfBytes() const +{ + return _dataValues.size(); +} + +std::vector& GridAxisRecordRepresentation0::getDataValues() +{ + return _dataValues; +} + +const std::vector& GridAxisRecordRepresentation0::getDataValues() const +{ + return _dataValues; +} + +void GridAxisRecordRepresentation0::setDataValues(const std::vector& pX) +{ + _dataValues = pX; +} + +void GridAxisRecordRepresentation0::marshal(DataStream& dataStream) const +{ + GridAxisRecord::marshal(dataStream); // Marshal information in superclass first + dataStream << ( unsigned short )_dataValues.size(); + + for(size_t idx = 0; idx < _dataValues.size(); idx++) + { + OneByteChunk x = _dataValues[idx]; + x.marshal(dataStream); + } + +} + +void GridAxisRecordRepresentation0::unmarshal(DataStream& dataStream) +{ + GridAxisRecord::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _numberOfBytes; + + _dataValues.clear(); + for(size_t idx = 0; idx < _numberOfBytes; idx++) + { + OneByteChunk x; + x.unmarshal(dataStream); + _dataValues.push_back(x); + } +} + + +bool GridAxisRecordRepresentation0::operator ==(const GridAxisRecordRepresentation0& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = GridAxisRecord::operator==(rhs); + + + for(size_t idx = 0; idx < _dataValues.size(); idx++) + { + if( ! ( _dataValues[idx] == rhs._dataValues[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int GridAxisRecordRepresentation0::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = GridAxisRecord::getMarshalledSize(); + marshalSize = marshalSize + 2; // _numberOfBytes + + for(int idx=0; idx < _dataValues.size(); idx++) + { + OneByteChunk listElement = _dataValues[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/GridAxisRecordRepresentation0.h b/cpp/DIS/GridAxisRecordRepresentation0.h new file mode 100644 index 00000000..62d5f150 --- /dev/null +++ b/cpp/DIS/GridAxisRecordRepresentation0.h @@ -0,0 +1,79 @@ +#ifndef GRIDAXISRECORDREPRESENTATION0_H +#define GRIDAXISRECORDREPRESENTATION0_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// 5.2.44: Grid data record, representation 0 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO GridAxisRecordRepresentation0 : public GridAxisRecord +{ +protected: + /** number of bytes of environmental state data */ + unsigned short _numberOfBytes; + + /** variable length list of data parameters ^^^this is wrong--need padding as well */ + std::vector _dataValues; + + + public: + GridAxisRecordRepresentation0(); + virtual ~GridAxisRecordRepresentation0(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getNumberOfBytes() const; + + std::vector& getDataValues(); + const std::vector& getDataValues() const; + void setDataValues(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const GridAxisRecordRepresentation0& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/GridAxisRecordRepresentation1.cpp b/cpp/DIS/GridAxisRecordRepresentation1.cpp new file mode 100644 index 00000000..04971d5e --- /dev/null +++ b/cpp/DIS/GridAxisRecordRepresentation1.cpp @@ -0,0 +1,155 @@ +#include + +using namespace DIS; + + +GridAxisRecordRepresentation1::GridAxisRecordRepresentation1() : GridAxisRecord(), + _fieldScale(0.0), + _fieldOffset(0.0), + _numberOfValues(0) +{ +} + +GridAxisRecordRepresentation1::~GridAxisRecordRepresentation1() +{ + _dataValues.clear(); +} + +float GridAxisRecordRepresentation1::getFieldScale() const +{ + return _fieldScale; +} + +void GridAxisRecordRepresentation1::setFieldScale(float pX) +{ + _fieldScale = pX; +} + +float GridAxisRecordRepresentation1::getFieldOffset() const +{ + return _fieldOffset; +} + +void GridAxisRecordRepresentation1::setFieldOffset(float pX) +{ + _fieldOffset = pX; +} + +unsigned short GridAxisRecordRepresentation1::getNumberOfValues() const +{ + return _dataValues.size(); +} + +std::vector& GridAxisRecordRepresentation1::getDataValues() +{ + return _dataValues; +} + +const std::vector& GridAxisRecordRepresentation1::getDataValues() const +{ + return _dataValues; +} + +void GridAxisRecordRepresentation1::setDataValues(const std::vector& pX) +{ + _dataValues = pX; +} + +void GridAxisRecordRepresentation1::marshal(DataStream& dataStream) const +{ + GridAxisRecord::marshal(dataStream); // Marshal information in superclass first + dataStream << _fieldScale; + dataStream << _fieldOffset; + dataStream << ( unsigned short )_dataValues.size(); + + for(size_t idx = 0; idx < _dataValues.size(); idx++) + { + TwoByteChunk x = _dataValues[idx]; + x.marshal(dataStream); + } + +} + +void GridAxisRecordRepresentation1::unmarshal(DataStream& dataStream) +{ + GridAxisRecord::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _fieldScale; + dataStream >> _fieldOffset; + dataStream >> _numberOfValues; + + _dataValues.clear(); + for(size_t idx = 0; idx < _numberOfValues; idx++) + { + TwoByteChunk x; + x.unmarshal(dataStream); + _dataValues.push_back(x); + } +} + + +bool GridAxisRecordRepresentation1::operator ==(const GridAxisRecordRepresentation1& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = GridAxisRecord::operator==(rhs); + + if( ! (_fieldScale == rhs._fieldScale) ) ivarsEqual = false; + if( ! (_fieldOffset == rhs._fieldOffset) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _dataValues.size(); idx++) + { + if( ! ( _dataValues[idx] == rhs._dataValues[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int GridAxisRecordRepresentation1::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = GridAxisRecord::getMarshalledSize(); + marshalSize = marshalSize + 4; // _fieldScale + marshalSize = marshalSize + 4; // _fieldOffset + marshalSize = marshalSize + 2; // _numberOfValues + + for(int idx=0; idx < _dataValues.size(); idx++) + { + TwoByteChunk listElement = _dataValues[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/GridAxisRecordRepresentation1.h b/cpp/DIS/GridAxisRecordRepresentation1.h new file mode 100644 index 00000000..81c7b92e --- /dev/null +++ b/cpp/DIS/GridAxisRecordRepresentation1.h @@ -0,0 +1,91 @@ +#ifndef GRIDAXISRECORDREPRESENTATION1_H +#define GRIDAXISRECORDREPRESENTATION1_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// 5.2.44: Grid data record, representation 1 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO GridAxisRecordRepresentation1 : public GridAxisRecord +{ +protected: + /** constant scale factor */ + float _fieldScale; + + /** constant offset used to scale grid data */ + float _fieldOffset; + + /** Number of data values */ + unsigned short _numberOfValues; + + /** variable length list of data parameters ^^^this is wrong--need padding as well */ + std::vector _dataValues; + + + public: + GridAxisRecordRepresentation1(); + virtual ~GridAxisRecordRepresentation1(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + float getFieldScale() const; + void setFieldScale(float pX); + + float getFieldOffset() const; + void setFieldOffset(float pX); + + unsigned short getNumberOfValues() const; + + std::vector& getDataValues(); + const std::vector& getDataValues() const; + void setDataValues(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const GridAxisRecordRepresentation1& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/GridAxisRecordRepresentation2.cpp b/cpp/DIS/GridAxisRecordRepresentation2.cpp new file mode 100644 index 00000000..8053333f --- /dev/null +++ b/cpp/DIS/GridAxisRecordRepresentation2.cpp @@ -0,0 +1,125 @@ +#include + +using namespace DIS; + + +GridAxisRecordRepresentation2::GridAxisRecordRepresentation2() : GridAxisRecord(), + _numberOfValues(0) +{ +} + +GridAxisRecordRepresentation2::~GridAxisRecordRepresentation2() +{ + _dataValues.clear(); +} + +unsigned short GridAxisRecordRepresentation2::getNumberOfValues() const +{ + return _dataValues.size(); +} + +std::vector& GridAxisRecordRepresentation2::getDataValues() +{ + return _dataValues; +} + +const std::vector& GridAxisRecordRepresentation2::getDataValues() const +{ + return _dataValues; +} + +void GridAxisRecordRepresentation2::setDataValues(const std::vector& pX) +{ + _dataValues = pX; +} + +void GridAxisRecordRepresentation2::marshal(DataStream& dataStream) const +{ + GridAxisRecord::marshal(dataStream); // Marshal information in superclass first + dataStream << ( unsigned short )_dataValues.size(); + + for(size_t idx = 0; idx < _dataValues.size(); idx++) + { + FourByteChunk x = _dataValues[idx]; + x.marshal(dataStream); + } + +} + +void GridAxisRecordRepresentation2::unmarshal(DataStream& dataStream) +{ + GridAxisRecord::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _numberOfValues; + + _dataValues.clear(); + for(size_t idx = 0; idx < _numberOfValues; idx++) + { + FourByteChunk x; + x.unmarshal(dataStream); + _dataValues.push_back(x); + } +} + + +bool GridAxisRecordRepresentation2::operator ==(const GridAxisRecordRepresentation2& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = GridAxisRecord::operator==(rhs); + + + for(size_t idx = 0; idx < _dataValues.size(); idx++) + { + if( ! ( _dataValues[idx] == rhs._dataValues[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int GridAxisRecordRepresentation2::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = GridAxisRecord::getMarshalledSize(); + marshalSize = marshalSize + 2; // _numberOfValues + + for(int idx=0; idx < _dataValues.size(); idx++) + { + FourByteChunk listElement = _dataValues[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/GridAxisRecordRepresentation2.h b/cpp/DIS/GridAxisRecordRepresentation2.h new file mode 100644 index 00000000..615e9c01 --- /dev/null +++ b/cpp/DIS/GridAxisRecordRepresentation2.h @@ -0,0 +1,79 @@ +#ifndef GRIDAXISRECORDREPRESENTATION2_H +#define GRIDAXISRECORDREPRESENTATION2_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// 5.2.44: Grid data record, representation 1 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO GridAxisRecordRepresentation2 : public GridAxisRecord +{ +protected: + /** number of values */ + unsigned short _numberOfValues; + + /** variable length list of data parameters ^^^this is wrong--need padding as well */ + std::vector _dataValues; + + + public: + GridAxisRecordRepresentation2(); + virtual ~GridAxisRecordRepresentation2(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getNumberOfValues() const; + + std::vector& getDataValues(); + const std::vector& getDataValues() const; + void setDataValues(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const GridAxisRecordRepresentation2& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/GriddedDataPdu.cpp b/cpp/DIS/GriddedDataPdu.cpp new file mode 100644 index 00000000..6f60d6ef --- /dev/null +++ b/cpp/DIS/GriddedDataPdu.cpp @@ -0,0 +1,336 @@ +#include + +using namespace DIS; + + +GriddedDataPdu::GriddedDataPdu() : SyntheticEnvironmentFamilyPdu(), + _environmentalSimulationApplicationID(), + _fieldNumber(0), + _pduNumber(0), + _pduTotal(0), + _coordinateSystem(0), + _numberOfGridAxes(0), + _constantGrid(0), + _environmentType(), + _orientation(), + _sampleTime(0), + _totalValues(0), + _vectorDimension(0), + _padding1(0), + _padding2(0) +{ + setPduType( 42 ); +} + +GriddedDataPdu::~GriddedDataPdu() +{ + _gridDataList.clear(); +} + +EntityID& GriddedDataPdu::getEnvironmentalSimulationApplicationID() +{ + return _environmentalSimulationApplicationID; +} + +const EntityID& GriddedDataPdu::getEnvironmentalSimulationApplicationID() const +{ + return _environmentalSimulationApplicationID; +} + +void GriddedDataPdu::setEnvironmentalSimulationApplicationID(const EntityID &pX) +{ + _environmentalSimulationApplicationID = pX; +} + +unsigned short GriddedDataPdu::getFieldNumber() const +{ + return _fieldNumber; +} + +void GriddedDataPdu::setFieldNumber(unsigned short pX) +{ + _fieldNumber = pX; +} + +unsigned short GriddedDataPdu::getPduNumber() const +{ + return _pduNumber; +} + +void GriddedDataPdu::setPduNumber(unsigned short pX) +{ + _pduNumber = pX; +} + +unsigned short GriddedDataPdu::getPduTotal() const +{ + return _pduTotal; +} + +void GriddedDataPdu::setPduTotal(unsigned short pX) +{ + _pduTotal = pX; +} + +unsigned short GriddedDataPdu::getCoordinateSystem() const +{ + return _coordinateSystem; +} + +void GriddedDataPdu::setCoordinateSystem(unsigned short pX) +{ + _coordinateSystem = pX; +} + +unsigned char GriddedDataPdu::getNumberOfGridAxes() const +{ + return _gridDataList.size(); +} + +unsigned char GriddedDataPdu::getConstantGrid() const +{ + return _constantGrid; +} + +void GriddedDataPdu::setConstantGrid(unsigned char pX) +{ + _constantGrid = pX; +} + +EntityType& GriddedDataPdu::getEnvironmentType() +{ + return _environmentType; +} + +const EntityType& GriddedDataPdu::getEnvironmentType() const +{ + return _environmentType; +} + +void GriddedDataPdu::setEnvironmentType(const EntityType &pX) +{ + _environmentType = pX; +} + +Orientation& GriddedDataPdu::getOrientation() +{ + return _orientation; +} + +const Orientation& GriddedDataPdu::getOrientation() const +{ + return _orientation; +} + +void GriddedDataPdu::setOrientation(const Orientation &pX) +{ + _orientation = pX; +} + +long GriddedDataPdu::getSampleTime() const +{ + return _sampleTime; +} + +void GriddedDataPdu::setSampleTime(long pX) +{ + _sampleTime = pX; +} + +unsigned int GriddedDataPdu::getTotalValues() const +{ + return _totalValues; +} + +void GriddedDataPdu::setTotalValues(unsigned int pX) +{ + _totalValues = pX; +} + +unsigned char GriddedDataPdu::getVectorDimension() const +{ + return _vectorDimension; +} + +void GriddedDataPdu::setVectorDimension(unsigned char pX) +{ + _vectorDimension = pX; +} + +unsigned short GriddedDataPdu::getPadding1() const +{ + return _padding1; +} + +void GriddedDataPdu::setPadding1(unsigned short pX) +{ + _padding1 = pX; +} + +unsigned char GriddedDataPdu::getPadding2() const +{ + return _padding2; +} + +void GriddedDataPdu::setPadding2(unsigned char pX) +{ + _padding2 = pX; +} + +std::vector& GriddedDataPdu::getGridDataList() +{ + return _gridDataList; +} + +const std::vector& GriddedDataPdu::getGridDataList() const +{ + return _gridDataList; +} + +void GriddedDataPdu::setGridDataList(const std::vector& pX) +{ + _gridDataList = pX; +} + +void GriddedDataPdu::marshal(DataStream& dataStream) const +{ + SyntheticEnvironmentFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _environmentalSimulationApplicationID.marshal(dataStream); + dataStream << _fieldNumber; + dataStream << _pduNumber; + dataStream << _pduTotal; + dataStream << _coordinateSystem; + dataStream << ( unsigned char )_gridDataList.size(); + dataStream << _constantGrid; + _environmentType.marshal(dataStream); + _orientation.marshal(dataStream); + dataStream << _sampleTime; + dataStream << _totalValues; + dataStream << _vectorDimension; + dataStream << _padding1; + dataStream << _padding2; + + for(size_t idx = 0; idx < _gridDataList.size(); idx++) + { + GridAxisRecord x = _gridDataList[idx]; + x.marshal(dataStream); + } + +} + +void GriddedDataPdu::unmarshal(DataStream& dataStream) +{ + SyntheticEnvironmentFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _environmentalSimulationApplicationID.unmarshal(dataStream); + dataStream >> _fieldNumber; + dataStream >> _pduNumber; + dataStream >> _pduTotal; + dataStream >> _coordinateSystem; + dataStream >> _numberOfGridAxes; + dataStream >> _constantGrid; + _environmentType.unmarshal(dataStream); + _orientation.unmarshal(dataStream); + dataStream >> _sampleTime; + dataStream >> _totalValues; + dataStream >> _vectorDimension; + dataStream >> _padding1; + dataStream >> _padding2; + + _gridDataList.clear(); + for(size_t idx = 0; idx < _numberOfGridAxes; idx++) + { + GridAxisRecord x; + x.unmarshal(dataStream); + _gridDataList.push_back(x); + } +} + + +bool GriddedDataPdu::operator ==(const GriddedDataPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SyntheticEnvironmentFamilyPdu::operator==(rhs); + + if( ! (_environmentalSimulationApplicationID == rhs._environmentalSimulationApplicationID) ) ivarsEqual = false; + if( ! (_fieldNumber == rhs._fieldNumber) ) ivarsEqual = false; + if( ! (_pduNumber == rhs._pduNumber) ) ivarsEqual = false; + if( ! (_pduTotal == rhs._pduTotal) ) ivarsEqual = false; + if( ! (_coordinateSystem == rhs._coordinateSystem) ) ivarsEqual = false; + if( ! (_constantGrid == rhs._constantGrid) ) ivarsEqual = false; + if( ! (_environmentType == rhs._environmentType) ) ivarsEqual = false; + if( ! (_orientation == rhs._orientation) ) ivarsEqual = false; + if( ! (_sampleTime == rhs._sampleTime) ) ivarsEqual = false; + if( ! (_totalValues == rhs._totalValues) ) ivarsEqual = false; + if( ! (_vectorDimension == rhs._vectorDimension) ) ivarsEqual = false; + if( ! (_padding1 == rhs._padding1) ) ivarsEqual = false; + if( ! (_padding2 == rhs._padding2) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _gridDataList.size(); idx++) + { + if( ! ( _gridDataList[idx] == rhs._gridDataList[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int GriddedDataPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SyntheticEnvironmentFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _environmentalSimulationApplicationID.getMarshalledSize(); // _environmentalSimulationApplicationID + marshalSize = marshalSize + 2; // _fieldNumber + marshalSize = marshalSize + 2; // _pduNumber + marshalSize = marshalSize + 2; // _pduTotal + marshalSize = marshalSize + 2; // _coordinateSystem + marshalSize = marshalSize + 1; // _numberOfGridAxes + marshalSize = marshalSize + 1; // _constantGrid + marshalSize = marshalSize + _environmentType.getMarshalledSize(); // _environmentType + marshalSize = marshalSize + _orientation.getMarshalledSize(); // _orientation + marshalSize = marshalSize + 8; // _sampleTime + marshalSize = marshalSize + 4; // _totalValues + marshalSize = marshalSize + 1; // _vectorDimension + marshalSize = marshalSize + 2; // _padding1 + marshalSize = marshalSize + 1; // _padding2 + + for(int idx=0; idx < _gridDataList.size(); idx++) + { + GridAxisRecord listElement = _gridDataList[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/GriddedDataPdu.h b/cpp/DIS/GriddedDataPdu.h new file mode 100644 index 00000000..2f61c3a6 --- /dev/null +++ b/cpp/DIS/GriddedDataPdu.h @@ -0,0 +1,163 @@ +#ifndef GRIDDEDDATAPDU_H +#define GRIDDEDDATAPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.11.2: Information about globat, spatially varying enviornmental effects. This requires manual cleanup; the grid axis records are variable sized. UNFINISHED + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO GriddedDataPdu : public SyntheticEnvironmentFamilyPdu +{ +protected: + /** environmental simulation application ID */ + EntityID _environmentalSimulationApplicationID; + + /** unique identifier for each piece of enviornmental data */ + unsigned short _fieldNumber; + + /** sequence number for the total set of PDUS used to transmit the data */ + unsigned short _pduNumber; + + /** Total number of PDUS used to transmit the data */ + unsigned short _pduTotal; + + /** coordinate system of the grid */ + unsigned short _coordinateSystem; + + /** number of grid axes for the environmental data */ + unsigned char _numberOfGridAxes; + + /** are domain grid axes identidal to those of the priveious domain update? */ + unsigned char _constantGrid; + + /** type of environment */ + EntityType _environmentType; + + /** orientation of the data grid */ + Orientation _orientation; + + /** valid time of the enviormental data sample, 64 bit unsigned int */ + long _sampleTime; + + /** total number of all data values for all pdus for an environmental sample */ + unsigned int _totalValues; + + /** total number of data values at each grid point. */ + unsigned char _vectorDimension; + + /** padding */ + unsigned short _padding1; + + /** padding */ + unsigned char _padding2; + + /** Grid data ^^^This is wrong */ + std::vector _gridDataList; + + + public: + GriddedDataPdu(); + virtual ~GriddedDataPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getEnvironmentalSimulationApplicationID(); + const EntityID& getEnvironmentalSimulationApplicationID() const; + void setEnvironmentalSimulationApplicationID(const EntityID &pX); + + unsigned short getFieldNumber() const; + void setFieldNumber(unsigned short pX); + + unsigned short getPduNumber() const; + void setPduNumber(unsigned short pX); + + unsigned short getPduTotal() const; + void setPduTotal(unsigned short pX); + + unsigned short getCoordinateSystem() const; + void setCoordinateSystem(unsigned short pX); + + unsigned char getNumberOfGridAxes() const; + + unsigned char getConstantGrid() const; + void setConstantGrid(unsigned char pX); + + EntityType& getEnvironmentType(); + const EntityType& getEnvironmentType() const; + void setEnvironmentType(const EntityType &pX); + + Orientation& getOrientation(); + const Orientation& getOrientation() const; + void setOrientation(const Orientation &pX); + + long getSampleTime() const; + void setSampleTime(long pX); + + unsigned int getTotalValues() const; + void setTotalValues(unsigned int pX); + + unsigned char getVectorDimension() const; + void setVectorDimension(unsigned char pX); + + unsigned short getPadding1() const; + void setPadding1(unsigned short pX); + + unsigned char getPadding2() const; + void setPadding2(unsigned char pX); + + std::vector& getGridDataList(); + const std::vector& getGridDataList() const; + void setGridDataList(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const GriddedDataPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/IffAtcNavAidsLayer1Pdu.cpp b/cpp/DIS/IffAtcNavAidsLayer1Pdu.cpp new file mode 100644 index 00000000..b0f97749 --- /dev/null +++ b/cpp/DIS/IffAtcNavAidsLayer1Pdu.cpp @@ -0,0 +1,188 @@ +#include + +using namespace DIS; + + +IffAtcNavAidsLayer1Pdu::IffAtcNavAidsLayer1Pdu() : DistributedEmissionsFamilyPdu(), + _emittingEntityId(), + _eventID(), + _location(), + _systemID(), + _pad2(0), + _fundamentalParameters() +{ + setPduType( 28 ); +} + +IffAtcNavAidsLayer1Pdu::~IffAtcNavAidsLayer1Pdu() +{ +} + +EntityID& IffAtcNavAidsLayer1Pdu::getEmittingEntityId() +{ + return _emittingEntityId; +} + +const EntityID& IffAtcNavAidsLayer1Pdu::getEmittingEntityId() const +{ + return _emittingEntityId; +} + +void IffAtcNavAidsLayer1Pdu::setEmittingEntityId(const EntityID &pX) +{ + _emittingEntityId = pX; +} + +EventID& IffAtcNavAidsLayer1Pdu::getEventID() +{ + return _eventID; +} + +const EventID& IffAtcNavAidsLayer1Pdu::getEventID() const +{ + return _eventID; +} + +void IffAtcNavAidsLayer1Pdu::setEventID(const EventID &pX) +{ + _eventID = pX; +} + +Vector3Float& IffAtcNavAidsLayer1Pdu::getLocation() +{ + return _location; +} + +const Vector3Float& IffAtcNavAidsLayer1Pdu::getLocation() const +{ + return _location; +} + +void IffAtcNavAidsLayer1Pdu::setLocation(const Vector3Float &pX) +{ + _location = pX; +} + +SystemID& IffAtcNavAidsLayer1Pdu::getSystemID() +{ + return _systemID; +} + +const SystemID& IffAtcNavAidsLayer1Pdu::getSystemID() const +{ + return _systemID; +} + +void IffAtcNavAidsLayer1Pdu::setSystemID(const SystemID &pX) +{ + _systemID = pX; +} + +unsigned short IffAtcNavAidsLayer1Pdu::getPad2() const +{ + return _pad2; +} + +void IffAtcNavAidsLayer1Pdu::setPad2(unsigned short pX) +{ + _pad2 = pX; +} + +IffFundamentalData& IffAtcNavAidsLayer1Pdu::getFundamentalParameters() +{ + return _fundamentalParameters; +} + +const IffFundamentalData& IffAtcNavAidsLayer1Pdu::getFundamentalParameters() const +{ + return _fundamentalParameters; +} + +void IffAtcNavAidsLayer1Pdu::setFundamentalParameters(const IffFundamentalData &pX) +{ + _fundamentalParameters = pX; +} + +void IffAtcNavAidsLayer1Pdu::marshal(DataStream& dataStream) const +{ + DistributedEmissionsFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _emittingEntityId.marshal(dataStream); + _eventID.marshal(dataStream); + _location.marshal(dataStream); + _systemID.marshal(dataStream); + dataStream << _pad2; + _fundamentalParameters.marshal(dataStream); +} + +void IffAtcNavAidsLayer1Pdu::unmarshal(DataStream& dataStream) +{ + DistributedEmissionsFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _emittingEntityId.unmarshal(dataStream); + _eventID.unmarshal(dataStream); + _location.unmarshal(dataStream); + _systemID.unmarshal(dataStream); + dataStream >> _pad2; + _fundamentalParameters.unmarshal(dataStream); +} + + +bool IffAtcNavAidsLayer1Pdu::operator ==(const IffAtcNavAidsLayer1Pdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = DistributedEmissionsFamilyPdu::operator==(rhs); + + if( ! (_emittingEntityId == rhs._emittingEntityId) ) ivarsEqual = false; + if( ! (_eventID == rhs._eventID) ) ivarsEqual = false; + if( ! (_location == rhs._location) ) ivarsEqual = false; + if( ! (_systemID == rhs._systemID) ) ivarsEqual = false; + if( ! (_pad2 == rhs._pad2) ) ivarsEqual = false; + if( ! (_fundamentalParameters == rhs._fundamentalParameters) ) ivarsEqual = false; + + return ivarsEqual; + } + +int IffAtcNavAidsLayer1Pdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = DistributedEmissionsFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _emittingEntityId.getMarshalledSize(); // _emittingEntityId + marshalSize = marshalSize + _eventID.getMarshalledSize(); // _eventID + marshalSize = marshalSize + _location.getMarshalledSize(); // _location + marshalSize = marshalSize + _systemID.getMarshalledSize(); // _systemID + marshalSize = marshalSize + 2; // _pad2 + marshalSize = marshalSize + _fundamentalParameters.getMarshalledSize(); // _fundamentalParameters + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/IffAtcNavAidsLayer1Pdu.h b/cpp/DIS/IffAtcNavAidsLayer1Pdu.h new file mode 100644 index 00000000..b06193d8 --- /dev/null +++ b/cpp/DIS/IffAtcNavAidsLayer1Pdu.h @@ -0,0 +1,111 @@ +#ifndef IFFATCNAVAIDSLAYER1PDU_H +#define IFFATCNAVAIDSLAYER1PDU_H + +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// 5.3.7.4.1: Navigational and IFF PDU. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO IffAtcNavAidsLayer1Pdu : public DistributedEmissionsFamilyPdu +{ +protected: + /** ID of the entity that is the source of the emissions */ + EntityID _emittingEntityId; + + /** Number generated by the issuing simulation to associate realted events. */ + EventID _eventID; + + /** Location wrt entity. There is some ambugiuity in the standard here, but this is the order it is listed in the table. */ + Vector3Float _location; + + /** System ID information */ + SystemID _systemID; + + /** padding */ + unsigned short _pad2; + + /** fundamental parameters */ + IffFundamentalData _fundamentalParameters; + + + public: + IffAtcNavAidsLayer1Pdu(); + virtual ~IffAtcNavAidsLayer1Pdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getEmittingEntityId(); + const EntityID& getEmittingEntityId() const; + void setEmittingEntityId(const EntityID &pX); + + EventID& getEventID(); + const EventID& getEventID() const; + void setEventID(const EventID &pX); + + Vector3Float& getLocation(); + const Vector3Float& getLocation() const; + void setLocation(const Vector3Float &pX); + + SystemID& getSystemID(); + const SystemID& getSystemID() const; + void setSystemID(const SystemID &pX); + + unsigned short getPad2() const; + void setPad2(unsigned short pX); + + IffFundamentalData& getFundamentalParameters(); + const IffFundamentalData& getFundamentalParameters() const; + void setFundamentalParameters(const IffFundamentalData &pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const IffAtcNavAidsLayer1Pdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/IffAtcNavAidsLayer2Pdu.cpp b/cpp/DIS/IffAtcNavAidsLayer2Pdu.cpp new file mode 100644 index 00000000..ae247585 --- /dev/null +++ b/cpp/DIS/IffAtcNavAidsLayer2Pdu.cpp @@ -0,0 +1,176 @@ +#include + +using namespace DIS; + + +IffAtcNavAidsLayer2Pdu::IffAtcNavAidsLayer2Pdu() : IffAtcNavAidsLayer1Pdu(), + _layerHeader(), + _beamData(), + _secondaryOperationalData() +{ +} + +IffAtcNavAidsLayer2Pdu::~IffAtcNavAidsLayer2Pdu() +{ + _fundamentalIffParameters.clear(); +} + +LayerHeader& IffAtcNavAidsLayer2Pdu::getLayerHeader() +{ + return _layerHeader; +} + +const LayerHeader& IffAtcNavAidsLayer2Pdu::getLayerHeader() const +{ + return _layerHeader; +} + +void IffAtcNavAidsLayer2Pdu::setLayerHeader(const LayerHeader &pX) +{ + _layerHeader = pX; +} + +BeamData& IffAtcNavAidsLayer2Pdu::getBeamData() +{ + return _beamData; +} + +const BeamData& IffAtcNavAidsLayer2Pdu::getBeamData() const +{ + return _beamData; +} + +void IffAtcNavAidsLayer2Pdu::setBeamData(const BeamData &pX) +{ + _beamData = pX; +} + +BeamData& IffAtcNavAidsLayer2Pdu::getSecondaryOperationalData() +{ + return _secondaryOperationalData; +} + +const BeamData& IffAtcNavAidsLayer2Pdu::getSecondaryOperationalData() const +{ + return _secondaryOperationalData; +} + +void IffAtcNavAidsLayer2Pdu::setSecondaryOperationalData(const BeamData &pX) +{ + _secondaryOperationalData = pX; +} + +std::vector& IffAtcNavAidsLayer2Pdu::getFundamentalIffParameters() +{ + return _fundamentalIffParameters; +} + +const std::vector& IffAtcNavAidsLayer2Pdu::getFundamentalIffParameters() const +{ + return _fundamentalIffParameters; +} + +void IffAtcNavAidsLayer2Pdu::setFundamentalIffParameters(const std::vector& pX) +{ + _fundamentalIffParameters = pX; +} + +void IffAtcNavAidsLayer2Pdu::marshal(DataStream& dataStream) const +{ + IffAtcNavAidsLayer1Pdu::marshal(dataStream); // Marshal information in superclass first + _layerHeader.marshal(dataStream); + _beamData.marshal(dataStream); + _secondaryOperationalData.marshal(dataStream); + + for(size_t idx = 0; idx < _fundamentalIffParameters.size(); idx++) + { + FundamentalParameterDataIff x = _fundamentalIffParameters[idx]; + x.marshal(dataStream); + } + +} + +void IffAtcNavAidsLayer2Pdu::unmarshal(DataStream& dataStream) +{ + IffAtcNavAidsLayer1Pdu::unmarshal(dataStream); // unmarshal information in superclass first + _layerHeader.unmarshal(dataStream); + _beamData.unmarshal(dataStream); + _secondaryOperationalData.unmarshal(dataStream); + + _fundamentalIffParameters.clear(); + for(size_t idx = 0; idx < _pad2; idx++) + { + FundamentalParameterDataIff x; + x.unmarshal(dataStream); + _fundamentalIffParameters.push_back(x); + } +} + + +bool IffAtcNavAidsLayer2Pdu::operator ==(const IffAtcNavAidsLayer2Pdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = IffAtcNavAidsLayer1Pdu::operator==(rhs); + + if( ! (_layerHeader == rhs._layerHeader) ) ivarsEqual = false; + if( ! (_beamData == rhs._beamData) ) ivarsEqual = false; + if( ! (_secondaryOperationalData == rhs._secondaryOperationalData) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _fundamentalIffParameters.size(); idx++) + { + if( ! ( _fundamentalIffParameters[idx] == rhs._fundamentalIffParameters[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int IffAtcNavAidsLayer2Pdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = IffAtcNavAidsLayer1Pdu::getMarshalledSize(); + marshalSize = marshalSize + _layerHeader.getMarshalledSize(); // _layerHeader + marshalSize = marshalSize + _beamData.getMarshalledSize(); // _beamData + marshalSize = marshalSize + _secondaryOperationalData.getMarshalledSize(); // _secondaryOperationalData + + for(int idx=0; idx < _fundamentalIffParameters.size(); idx++) + { + FundamentalParameterDataIff listElement = _fundamentalIffParameters[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/IffAtcNavAidsLayer2Pdu.h b/cpp/DIS/IffAtcNavAidsLayer2Pdu.h new file mode 100644 index 00000000..315e35e2 --- /dev/null +++ b/cpp/DIS/IffAtcNavAidsLayer2Pdu.h @@ -0,0 +1,98 @@ +#ifndef IFFATCNAVAIDSLAYER2PDU_H +#define IFFATCNAVAIDSLAYER2PDU_H + +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.7.4.2 When present, layer 2 should follow layer 1 and have the following fields. This requires manual cleanup. the beamData attribute semantics are used in multiple ways. UNFINSISHED + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO IffAtcNavAidsLayer2Pdu : public IffAtcNavAidsLayer1Pdu +{ +protected: + /** layer header */ + LayerHeader _layerHeader; + + /** beam data */ + BeamData _beamData; + + /** Secondary operational data, 5.2.57 */ + BeamData _secondaryOperationalData; + + /** variable length list of fundamental parameters. ^^^This is wrong */ + std::vector _fundamentalIffParameters; + + + public: + IffAtcNavAidsLayer2Pdu(); + virtual ~IffAtcNavAidsLayer2Pdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + LayerHeader& getLayerHeader(); + const LayerHeader& getLayerHeader() const; + void setLayerHeader(const LayerHeader &pX); + + BeamData& getBeamData(); + const BeamData& getBeamData() const; + void setBeamData(const BeamData &pX); + + BeamData& getSecondaryOperationalData(); + const BeamData& getSecondaryOperationalData() const; + void setSecondaryOperationalData(const BeamData &pX); + + std::vector& getFundamentalIffParameters(); + const std::vector& getFundamentalIffParameters() const; + void setFundamentalIffParameters(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const IffAtcNavAidsLayer2Pdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/IffFundamentalData.cpp b/cpp/DIS/IffFundamentalData.cpp new file mode 100644 index 00000000..faeedbb8 --- /dev/null +++ b/cpp/DIS/IffFundamentalData.cpp @@ -0,0 +1,217 @@ +#include + +using namespace DIS; + + +IffFundamentalData::IffFundamentalData(): + _systemStatus(0), + _alternateParameter4(0), + _informationLayers(0), + _modifier(0), + _parameter1(0), + _parameter2(0), + _parameter3(0), + _parameter4(0), + _parameter5(0), + _parameter6(0) +{ +} + +IffFundamentalData::~IffFundamentalData() +{ +} + +unsigned char IffFundamentalData::getSystemStatus() const +{ + return _systemStatus; +} + +void IffFundamentalData::setSystemStatus(unsigned char pX) +{ + _systemStatus = pX; +} + +unsigned char IffFundamentalData::getAlternateParameter4() const +{ + return _alternateParameter4; +} + +void IffFundamentalData::setAlternateParameter4(unsigned char pX) +{ + _alternateParameter4 = pX; +} + +unsigned char IffFundamentalData::getInformationLayers() const +{ + return _informationLayers; +} + +void IffFundamentalData::setInformationLayers(unsigned char pX) +{ + _informationLayers = pX; +} + +unsigned char IffFundamentalData::getModifier() const +{ + return _modifier; +} + +void IffFundamentalData::setModifier(unsigned char pX) +{ + _modifier = pX; +} + +unsigned short IffFundamentalData::getParameter1() const +{ + return _parameter1; +} + +void IffFundamentalData::setParameter1(unsigned short pX) +{ + _parameter1 = pX; +} + +unsigned short IffFundamentalData::getParameter2() const +{ + return _parameter2; +} + +void IffFundamentalData::setParameter2(unsigned short pX) +{ + _parameter2 = pX; +} + +unsigned short IffFundamentalData::getParameter3() const +{ + return _parameter3; +} + +void IffFundamentalData::setParameter3(unsigned short pX) +{ + _parameter3 = pX; +} + +unsigned short IffFundamentalData::getParameter4() const +{ + return _parameter4; +} + +void IffFundamentalData::setParameter4(unsigned short pX) +{ + _parameter4 = pX; +} + +unsigned short IffFundamentalData::getParameter5() const +{ + return _parameter5; +} + +void IffFundamentalData::setParameter5(unsigned short pX) +{ + _parameter5 = pX; +} + +unsigned short IffFundamentalData::getParameter6() const +{ + return _parameter6; +} + +void IffFundamentalData::setParameter6(unsigned short pX) +{ + _parameter6 = pX; +} + +void IffFundamentalData::marshal(DataStream& dataStream) const +{ + dataStream << _systemStatus; + dataStream << _alternateParameter4; + dataStream << _informationLayers; + dataStream << _modifier; + dataStream << _parameter1; + dataStream << _parameter2; + dataStream << _parameter3; + dataStream << _parameter4; + dataStream << _parameter5; + dataStream << _parameter6; +} + +void IffFundamentalData::unmarshal(DataStream& dataStream) +{ + dataStream >> _systemStatus; + dataStream >> _alternateParameter4; + dataStream >> _informationLayers; + dataStream >> _modifier; + dataStream >> _parameter1; + dataStream >> _parameter2; + dataStream >> _parameter3; + dataStream >> _parameter4; + dataStream >> _parameter5; + dataStream >> _parameter6; +} + + +bool IffFundamentalData::operator ==(const IffFundamentalData& rhs) const + { + bool ivarsEqual = true; + + if( ! (_systemStatus == rhs._systemStatus) ) ivarsEqual = false; + if( ! (_alternateParameter4 == rhs._alternateParameter4) ) ivarsEqual = false; + if( ! (_informationLayers == rhs._informationLayers) ) ivarsEqual = false; + if( ! (_modifier == rhs._modifier) ) ivarsEqual = false; + if( ! (_parameter1 == rhs._parameter1) ) ivarsEqual = false; + if( ! (_parameter2 == rhs._parameter2) ) ivarsEqual = false; + if( ! (_parameter3 == rhs._parameter3) ) ivarsEqual = false; + if( ! (_parameter4 == rhs._parameter4) ) ivarsEqual = false; + if( ! (_parameter5 == rhs._parameter5) ) ivarsEqual = false; + if( ! (_parameter6 == rhs._parameter6) ) ivarsEqual = false; + + return ivarsEqual; + } + +int IffFundamentalData::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _systemStatus + marshalSize = marshalSize + 1; // _alternateParameter4 + marshalSize = marshalSize + 1; // _informationLayers + marshalSize = marshalSize + 1; // _modifier + marshalSize = marshalSize + 2; // _parameter1 + marshalSize = marshalSize + 2; // _parameter2 + marshalSize = marshalSize + 2; // _parameter3 + marshalSize = marshalSize + 2; // _parameter4 + marshalSize = marshalSize + 2; // _parameter5 + marshalSize = marshalSize + 2; // _parameter6 + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/IffFundamentalData.h b/cpp/DIS/IffFundamentalData.h new file mode 100644 index 00000000..c6605211 --- /dev/null +++ b/cpp/DIS/IffFundamentalData.h @@ -0,0 +1,124 @@ +#ifndef IFFFUNDAMENTALDATA_H +#define IFFFUNDAMENTALDATA_H + +#include +#include + + +namespace DIS +{ +// 5.2.42. Basic operational data ofr IFF ATC NAVAIDS + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO IffFundamentalData +{ +protected: + /** system status */ + unsigned char _systemStatus; + + /** Alternate parameter 4 */ + unsigned char _alternateParameter4; + + /** eight boolean fields */ + unsigned char _informationLayers; + + /** enumeration */ + unsigned char _modifier; + + /** parameter, enumeration */ + unsigned short _parameter1; + + /** parameter, enumeration */ + unsigned short _parameter2; + + /** parameter, enumeration */ + unsigned short _parameter3; + + /** parameter, enumeration */ + unsigned short _parameter4; + + /** parameter, enumeration */ + unsigned short _parameter5; + + /** parameter, enumeration */ + unsigned short _parameter6; + + + public: + IffFundamentalData(); + virtual ~IffFundamentalData(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getSystemStatus() const; + void setSystemStatus(unsigned char pX); + + unsigned char getAlternateParameter4() const; + void setAlternateParameter4(unsigned char pX); + + unsigned char getInformationLayers() const; + void setInformationLayers(unsigned char pX); + + unsigned char getModifier() const; + void setModifier(unsigned char pX); + + unsigned short getParameter1() const; + void setParameter1(unsigned short pX); + + unsigned short getParameter2() const; + void setParameter2(unsigned short pX); + + unsigned short getParameter3() const; + void setParameter3(unsigned short pX); + + unsigned short getParameter4() const; + void setParameter4(unsigned short pX); + + unsigned short getParameter5() const; + void setParameter5(unsigned short pX); + + unsigned short getParameter6() const; + void setParameter6(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const IffFundamentalData& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/IntercomCommunicationsParameters.cpp b/cpp/DIS/IntercomCommunicationsParameters.cpp new file mode 100644 index 00000000..8161c064 --- /dev/null +++ b/cpp/DIS/IntercomCommunicationsParameters.cpp @@ -0,0 +1,112 @@ +#include + +using namespace DIS; + + +IntercomCommunicationsParameters::IntercomCommunicationsParameters(): + _recordType(0), + _recordLength(0), + _recordSpecificField(0) +{ +} + +IntercomCommunicationsParameters::~IntercomCommunicationsParameters() +{ +} + +unsigned short IntercomCommunicationsParameters::getRecordType() const +{ + return _recordType; +} + +void IntercomCommunicationsParameters::setRecordType(unsigned short pX) +{ + _recordType = pX; +} + +unsigned short IntercomCommunicationsParameters::getRecordLength() const +{ + return _recordLength; +} + +void IntercomCommunicationsParameters::setRecordLength(unsigned short pX) +{ + _recordLength = pX; +} + +unsigned int IntercomCommunicationsParameters::getRecordSpecificField() const +{ + return _recordSpecificField; +} + +void IntercomCommunicationsParameters::setRecordSpecificField(unsigned int pX) +{ + _recordSpecificField = pX; +} + +void IntercomCommunicationsParameters::marshal(DataStream& dataStream) const +{ + dataStream << _recordType; + dataStream << _recordLength; + dataStream << _recordSpecificField; +} + +void IntercomCommunicationsParameters::unmarshal(DataStream& dataStream) +{ + dataStream >> _recordType; + dataStream >> _recordLength; + dataStream >> _recordSpecificField; +} + + +bool IntercomCommunicationsParameters::operator ==(const IntercomCommunicationsParameters& rhs) const + { + bool ivarsEqual = true; + + if( ! (_recordType == rhs._recordType) ) ivarsEqual = false; + if( ! (_recordLength == rhs._recordLength) ) ivarsEqual = false; + if( ! (_recordSpecificField == rhs._recordSpecificField) ) ivarsEqual = false; + + return ivarsEqual; + } + +int IntercomCommunicationsParameters::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2; // _recordType + marshalSize = marshalSize + 2; // _recordLength + marshalSize = marshalSize + 4; // _recordSpecificField + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/IntercomCommunicationsParameters.h b/cpp/DIS/IntercomCommunicationsParameters.h new file mode 100644 index 00000000..f1723168 --- /dev/null +++ b/cpp/DIS/IntercomCommunicationsParameters.h @@ -0,0 +1,82 @@ +#ifndef INTERCOMCOMMUNICATIONSPARAMETERS_H +#define INTERCOMCOMMUNICATIONSPARAMETERS_H + +#include +#include + + +namespace DIS +{ +// 5.2.46. Intercom communcations parameters + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO IntercomCommunicationsParameters +{ +protected: + /** Type of intercom parameters record */ + unsigned short _recordType; + + /** length of record */ + unsigned short _recordLength; + + /** Jerks. Looks like the committee is forcing a lookup of the record type parameter to find out how long the field is. This is a placeholder. */ + unsigned int _recordSpecificField; + + + public: + IntercomCommunicationsParameters(); + virtual ~IntercomCommunicationsParameters(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getRecordType() const; + void setRecordType(unsigned short pX); + + unsigned short getRecordLength() const; + void setRecordLength(unsigned short pX); + + unsigned int getRecordSpecificField() const; + void setRecordSpecificField(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const IntercomCommunicationsParameters& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/IntercomControlPdu.cpp b/cpp/DIS/IntercomControlPdu.cpp new file mode 100644 index 00000000..b169e849 --- /dev/null +++ b/cpp/DIS/IntercomControlPdu.cpp @@ -0,0 +1,286 @@ +#include + +using namespace DIS; + + +IntercomControlPdu::IntercomControlPdu() : RadioCommunicationsFamilyPdu(), + _controlType(0), + _communicationsChannelType(0), + _sourceEntityID(), + _sourceCommunicationsDeviceID(0), + _sourceLineID(0), + _transmitPriority(0), + _transmitLineState(0), + _command(0), + _masterEntityID(), + _masterCommunicationsDeviceID(0), + _intercomParametersLength(0) +{ + setPduType( 32 ); +} + +IntercomControlPdu::~IntercomControlPdu() +{ + _intercomParameters.clear(); +} + +unsigned char IntercomControlPdu::getControlType() const +{ + return _controlType; +} + +void IntercomControlPdu::setControlType(unsigned char pX) +{ + _controlType = pX; +} + +unsigned char IntercomControlPdu::getCommunicationsChannelType() const +{ + return _communicationsChannelType; +} + +void IntercomControlPdu::setCommunicationsChannelType(unsigned char pX) +{ + _communicationsChannelType = pX; +} + +EntityID& IntercomControlPdu::getSourceEntityID() +{ + return _sourceEntityID; +} + +const EntityID& IntercomControlPdu::getSourceEntityID() const +{ + return _sourceEntityID; +} + +void IntercomControlPdu::setSourceEntityID(const EntityID &pX) +{ + _sourceEntityID = pX; +} + +unsigned char IntercomControlPdu::getSourceCommunicationsDeviceID() const +{ + return _sourceCommunicationsDeviceID; +} + +void IntercomControlPdu::setSourceCommunicationsDeviceID(unsigned char pX) +{ + _sourceCommunicationsDeviceID = pX; +} + +unsigned char IntercomControlPdu::getSourceLineID() const +{ + return _sourceLineID; +} + +void IntercomControlPdu::setSourceLineID(unsigned char pX) +{ + _sourceLineID = pX; +} + +unsigned char IntercomControlPdu::getTransmitPriority() const +{ + return _transmitPriority; +} + +void IntercomControlPdu::setTransmitPriority(unsigned char pX) +{ + _transmitPriority = pX; +} + +unsigned char IntercomControlPdu::getTransmitLineState() const +{ + return _transmitLineState; +} + +void IntercomControlPdu::setTransmitLineState(unsigned char pX) +{ + _transmitLineState = pX; +} + +unsigned char IntercomControlPdu::getCommand() const +{ + return _command; +} + +void IntercomControlPdu::setCommand(unsigned char pX) +{ + _command = pX; +} + +EntityID& IntercomControlPdu::getMasterEntityID() +{ + return _masterEntityID; +} + +const EntityID& IntercomControlPdu::getMasterEntityID() const +{ + return _masterEntityID; +} + +void IntercomControlPdu::setMasterEntityID(const EntityID &pX) +{ + _masterEntityID = pX; +} + +unsigned short IntercomControlPdu::getMasterCommunicationsDeviceID() const +{ + return _masterCommunicationsDeviceID; +} + +void IntercomControlPdu::setMasterCommunicationsDeviceID(unsigned short pX) +{ + _masterCommunicationsDeviceID = pX; +} + +unsigned int IntercomControlPdu::getIntercomParametersLength() const +{ + return _intercomParameters.size(); +} + +std::vector& IntercomControlPdu::getIntercomParameters() +{ + return _intercomParameters; +} + +const std::vector& IntercomControlPdu::getIntercomParameters() const +{ + return _intercomParameters; +} + +void IntercomControlPdu::setIntercomParameters(const std::vector& pX) +{ + _intercomParameters = pX; +} + +void IntercomControlPdu::marshal(DataStream& dataStream) const +{ + RadioCommunicationsFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _controlType; + dataStream << _communicationsChannelType; + _sourceEntityID.marshal(dataStream); + dataStream << _sourceCommunicationsDeviceID; + dataStream << _sourceLineID; + dataStream << _transmitPriority; + dataStream << _transmitLineState; + dataStream << _command; + _masterEntityID.marshal(dataStream); + dataStream << _masterCommunicationsDeviceID; + dataStream << ( unsigned int )_intercomParameters.size(); + + for(size_t idx = 0; idx < _intercomParameters.size(); idx++) + { + IntercomCommunicationsParameters x = _intercomParameters[idx]; + x.marshal(dataStream); + } + +} + +void IntercomControlPdu::unmarshal(DataStream& dataStream) +{ + RadioCommunicationsFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _controlType; + dataStream >> _communicationsChannelType; + _sourceEntityID.unmarshal(dataStream); + dataStream >> _sourceCommunicationsDeviceID; + dataStream >> _sourceLineID; + dataStream >> _transmitPriority; + dataStream >> _transmitLineState; + dataStream >> _command; + _masterEntityID.unmarshal(dataStream); + dataStream >> _masterCommunicationsDeviceID; + dataStream >> _intercomParametersLength; + + _intercomParameters.clear(); + for(size_t idx = 0; idx < _intercomParametersLength; idx++) + { + IntercomCommunicationsParameters x; + x.unmarshal(dataStream); + _intercomParameters.push_back(x); + } +} + + +bool IntercomControlPdu::operator ==(const IntercomControlPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = RadioCommunicationsFamilyPdu::operator==(rhs); + + if( ! (_controlType == rhs._controlType) ) ivarsEqual = false; + if( ! (_communicationsChannelType == rhs._communicationsChannelType) ) ivarsEqual = false; + if( ! (_sourceEntityID == rhs._sourceEntityID) ) ivarsEqual = false; + if( ! (_sourceCommunicationsDeviceID == rhs._sourceCommunicationsDeviceID) ) ivarsEqual = false; + if( ! (_sourceLineID == rhs._sourceLineID) ) ivarsEqual = false; + if( ! (_transmitPriority == rhs._transmitPriority) ) ivarsEqual = false; + if( ! (_transmitLineState == rhs._transmitLineState) ) ivarsEqual = false; + if( ! (_command == rhs._command) ) ivarsEqual = false; + if( ! (_masterEntityID == rhs._masterEntityID) ) ivarsEqual = false; + if( ! (_masterCommunicationsDeviceID == rhs._masterCommunicationsDeviceID) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _intercomParameters.size(); idx++) + { + if( ! ( _intercomParameters[idx] == rhs._intercomParameters[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int IntercomControlPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = RadioCommunicationsFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 1; // _controlType + marshalSize = marshalSize + 1; // _communicationsChannelType + marshalSize = marshalSize + _sourceEntityID.getMarshalledSize(); // _sourceEntityID + marshalSize = marshalSize + 1; // _sourceCommunicationsDeviceID + marshalSize = marshalSize + 1; // _sourceLineID + marshalSize = marshalSize + 1; // _transmitPriority + marshalSize = marshalSize + 1; // _transmitLineState + marshalSize = marshalSize + 1; // _command + marshalSize = marshalSize + _masterEntityID.getMarshalledSize(); // _masterEntityID + marshalSize = marshalSize + 2; // _masterCommunicationsDeviceID + marshalSize = marshalSize + 4; // _intercomParametersLength + + for(int idx=0; idx < _intercomParameters.size(); idx++) + { + IntercomCommunicationsParameters listElement = _intercomParameters[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/IntercomControlPdu.h b/cpp/DIS/IntercomControlPdu.h new file mode 100644 index 00000000..abadf2d6 --- /dev/null +++ b/cpp/DIS/IntercomControlPdu.h @@ -0,0 +1,143 @@ +#ifndef INTERCOMCONTROLPDU_H +#define INTERCOMCONTROLPDU_H + +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.8.5. Detailed inofrmation about the state of an intercom device and the actions it is requestion of another intercom device, or the response to a requested action. Required manual intervention to fix the intercom parameters, which can be of varialbe length. UNFINSISHED + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO IntercomControlPdu : public RadioCommunicationsFamilyPdu +{ +protected: + /** control type */ + unsigned char _controlType; + + /** control type */ + unsigned char _communicationsChannelType; + + /** Source entity ID */ + EntityID _sourceEntityID; + + /** The specific intercom device being simulated within an entity. */ + unsigned char _sourceCommunicationsDeviceID; + + /** Line number to which the intercom control refers */ + unsigned char _sourceLineID; + + /** priority of this message relative to transmissons from other intercom devices */ + unsigned char _transmitPriority; + + /** current transmit state of the line */ + unsigned char _transmitLineState; + + /** detailed type requested. */ + unsigned char _command; + + /** eid of the entity that has created this intercom channel. */ + EntityID _masterEntityID; + + /** specific intercom device that has created this intercom channel */ + unsigned short _masterCommunicationsDeviceID; + + /** number of intercom parameters */ + unsigned int _intercomParametersLength; + + /** ^^^This is wrong--the length of the data field is variable. Using a long for now. */ + std::vector _intercomParameters; + + + public: + IntercomControlPdu(); + virtual ~IntercomControlPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getControlType() const; + void setControlType(unsigned char pX); + + unsigned char getCommunicationsChannelType() const; + void setCommunicationsChannelType(unsigned char pX); + + EntityID& getSourceEntityID(); + const EntityID& getSourceEntityID() const; + void setSourceEntityID(const EntityID &pX); + + unsigned char getSourceCommunicationsDeviceID() const; + void setSourceCommunicationsDeviceID(unsigned char pX); + + unsigned char getSourceLineID() const; + void setSourceLineID(unsigned char pX); + + unsigned char getTransmitPriority() const; + void setTransmitPriority(unsigned char pX); + + unsigned char getTransmitLineState() const; + void setTransmitLineState(unsigned char pX); + + unsigned char getCommand() const; + void setCommand(unsigned char pX); + + EntityID& getMasterEntityID(); + const EntityID& getMasterEntityID() const; + void setMasterEntityID(const EntityID &pX); + + unsigned short getMasterCommunicationsDeviceID() const; + void setMasterCommunicationsDeviceID(unsigned short pX); + + unsigned int getIntercomParametersLength() const; + + std::vector& getIntercomParameters(); + const std::vector& getIntercomParameters() const; + void setIntercomParameters(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const IntercomControlPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/IntercomSignalPdu.cpp b/cpp/DIS/IntercomSignalPdu.cpp new file mode 100644 index 00000000..18978c6d --- /dev/null +++ b/cpp/DIS/IntercomSignalPdu.cpp @@ -0,0 +1,221 @@ +#include + +using namespace DIS; + + +IntercomSignalPdu::IntercomSignalPdu() : RadioCommunicationsFamilyPdu(), + _entityID(), + _communicationsDeviceID(0), + _encodingScheme(0), + _tdlType(0), + _sampleRate(0), + _dataLength(0), + _samples(0) +{ + setPduType( 31 ); +} + +IntercomSignalPdu::~IntercomSignalPdu() +{ + _data.clear(); +} + +EntityID& IntercomSignalPdu::getEntityID() +{ + return _entityID; +} + +const EntityID& IntercomSignalPdu::getEntityID() const +{ + return _entityID; +} + +void IntercomSignalPdu::setEntityID(const EntityID &pX) +{ + _entityID = pX; +} + +unsigned short IntercomSignalPdu::getCommunicationsDeviceID() const +{ + return _communicationsDeviceID; +} + +void IntercomSignalPdu::setCommunicationsDeviceID(unsigned short pX) +{ + _communicationsDeviceID = pX; +} + +unsigned short IntercomSignalPdu::getEncodingScheme() const +{ + return _encodingScheme; +} + +void IntercomSignalPdu::setEncodingScheme(unsigned short pX) +{ + _encodingScheme = pX; +} + +unsigned short IntercomSignalPdu::getTdlType() const +{ + return _tdlType; +} + +void IntercomSignalPdu::setTdlType(unsigned short pX) +{ + _tdlType = pX; +} + +unsigned int IntercomSignalPdu::getSampleRate() const +{ + return _sampleRate; +} + +void IntercomSignalPdu::setSampleRate(unsigned int pX) +{ + _sampleRate = pX; +} + +unsigned short IntercomSignalPdu::getDataLength() const +{ + return _data.size(); +} + +unsigned short IntercomSignalPdu::getSamples() const +{ + return _samples; +} + +void IntercomSignalPdu::setSamples(unsigned short pX) +{ + _samples = pX; +} + +std::vector& IntercomSignalPdu::getData() +{ + return _data; +} + +const std::vector& IntercomSignalPdu::getData() const +{ + return _data; +} + +void IntercomSignalPdu::setData(const std::vector& pX) +{ + _data = pX; +} + +void IntercomSignalPdu::marshal(DataStream& dataStream) const +{ + RadioCommunicationsFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _entityID.marshal(dataStream); + dataStream << _communicationsDeviceID; + dataStream << _encodingScheme; + dataStream << _tdlType; + dataStream << _sampleRate; + dataStream << ( unsigned short )_data.size(); + dataStream << _samples; + + for(size_t idx = 0; idx < _data.size(); idx++) + { + OneByteChunk x = _data[idx]; + x.marshal(dataStream); + } + +} + +void IntercomSignalPdu::unmarshal(DataStream& dataStream) +{ + RadioCommunicationsFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _entityID.unmarshal(dataStream); + dataStream >> _communicationsDeviceID; + dataStream >> _encodingScheme; + dataStream >> _tdlType; + dataStream >> _sampleRate; + dataStream >> _dataLength; + dataStream >> _samples; + + _data.clear(); + for(size_t idx = 0; idx < _dataLength; idx++) + { + OneByteChunk x; + x.unmarshal(dataStream); + _data.push_back(x); + } +} + + +bool IntercomSignalPdu::operator ==(const IntercomSignalPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = RadioCommunicationsFamilyPdu::operator==(rhs); + + if( ! (_entityID == rhs._entityID) ) ivarsEqual = false; + if( ! (_communicationsDeviceID == rhs._communicationsDeviceID) ) ivarsEqual = false; + if( ! (_encodingScheme == rhs._encodingScheme) ) ivarsEqual = false; + if( ! (_tdlType == rhs._tdlType) ) ivarsEqual = false; + if( ! (_sampleRate == rhs._sampleRate) ) ivarsEqual = false; + if( ! (_samples == rhs._samples) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _data.size(); idx++) + { + if( ! ( _data[idx] == rhs._data[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int IntercomSignalPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = RadioCommunicationsFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _entityID.getMarshalledSize(); // _entityID + marshalSize = marshalSize + 2; // _communicationsDeviceID + marshalSize = marshalSize + 2; // _encodingScheme + marshalSize = marshalSize + 2; // _tdlType + marshalSize = marshalSize + 4; // _sampleRate + marshalSize = marshalSize + 2; // _dataLength + marshalSize = marshalSize + 2; // _samples + + for(int idx=0; idx < _data.size(); idx++) + { + OneByteChunk listElement = _data[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/IntercomSignalPdu.h b/cpp/DIS/IntercomSignalPdu.h new file mode 100644 index 00000000..f32c69ed --- /dev/null +++ b/cpp/DIS/IntercomSignalPdu.h @@ -0,0 +1,117 @@ +#ifndef INTERCOMSIGNALPDU_H +#define INTERCOMSIGNALPDU_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.8.4. Actual transmission of intercome voice data. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO IntercomSignalPdu : public RadioCommunicationsFamilyPdu +{ +protected: + /** entity ID */ + EntityID _entityID; + + /** ID of communications device */ + unsigned short _communicationsDeviceID; + + /** encoding scheme */ + unsigned short _encodingScheme; + + /** tactical data link type */ + unsigned short _tdlType; + + /** sample rate */ + unsigned int _sampleRate; + + /** data length */ + unsigned short _dataLength; + + /** samples */ + unsigned short _samples; + + /** data bytes */ + std::vector _data; + + + public: + IntercomSignalPdu(); + virtual ~IntercomSignalPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getEntityID(); + const EntityID& getEntityID() const; + void setEntityID(const EntityID &pX); + + unsigned short getCommunicationsDeviceID() const; + void setCommunicationsDeviceID(unsigned short pX); + + unsigned short getEncodingScheme() const; + void setEncodingScheme(unsigned short pX); + + unsigned short getTdlType() const; + void setTdlType(unsigned short pX); + + unsigned int getSampleRate() const; + void setSampleRate(unsigned int pX); + + unsigned short getDataLength() const; + + unsigned short getSamples() const; + void setSamples(unsigned short pX); + + std::vector& getData(); + const std::vector& getData() const; + void setData(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const IntercomSignalPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/IsGroupOfPdu.cpp b/cpp/DIS/IsGroupOfPdu.cpp new file mode 100644 index 00000000..9b16a1e2 --- /dev/null +++ b/cpp/DIS/IsGroupOfPdu.cpp @@ -0,0 +1,206 @@ +#include + +using namespace DIS; + + +IsGroupOfPdu::IsGroupOfPdu() : EntityManagementFamilyPdu(), + _groupEntityID(), + _groupedEntityCategory(0), + _numberOfGroupedEntities(0), + _pad2(0), + _latitude(0.0), + _longitude(0.0) +{ + setPduType( 34 ); +} + +IsGroupOfPdu::~IsGroupOfPdu() +{ + _groupedEntityDescriptions.clear(); +} + +EntityID& IsGroupOfPdu::getGroupEntityID() +{ + return _groupEntityID; +} + +const EntityID& IsGroupOfPdu::getGroupEntityID() const +{ + return _groupEntityID; +} + +void IsGroupOfPdu::setGroupEntityID(const EntityID &pX) +{ + _groupEntityID = pX; +} + +unsigned char IsGroupOfPdu::getGroupedEntityCategory() const +{ + return _groupedEntityCategory; +} + +void IsGroupOfPdu::setGroupedEntityCategory(unsigned char pX) +{ + _groupedEntityCategory = pX; +} + +unsigned char IsGroupOfPdu::getNumberOfGroupedEntities() const +{ + return _groupedEntityDescriptions.size(); +} + +unsigned int IsGroupOfPdu::getPad2() const +{ + return _pad2; +} + +void IsGroupOfPdu::setPad2(unsigned int pX) +{ + _pad2 = pX; +} + +double IsGroupOfPdu::getLatitude() const +{ + return _latitude; +} + +void IsGroupOfPdu::setLatitude(double pX) +{ + _latitude = pX; +} + +double IsGroupOfPdu::getLongitude() const +{ + return _longitude; +} + +void IsGroupOfPdu::setLongitude(double pX) +{ + _longitude = pX; +} + +std::vector& IsGroupOfPdu::getGroupedEntityDescriptions() +{ + return _groupedEntityDescriptions; +} + +const std::vector& IsGroupOfPdu::getGroupedEntityDescriptions() const +{ + return _groupedEntityDescriptions; +} + +void IsGroupOfPdu::setGroupedEntityDescriptions(const std::vector& pX) +{ + _groupedEntityDescriptions = pX; +} + +void IsGroupOfPdu::marshal(DataStream& dataStream) const +{ + EntityManagementFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _groupEntityID.marshal(dataStream); + dataStream << _groupedEntityCategory; + dataStream << ( unsigned char )_groupedEntityDescriptions.size(); + dataStream << _pad2; + dataStream << _latitude; + dataStream << _longitude; + + for(size_t idx = 0; idx < _groupedEntityDescriptions.size(); idx++) + { + VariableDatum x = _groupedEntityDescriptions[idx]; + x.marshal(dataStream); + } + +} + +void IsGroupOfPdu::unmarshal(DataStream& dataStream) +{ + EntityManagementFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _groupEntityID.unmarshal(dataStream); + dataStream >> _groupedEntityCategory; + dataStream >> _numberOfGroupedEntities; + dataStream >> _pad2; + dataStream >> _latitude; + dataStream >> _longitude; + + _groupedEntityDescriptions.clear(); + for(size_t idx = 0; idx < _numberOfGroupedEntities; idx++) + { + VariableDatum x; + x.unmarshal(dataStream); + _groupedEntityDescriptions.push_back(x); + } +} + + +bool IsGroupOfPdu::operator ==(const IsGroupOfPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = EntityManagementFamilyPdu::operator==(rhs); + + if( ! (_groupEntityID == rhs._groupEntityID) ) ivarsEqual = false; + if( ! (_groupedEntityCategory == rhs._groupedEntityCategory) ) ivarsEqual = false; + if( ! (_pad2 == rhs._pad2) ) ivarsEqual = false; + if( ! (_latitude == rhs._latitude) ) ivarsEqual = false; + if( ! (_longitude == rhs._longitude) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _groupedEntityDescriptions.size(); idx++) + { + if( ! ( _groupedEntityDescriptions[idx] == rhs._groupedEntityDescriptions[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int IsGroupOfPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = EntityManagementFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _groupEntityID.getMarshalledSize(); // _groupEntityID + marshalSize = marshalSize + 1; // _groupedEntityCategory + marshalSize = marshalSize + 1; // _numberOfGroupedEntities + marshalSize = marshalSize + 4; // _pad2 + marshalSize = marshalSize + 8; // _latitude + marshalSize = marshalSize + 8; // _longitude + + for(int idx=0; idx < _groupedEntityDescriptions.size(); idx++) + { + VariableDatum listElement = _groupedEntityDescriptions[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/IsGroupOfPdu.h b/cpp/DIS/IsGroupOfPdu.h new file mode 100644 index 00000000..ec600290 --- /dev/null +++ b/cpp/DIS/IsGroupOfPdu.h @@ -0,0 +1,111 @@ +#ifndef ISGROUPOFPDU_H +#define ISGROUPOFPDU_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.9.2 Information about a particular group of entities grouped together for the purposes of netowrk bandwidth reduction or aggregation. Needs manual cleanup. The GED size requires a database lookup. UNFINISHED + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO IsGroupOfPdu : public EntityManagementFamilyPdu +{ +protected: + /** ID of aggregated entities */ + EntityID _groupEntityID; + + /** type of entities constituting the group */ + unsigned char _groupedEntityCategory; + + /** Number of individual entities constituting the group */ + unsigned char _numberOfGroupedEntities; + + /** padding */ + unsigned int _pad2; + + /** latitude */ + double _latitude; + + /** longitude */ + double _longitude; + + /** GED records about each individual entity in the group. ^^^this is wrong--need a database lookup to find the actual size of the list elements */ + std::vector _groupedEntityDescriptions; + + + public: + IsGroupOfPdu(); + virtual ~IsGroupOfPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getGroupEntityID(); + const EntityID& getGroupEntityID() const; + void setGroupEntityID(const EntityID &pX); + + unsigned char getGroupedEntityCategory() const; + void setGroupedEntityCategory(unsigned char pX); + + unsigned char getNumberOfGroupedEntities() const; + + unsigned int getPad2() const; + void setPad2(unsigned int pX); + + double getLatitude() const; + void setLatitude(double pX); + + double getLongitude() const; + void setLongitude(double pX); + + std::vector& getGroupedEntityDescriptions(); + const std::vector& getGroupedEntityDescriptions() const; + void setGroupedEntityDescriptions(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const IsGroupOfPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/IsPartOfPdu.cpp b/cpp/DIS/IsPartOfPdu.cpp new file mode 100644 index 00000000..ae2fab23 --- /dev/null +++ b/cpp/DIS/IsPartOfPdu.cpp @@ -0,0 +1,193 @@ +#include + +using namespace DIS; + + +IsPartOfPdu::IsPartOfPdu() : EntityManagementFamilyPdu(), + _orginatingEntityID(), + _receivingEntityID(), + _relationship(), + _partLocation(), + _namedLocationID(), + _partEntityType() +{ + setPduType( 36 ); +} + +IsPartOfPdu::~IsPartOfPdu() +{ +} + +EntityID& IsPartOfPdu::getOrginatingEntityID() +{ + return _orginatingEntityID; +} + +const EntityID& IsPartOfPdu::getOrginatingEntityID() const +{ + return _orginatingEntityID; +} + +void IsPartOfPdu::setOrginatingEntityID(const EntityID &pX) +{ + _orginatingEntityID = pX; +} + +EntityID& IsPartOfPdu::getReceivingEntityID() +{ + return _receivingEntityID; +} + +const EntityID& IsPartOfPdu::getReceivingEntityID() const +{ + return _receivingEntityID; +} + +void IsPartOfPdu::setReceivingEntityID(const EntityID &pX) +{ + _receivingEntityID = pX; +} + +Relationship& IsPartOfPdu::getRelationship() +{ + return _relationship; +} + +const Relationship& IsPartOfPdu::getRelationship() const +{ + return _relationship; +} + +void IsPartOfPdu::setRelationship(const Relationship &pX) +{ + _relationship = pX; +} + +Vector3Float& IsPartOfPdu::getPartLocation() +{ + return _partLocation; +} + +const Vector3Float& IsPartOfPdu::getPartLocation() const +{ + return _partLocation; +} + +void IsPartOfPdu::setPartLocation(const Vector3Float &pX) +{ + _partLocation = pX; +} + +NamedLocation& IsPartOfPdu::getNamedLocationID() +{ + return _namedLocationID; +} + +const NamedLocation& IsPartOfPdu::getNamedLocationID() const +{ + return _namedLocationID; +} + +void IsPartOfPdu::setNamedLocationID(const NamedLocation &pX) +{ + _namedLocationID = pX; +} + +EntityType& IsPartOfPdu::getPartEntityType() +{ + return _partEntityType; +} + +const EntityType& IsPartOfPdu::getPartEntityType() const +{ + return _partEntityType; +} + +void IsPartOfPdu::setPartEntityType(const EntityType &pX) +{ + _partEntityType = pX; +} + +void IsPartOfPdu::marshal(DataStream& dataStream) const +{ + EntityManagementFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _orginatingEntityID.marshal(dataStream); + _receivingEntityID.marshal(dataStream); + _relationship.marshal(dataStream); + _partLocation.marshal(dataStream); + _namedLocationID.marshal(dataStream); + _partEntityType.marshal(dataStream); +} + +void IsPartOfPdu::unmarshal(DataStream& dataStream) +{ + EntityManagementFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _orginatingEntityID.unmarshal(dataStream); + _receivingEntityID.unmarshal(dataStream); + _relationship.unmarshal(dataStream); + _partLocation.unmarshal(dataStream); + _namedLocationID.unmarshal(dataStream); + _partEntityType.unmarshal(dataStream); +} + + +bool IsPartOfPdu::operator ==(const IsPartOfPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = EntityManagementFamilyPdu::operator==(rhs); + + if( ! (_orginatingEntityID == rhs._orginatingEntityID) ) ivarsEqual = false; + if( ! (_receivingEntityID == rhs._receivingEntityID) ) ivarsEqual = false; + if( ! (_relationship == rhs._relationship) ) ivarsEqual = false; + if( ! (_partLocation == rhs._partLocation) ) ivarsEqual = false; + if( ! (_namedLocationID == rhs._namedLocationID) ) ivarsEqual = false; + if( ! (_partEntityType == rhs._partEntityType) ) ivarsEqual = false; + + return ivarsEqual; + } + +int IsPartOfPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = EntityManagementFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _orginatingEntityID.getMarshalledSize(); // _orginatingEntityID + marshalSize = marshalSize + _receivingEntityID.getMarshalledSize(); // _receivingEntityID + marshalSize = marshalSize + _relationship.getMarshalledSize(); // _relationship + marshalSize = marshalSize + _partLocation.getMarshalledSize(); // _partLocation + marshalSize = marshalSize + _namedLocationID.getMarshalledSize(); // _namedLocationID + marshalSize = marshalSize + _partEntityType.getMarshalledSize(); // _partEntityType + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/IsPartOfPdu.h b/cpp/DIS/IsPartOfPdu.h new file mode 100644 index 00000000..438e1a7c --- /dev/null +++ b/cpp/DIS/IsPartOfPdu.h @@ -0,0 +1,113 @@ +#ifndef ISPARTOFPDU_H +#define ISPARTOFPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.9.4 The joining of two or more simulation entities is communicated by this PDU. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO IsPartOfPdu : public EntityManagementFamilyPdu +{ +protected: + /** ID of entity originating PDU */ + EntityID _orginatingEntityID; + + /** ID of entity receiving PDU */ + EntityID _receivingEntityID; + + /** relationship of joined parts */ + Relationship _relationship; + + /** location of part; centroid of part in host's coordinate system. x=range, y=bearing, z=0 */ + Vector3Float _partLocation; + + /** named location */ + NamedLocation _namedLocationID; + + /** entity type */ + EntityType _partEntityType; + + + public: + IsPartOfPdu(); + virtual ~IsPartOfPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getOrginatingEntityID(); + const EntityID& getOrginatingEntityID() const; + void setOrginatingEntityID(const EntityID &pX); + + EntityID& getReceivingEntityID(); + const EntityID& getReceivingEntityID() const; + void setReceivingEntityID(const EntityID &pX); + + Relationship& getRelationship(); + const Relationship& getRelationship() const; + void setRelationship(const Relationship &pX); + + Vector3Float& getPartLocation(); + const Vector3Float& getPartLocation() const; + void setPartLocation(const Vector3Float &pX); + + NamedLocation& getNamedLocationID(); + const NamedLocation& getNamedLocationID() const; + void setNamedLocationID(const NamedLocation &pX); + + EntityType& getPartEntityType(); + const EntityType& getPartEntityType() const; + void setPartEntityType(const EntityType &pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const IsPartOfPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/LayerHeader.cpp b/cpp/DIS/LayerHeader.cpp new file mode 100644 index 00000000..b51c0592 --- /dev/null +++ b/cpp/DIS/LayerHeader.cpp @@ -0,0 +1,112 @@ +#include + +using namespace DIS; + + +LayerHeader::LayerHeader(): + _layerNumber(0), + _layerSpecificInformaiton(0), + _length(0) +{ +} + +LayerHeader::~LayerHeader() +{ +} + +unsigned char LayerHeader::getLayerNumber() const +{ + return _layerNumber; +} + +void LayerHeader::setLayerNumber(unsigned char pX) +{ + _layerNumber = pX; +} + +unsigned char LayerHeader::getLayerSpecificInformaiton() const +{ + return _layerSpecificInformaiton; +} + +void LayerHeader::setLayerSpecificInformaiton(unsigned char pX) +{ + _layerSpecificInformaiton = pX; +} + +unsigned short LayerHeader::getLength() const +{ + return _length; +} + +void LayerHeader::setLength(unsigned short pX) +{ + _length = pX; +} + +void LayerHeader::marshal(DataStream& dataStream) const +{ + dataStream << _layerNumber; + dataStream << _layerSpecificInformaiton; + dataStream << _length; +} + +void LayerHeader::unmarshal(DataStream& dataStream) +{ + dataStream >> _layerNumber; + dataStream >> _layerSpecificInformaiton; + dataStream >> _length; +} + + +bool LayerHeader::operator ==(const LayerHeader& rhs) const + { + bool ivarsEqual = true; + + if( ! (_layerNumber == rhs._layerNumber) ) ivarsEqual = false; + if( ! (_layerSpecificInformaiton == rhs._layerSpecificInformaiton) ) ivarsEqual = false; + if( ! (_length == rhs._length) ) ivarsEqual = false; + + return ivarsEqual; + } + +int LayerHeader::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _layerNumber + marshalSize = marshalSize + 1; // _layerSpecificInformaiton + marshalSize = marshalSize + 2; // _length + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/LayerHeader.h b/cpp/DIS/LayerHeader.h new file mode 100644 index 00000000..5b02778e --- /dev/null +++ b/cpp/DIS/LayerHeader.h @@ -0,0 +1,82 @@ +#ifndef LAYERHEADER_H +#define LAYERHEADER_H + +#include +#include + + +namespace DIS +{ +// 5.2.47. Layer header. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO LayerHeader +{ +protected: + /** Layer number */ + unsigned char _layerNumber; + + /** Layer speccific information enumeration */ + unsigned char _layerSpecificInformaiton; + + /** information length */ + unsigned short _length; + + + public: + LayerHeader(); + virtual ~LayerHeader(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getLayerNumber() const; + void setLayerNumber(unsigned char pX); + + unsigned char getLayerSpecificInformaiton() const; + void setLayerSpecificInformaiton(unsigned char pX); + + unsigned short getLength() const; + void setLength(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const LayerHeader& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/LinearObjectStatePdu.cpp b/cpp/DIS/LinearObjectStatePdu.cpp new file mode 100644 index 00000000..9b9510c3 --- /dev/null +++ b/cpp/DIS/LinearObjectStatePdu.cpp @@ -0,0 +1,256 @@ +#include + +using namespace DIS; + + +LinearObjectStatePdu::LinearObjectStatePdu() : SyntheticEnvironmentFamilyPdu(), + _objectID(), + _referencedObjectID(), + _updateNumber(0), + _forceID(0), + _numberOfSegments(0), + _requesterID(), + _receivingID(), + _objectType() +{ + setPduType( 44 ); +} + +LinearObjectStatePdu::~LinearObjectStatePdu() +{ + _linearSegmentParameters.clear(); +} + +EntityID& LinearObjectStatePdu::getObjectID() +{ + return _objectID; +} + +const EntityID& LinearObjectStatePdu::getObjectID() const +{ + return _objectID; +} + +void LinearObjectStatePdu::setObjectID(const EntityID &pX) +{ + _objectID = pX; +} + +EntityID& LinearObjectStatePdu::getReferencedObjectID() +{ + return _referencedObjectID; +} + +const EntityID& LinearObjectStatePdu::getReferencedObjectID() const +{ + return _referencedObjectID; +} + +void LinearObjectStatePdu::setReferencedObjectID(const EntityID &pX) +{ + _referencedObjectID = pX; +} + +unsigned short LinearObjectStatePdu::getUpdateNumber() const +{ + return _updateNumber; +} + +void LinearObjectStatePdu::setUpdateNumber(unsigned short pX) +{ + _updateNumber = pX; +} + +unsigned char LinearObjectStatePdu::getForceID() const +{ + return _forceID; +} + +void LinearObjectStatePdu::setForceID(unsigned char pX) +{ + _forceID = pX; +} + +unsigned char LinearObjectStatePdu::getNumberOfSegments() const +{ + return _linearSegmentParameters.size(); +} + +SimulationAddress& LinearObjectStatePdu::getRequesterID() +{ + return _requesterID; +} + +const SimulationAddress& LinearObjectStatePdu::getRequesterID() const +{ + return _requesterID; +} + +void LinearObjectStatePdu::setRequesterID(const SimulationAddress &pX) +{ + _requesterID = pX; +} + +SimulationAddress& LinearObjectStatePdu::getReceivingID() +{ + return _receivingID; +} + +const SimulationAddress& LinearObjectStatePdu::getReceivingID() const +{ + return _receivingID; +} + +void LinearObjectStatePdu::setReceivingID(const SimulationAddress &pX) +{ + _receivingID = pX; +} + +ObjectType& LinearObjectStatePdu::getObjectType() +{ + return _objectType; +} + +const ObjectType& LinearObjectStatePdu::getObjectType() const +{ + return _objectType; +} + +void LinearObjectStatePdu::setObjectType(const ObjectType &pX) +{ + _objectType = pX; +} + +std::vector& LinearObjectStatePdu::getLinearSegmentParameters() +{ + return _linearSegmentParameters; +} + +const std::vector& LinearObjectStatePdu::getLinearSegmentParameters() const +{ + return _linearSegmentParameters; +} + +void LinearObjectStatePdu::setLinearSegmentParameters(const std::vector& pX) +{ + _linearSegmentParameters = pX; +} + +void LinearObjectStatePdu::marshal(DataStream& dataStream) const +{ + SyntheticEnvironmentFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _objectID.marshal(dataStream); + _referencedObjectID.marshal(dataStream); + dataStream << _updateNumber; + dataStream << _forceID; + dataStream << ( unsigned char )_linearSegmentParameters.size(); + _requesterID.marshal(dataStream); + _receivingID.marshal(dataStream); + _objectType.marshal(dataStream); + + for(size_t idx = 0; idx < _linearSegmentParameters.size(); idx++) + { + LinearSegmentParameter x = _linearSegmentParameters[idx]; + x.marshal(dataStream); + } + +} + +void LinearObjectStatePdu::unmarshal(DataStream& dataStream) +{ + SyntheticEnvironmentFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _objectID.unmarshal(dataStream); + _referencedObjectID.unmarshal(dataStream); + dataStream >> _updateNumber; + dataStream >> _forceID; + dataStream >> _numberOfSegments; + _requesterID.unmarshal(dataStream); + _receivingID.unmarshal(dataStream); + _objectType.unmarshal(dataStream); + + _linearSegmentParameters.clear(); + for(size_t idx = 0; idx < _numberOfSegments; idx++) + { + LinearSegmentParameter x; + x.unmarshal(dataStream); + _linearSegmentParameters.push_back(x); + } +} + + +bool LinearObjectStatePdu::operator ==(const LinearObjectStatePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SyntheticEnvironmentFamilyPdu::operator==(rhs); + + if( ! (_objectID == rhs._objectID) ) ivarsEqual = false; + if( ! (_referencedObjectID == rhs._referencedObjectID) ) ivarsEqual = false; + if( ! (_updateNumber == rhs._updateNumber) ) ivarsEqual = false; + if( ! (_forceID == rhs._forceID) ) ivarsEqual = false; + if( ! (_requesterID == rhs._requesterID) ) ivarsEqual = false; + if( ! (_receivingID == rhs._receivingID) ) ivarsEqual = false; + if( ! (_objectType == rhs._objectType) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _linearSegmentParameters.size(); idx++) + { + if( ! ( _linearSegmentParameters[idx] == rhs._linearSegmentParameters[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int LinearObjectStatePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SyntheticEnvironmentFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _objectID.getMarshalledSize(); // _objectID + marshalSize = marshalSize + _referencedObjectID.getMarshalledSize(); // _referencedObjectID + marshalSize = marshalSize + 2; // _updateNumber + marshalSize = marshalSize + 1; // _forceID + marshalSize = marshalSize + 1; // _numberOfSegments + marshalSize = marshalSize + _requesterID.getMarshalledSize(); // _requesterID + marshalSize = marshalSize + _receivingID.getMarshalledSize(); // _receivingID + marshalSize = marshalSize + _objectType.getMarshalledSize(); // _objectType + + for(int idx=0; idx < _linearSegmentParameters.size(); idx++) + { + LinearSegmentParameter listElement = _linearSegmentParameters[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/LinearObjectStatePdu.h b/cpp/DIS/LinearObjectStatePdu.h new file mode 100644 index 00000000..d4b570cf --- /dev/null +++ b/cpp/DIS/LinearObjectStatePdu.h @@ -0,0 +1,131 @@ +#ifndef LINEAROBJECTSTATEPDU_H +#define LINEAROBJECTSTATEPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.11.4: Information abut the addition or modification of a synthecic enviroment object that is anchored to the terrain with a single point and has size or orientation. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO LinearObjectStatePdu : public SyntheticEnvironmentFamilyPdu +{ +protected: + /** Object in synthetic environment */ + EntityID _objectID; + + /** Object with which this point object is associated */ + EntityID _referencedObjectID; + + /** unique update number of each state transition of an object */ + unsigned short _updateNumber; + + /** force ID */ + unsigned char _forceID; + + /** number of linear segment parameters */ + unsigned char _numberOfSegments; + + /** requesterID */ + SimulationAddress _requesterID; + + /** receiver ID */ + SimulationAddress _receivingID; + + /** Object type */ + ObjectType _objectType; + + /** Linear segment parameters */ + std::vector _linearSegmentParameters; + + + public: + LinearObjectStatePdu(); + virtual ~LinearObjectStatePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getObjectID(); + const EntityID& getObjectID() const; + void setObjectID(const EntityID &pX); + + EntityID& getReferencedObjectID(); + const EntityID& getReferencedObjectID() const; + void setReferencedObjectID(const EntityID &pX); + + unsigned short getUpdateNumber() const; + void setUpdateNumber(unsigned short pX); + + unsigned char getForceID() const; + void setForceID(unsigned char pX); + + unsigned char getNumberOfSegments() const; + + SimulationAddress& getRequesterID(); + const SimulationAddress& getRequesterID() const; + void setRequesterID(const SimulationAddress &pX); + + SimulationAddress& getReceivingID(); + const SimulationAddress& getReceivingID() const; + void setReceivingID(const SimulationAddress &pX); + + ObjectType& getObjectType(); + const ObjectType& getObjectType() const; + void setObjectType(const ObjectType &pX); + + std::vector& getLinearSegmentParameters(); + const std::vector& getLinearSegmentParameters() const; + void setLinearSegmentParameters(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const LinearObjectStatePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/LinearSegmentParameter.cpp b/cpp/DIS/LinearSegmentParameter.cpp new file mode 100644 index 00000000..479513e3 --- /dev/null +++ b/cpp/DIS/LinearSegmentParameter.cpp @@ -0,0 +1,217 @@ +#include + +using namespace DIS; + + +LinearSegmentParameter::LinearSegmentParameter(): + _segmentNumber(0), + _segmentAppearance(), + _location(), + _orientation(), + _segmentLength(0), + _segmentWidth(0), + _segmentHeight(0), + _segmentDepth(0), + _pad1(0) +{ +} + +LinearSegmentParameter::~LinearSegmentParameter() +{ +} + +unsigned char LinearSegmentParameter::getSegmentNumber() const +{ + return _segmentNumber; +} + +void LinearSegmentParameter::setSegmentNumber(unsigned char pX) +{ + _segmentNumber = pX; +} + +SixByteChunk& LinearSegmentParameter::getSegmentAppearance() +{ + return _segmentAppearance; +} + +const SixByteChunk& LinearSegmentParameter::getSegmentAppearance() const +{ + return _segmentAppearance; +} + +void LinearSegmentParameter::setSegmentAppearance(const SixByteChunk &pX) +{ + _segmentAppearance = pX; +} + +Vector3Double& LinearSegmentParameter::getLocation() +{ + return _location; +} + +const Vector3Double& LinearSegmentParameter::getLocation() const +{ + return _location; +} + +void LinearSegmentParameter::setLocation(const Vector3Double &pX) +{ + _location = pX; +} + +Orientation& LinearSegmentParameter::getOrientation() +{ + return _orientation; +} + +const Orientation& LinearSegmentParameter::getOrientation() const +{ + return _orientation; +} + +void LinearSegmentParameter::setOrientation(const Orientation &pX) +{ + _orientation = pX; +} + +unsigned short LinearSegmentParameter::getSegmentLength() const +{ + return _segmentLength; +} + +void LinearSegmentParameter::setSegmentLength(unsigned short pX) +{ + _segmentLength = pX; +} + +unsigned short LinearSegmentParameter::getSegmentWidth() const +{ + return _segmentWidth; +} + +void LinearSegmentParameter::setSegmentWidth(unsigned short pX) +{ + _segmentWidth = pX; +} + +unsigned short LinearSegmentParameter::getSegmentHeight() const +{ + return _segmentHeight; +} + +void LinearSegmentParameter::setSegmentHeight(unsigned short pX) +{ + _segmentHeight = pX; +} + +unsigned short LinearSegmentParameter::getSegmentDepth() const +{ + return _segmentDepth; +} + +void LinearSegmentParameter::setSegmentDepth(unsigned short pX) +{ + _segmentDepth = pX; +} + +unsigned int LinearSegmentParameter::getPad1() const +{ + return _pad1; +} + +void LinearSegmentParameter::setPad1(unsigned int pX) +{ + _pad1 = pX; +} + +void LinearSegmentParameter::marshal(DataStream& dataStream) const +{ + dataStream << _segmentNumber; + _segmentAppearance.marshal(dataStream); + _location.marshal(dataStream); + _orientation.marshal(dataStream); + dataStream << _segmentLength; + dataStream << _segmentWidth; + dataStream << _segmentHeight; + dataStream << _segmentDepth; + dataStream << _pad1; +} + +void LinearSegmentParameter::unmarshal(DataStream& dataStream) +{ + dataStream >> _segmentNumber; + _segmentAppearance.unmarshal(dataStream); + _location.unmarshal(dataStream); + _orientation.unmarshal(dataStream); + dataStream >> _segmentLength; + dataStream >> _segmentWidth; + dataStream >> _segmentHeight; + dataStream >> _segmentDepth; + dataStream >> _pad1; +} + + +bool LinearSegmentParameter::operator ==(const LinearSegmentParameter& rhs) const + { + bool ivarsEqual = true; + + if( ! (_segmentNumber == rhs._segmentNumber) ) ivarsEqual = false; + if( ! (_segmentAppearance == rhs._segmentAppearance) ) ivarsEqual = false; + if( ! (_location == rhs._location) ) ivarsEqual = false; + if( ! (_orientation == rhs._orientation) ) ivarsEqual = false; + if( ! (_segmentLength == rhs._segmentLength) ) ivarsEqual = false; + if( ! (_segmentWidth == rhs._segmentWidth) ) ivarsEqual = false; + if( ! (_segmentHeight == rhs._segmentHeight) ) ivarsEqual = false; + if( ! (_segmentDepth == rhs._segmentDepth) ) ivarsEqual = false; + if( ! (_pad1 == rhs._pad1) ) ivarsEqual = false; + + return ivarsEqual; + } + +int LinearSegmentParameter::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _segmentNumber + marshalSize = marshalSize + _segmentAppearance.getMarshalledSize(); // _segmentAppearance + marshalSize = marshalSize + _location.getMarshalledSize(); // _location + marshalSize = marshalSize + _orientation.getMarshalledSize(); // _orientation + marshalSize = marshalSize + 2; // _segmentLength + marshalSize = marshalSize + 2; // _segmentWidth + marshalSize = marshalSize + 2; // _segmentHeight + marshalSize = marshalSize + 2; // _segmentDepth + marshalSize = marshalSize + 4; // _pad1 + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/LinearSegmentParameter.h b/cpp/DIS/LinearSegmentParameter.h new file mode 100644 index 00000000..580049cc --- /dev/null +++ b/cpp/DIS/LinearSegmentParameter.h @@ -0,0 +1,124 @@ +#ifndef LINEARSEGMENTPARAMETER_H +#define LINEARSEGMENTPARAMETER_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// 5.2.48: Linear segment parameters + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO LinearSegmentParameter +{ +protected: + /** number of segments */ + unsigned char _segmentNumber; + + /** segment appearance */ + SixByteChunk _segmentAppearance; + + /** location */ + Vector3Double _location; + + /** orientation */ + Orientation _orientation; + + /** segmentLength */ + unsigned short _segmentLength; + + /** segmentWidth */ + unsigned short _segmentWidth; + + /** segmentHeight */ + unsigned short _segmentHeight; + + /** segment Depth */ + unsigned short _segmentDepth; + + /** segment Depth */ + unsigned int _pad1; + + + public: + LinearSegmentParameter(); + virtual ~LinearSegmentParameter(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getSegmentNumber() const; + void setSegmentNumber(unsigned char pX); + + SixByteChunk& getSegmentAppearance(); + const SixByteChunk& getSegmentAppearance() const; + void setSegmentAppearance(const SixByteChunk &pX); + + Vector3Double& getLocation(); + const Vector3Double& getLocation() const; + void setLocation(const Vector3Double &pX); + + Orientation& getOrientation(); + const Orientation& getOrientation() const; + void setOrientation(const Orientation &pX); + + unsigned short getSegmentLength() const; + void setSegmentLength(unsigned short pX); + + unsigned short getSegmentWidth() const; + void setSegmentWidth(unsigned short pX); + + unsigned short getSegmentHeight() const; + void setSegmentHeight(unsigned short pX); + + unsigned short getSegmentDepth() const; + void setSegmentDepth(unsigned short pX); + + unsigned int getPad1() const; + void setPad1(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const LinearSegmentParameter& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/LogisticsFamilyPdu.cpp b/cpp/DIS/LogisticsFamilyPdu.cpp new file mode 100644 index 00000000..4d6dde5c --- /dev/null +++ b/cpp/DIS/LogisticsFamilyPdu.cpp @@ -0,0 +1,74 @@ +#include + +using namespace DIS; + + +LogisticsFamilyPdu::LogisticsFamilyPdu() : Pdu() + +{ + setProtocolFamily( 3 ); +} + +LogisticsFamilyPdu::~LogisticsFamilyPdu() +{ +} + +void LogisticsFamilyPdu::marshal(DataStream& dataStream) const +{ + Pdu::marshal(dataStream); // Marshal information in superclass first +} + +void LogisticsFamilyPdu::unmarshal(DataStream& dataStream) +{ + Pdu::unmarshal(dataStream); // unmarshal information in superclass first +} + + +bool LogisticsFamilyPdu::operator ==(const LogisticsFamilyPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = Pdu::operator==(rhs); + + + return ivarsEqual; + } + +int LogisticsFamilyPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = Pdu::getMarshalledSize(); + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/LogisticsFamilyPdu.h b/cpp/DIS/LogisticsFamilyPdu.h new file mode 100644 index 00000000..9d9ffe53 --- /dev/null +++ b/cpp/DIS/LogisticsFamilyPdu.h @@ -0,0 +1,65 @@ +#ifndef LOGISTICSFAMILYPDU_H +#define LOGISTICSFAMILYPDU_H + +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.5. Abstract superclass for logistics PDUs. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO LogisticsFamilyPdu : public Pdu +{ +protected: + + public: + LogisticsFamilyPdu(); + virtual ~LogisticsFamilyPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + +virtual int getMarshalledSize() const; + + bool operator ==(const LogisticsFamilyPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/LogisticsPdu.cpp b/cpp/DIS/LogisticsPdu.cpp new file mode 100644 index 00000000..a0843dc7 --- /dev/null +++ b/cpp/DIS/LogisticsPdu.cpp @@ -0,0 +1,44 @@ +#include + +using namespace DIS; + + +LogisticsPdu::LogisticsPdu() : Pdu() + +{ + setProtocolFamily( 3 ); +} + +LogisticsPdu::~LogisticsPdu() +{ +} + +void LogisticsPdu::marshal(DataStream& dataStream) const +{ + Pdu::marshal(dataStream); // Marshal information in superclass first +} + +void LogisticsPdu::unmarshal(DataStream& dataStream) +{ + Pdu::unmarshal(dataStream); // unmarshal information in superclass first +} + + +bool LogisticsPdu::operator ==(const LogisticsPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = Pdu::operator==(rhs); + + + return ivarsEqual; + } + +int LogisticsPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = Pdu::getMarshalledSize(); + return marshalSize; +} + diff --git a/cpp/DIS/LogisticsPdu.h b/cpp/DIS/LogisticsPdu.h new file mode 100644 index 00000000..3a45a078 --- /dev/null +++ b/cpp/DIS/LogisticsPdu.h @@ -0,0 +1,37 @@ +#ifndef LOGISTICSPDU_H +#define LOGISTICSPDU_H + +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.5. Abstract superclass for logistics PDUs. COMPLETE + +// Copyright (c) 2007, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +// +// @author DMcG, jkg + +class EXPORT_MACRO LogisticsPdu : public Pdu +{ +protected: + + public: + LogisticsPdu(); + virtual ~LogisticsPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + +virtual int getMarshalledSize() const; + + bool operator ==(const LogisticsPdu& rhs) const; +}; +} + +#endif diff --git a/cpp/DIS/Marking.cpp b/cpp/DIS/Marking.cpp new file mode 100644 index 00000000..fc795def --- /dev/null +++ b/cpp/DIS/Marking.cpp @@ -0,0 +1,132 @@ +#include + +using namespace DIS; + + +Marking::Marking(): + _characterSet(0) +{ + // Initialize fixed length array + for(int lengthcharacters= 0; lengthcharacters < 11; lengthcharacters++) + { + _characters[lengthcharacters] = 0; + } + +} + +Marking::~Marking() +{ +} + +unsigned char Marking::getCharacterSet() const +{ + return _characterSet; +} + +void Marking::setCharacterSet(unsigned char pX) +{ + _characterSet = pX; +} + +char* Marking::getCharacters() +{ + return _characters; +} + +const char* Marking::getCharacters() const +{ + return _characters; +} + +void Marking::setCharacters(const char* x) +{ + for(int i = 0; i < 11; i++) + { + _characters[i] = x[i]; + } +} + +// An alternate method to set the value if this could be a string. This is not strictly comnpliant with the DIS standard. +void Marking::setByStringCharacters(const char* x) +{ + strncpy(_characters, x, 11-1); + _characters[11 -1] = '\0'; +} + +void Marking::marshal(DataStream& dataStream) const +{ + dataStream << _characterSet; + + for(size_t idx = 0; idx < 11; idx++) + { + dataStream << _characters[idx]; + } + +} + +void Marking::unmarshal(DataStream& dataStream) +{ + dataStream >> _characterSet; + + for(size_t idx = 0; idx < 11; idx++) + { + dataStream >> _characters[idx]; + } + +} + + +bool Marking::operator ==(const Marking& rhs) const + { + bool ivarsEqual = true; + + if( ! (_characterSet == rhs._characterSet) ) ivarsEqual = false; + + for(char idx = 0; idx < 11; idx++) + { + if(!(_characters[idx] == rhs._characters[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int Marking::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _characterSet + marshalSize = marshalSize + 11 * 1; // _characters + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/Marking.h b/cpp/DIS/Marking.h new file mode 100644 index 00000000..6703037d --- /dev/null +++ b/cpp/DIS/Marking.h @@ -0,0 +1,78 @@ +#ifndef MARKING_H +#define MARKING_H + +#include +#include + + +namespace DIS +{ +// Section 5.2.15. Specifies the character set used inthe first byte, followed by 11 characters of text data. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO Marking +{ +protected: + /** The character set */ + unsigned char _characterSet; + + /** The characters */ + char _characters[11]; + + + public: + Marking(); + virtual ~Marking(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getCharacterSet() const; + void setCharacterSet(unsigned char pX); + + char* getCharacters(); + const char* getCharacters() const; + void setCharacters( const char* pX); + void setByStringCharacters(const char* pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const Marking& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/MinefieldDataPdu.cpp b/cpp/DIS/MinefieldDataPdu.cpp new file mode 100644 index 00000000..4771c3c6 --- /dev/null +++ b/cpp/DIS/MinefieldDataPdu.cpp @@ -0,0 +1,344 @@ +#include + +using namespace DIS; + + +MinefieldDataPdu::MinefieldDataPdu() : MinefieldFamilyPdu(), + _minefieldID(), + _requestingEntityID(), + _minefieldSequenceNumbeer(0), + _requestID(0), + _pduSequenceNumber(0), + _numberOfPdus(0), + _numberOfMinesInThisPdu(0), + _numberOfSensorTypes(0), + _pad2(0), + _dataFilter(0), + _mineType(), + _pad3(0) +{ + setPduType( 39 ); +} + +MinefieldDataPdu::~MinefieldDataPdu() +{ + _sensorTypes.clear(); + _mineLocation.clear(); +} + +EntityID& MinefieldDataPdu::getMinefieldID() +{ + return _minefieldID; +} + +const EntityID& MinefieldDataPdu::getMinefieldID() const +{ + return _minefieldID; +} + +void MinefieldDataPdu::setMinefieldID(const EntityID &pX) +{ + _minefieldID = pX; +} + +EntityID& MinefieldDataPdu::getRequestingEntityID() +{ + return _requestingEntityID; +} + +const EntityID& MinefieldDataPdu::getRequestingEntityID() const +{ + return _requestingEntityID; +} + +void MinefieldDataPdu::setRequestingEntityID(const EntityID &pX) +{ + _requestingEntityID = pX; +} + +unsigned short MinefieldDataPdu::getMinefieldSequenceNumbeer() const +{ + return _minefieldSequenceNumbeer; +} + +void MinefieldDataPdu::setMinefieldSequenceNumbeer(unsigned short pX) +{ + _minefieldSequenceNumbeer = pX; +} + +unsigned char MinefieldDataPdu::getRequestID() const +{ + return _requestID; +} + +void MinefieldDataPdu::setRequestID(unsigned char pX) +{ + _requestID = pX; +} + +unsigned char MinefieldDataPdu::getPduSequenceNumber() const +{ + return _pduSequenceNumber; +} + +void MinefieldDataPdu::setPduSequenceNumber(unsigned char pX) +{ + _pduSequenceNumber = pX; +} + +unsigned char MinefieldDataPdu::getNumberOfPdus() const +{ + return _numberOfPdus; +} + +void MinefieldDataPdu::setNumberOfPdus(unsigned char pX) +{ + _numberOfPdus = pX; +} + +unsigned char MinefieldDataPdu::getNumberOfMinesInThisPdu() const +{ + return _mineLocation.size(); +} + +unsigned char MinefieldDataPdu::getNumberOfSensorTypes() const +{ + return _sensorTypes.size(); +} + +unsigned char MinefieldDataPdu::getPad2() const +{ + return _pad2; +} + +void MinefieldDataPdu::setPad2(unsigned char pX) +{ + _pad2 = pX; +} + +unsigned int MinefieldDataPdu::getDataFilter() const +{ + return _dataFilter; +} + +void MinefieldDataPdu::setDataFilter(unsigned int pX) +{ + _dataFilter = pX; +} + +EntityType& MinefieldDataPdu::getMineType() +{ + return _mineType; +} + +const EntityType& MinefieldDataPdu::getMineType() const +{ + return _mineType; +} + +void MinefieldDataPdu::setMineType(const EntityType &pX) +{ + _mineType = pX; +} + +std::vector& MinefieldDataPdu::getSensorTypes() +{ + return _sensorTypes; +} + +const std::vector& MinefieldDataPdu::getSensorTypes() const +{ + return _sensorTypes; +} + +void MinefieldDataPdu::setSensorTypes(const std::vector& pX) +{ + _sensorTypes = pX; +} + +unsigned char MinefieldDataPdu::getPad3() const +{ + return _pad3; +} + +void MinefieldDataPdu::setPad3(unsigned char pX) +{ + _pad3 = pX; +} + +std::vector& MinefieldDataPdu::getMineLocation() +{ + return _mineLocation; +} + +const std::vector& MinefieldDataPdu::getMineLocation() const +{ + return _mineLocation; +} + +void MinefieldDataPdu::setMineLocation(const std::vector& pX) +{ + _mineLocation = pX; +} + +void MinefieldDataPdu::marshal(DataStream& dataStream) const +{ + MinefieldFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _minefieldID.marshal(dataStream); + _requestingEntityID.marshal(dataStream); + dataStream << _minefieldSequenceNumbeer; + dataStream << _requestID; + dataStream << _pduSequenceNumber; + dataStream << _numberOfPdus; + dataStream << ( unsigned char )_mineLocation.size(); + dataStream << ( unsigned char )_sensorTypes.size(); + dataStream << _pad2; + dataStream << _dataFilter; + _mineType.marshal(dataStream); + + for(size_t idx = 0; idx < _sensorTypes.size(); idx++) + { + TwoByteChunk x = _sensorTypes[idx]; + x.marshal(dataStream); + } + + dataStream << _pad3; + + for(size_t idx = 0; idx < _mineLocation.size(); idx++) + { + Vector3Float x = _mineLocation[idx]; + x.marshal(dataStream); + } + +} + +void MinefieldDataPdu::unmarshal(DataStream& dataStream) +{ + MinefieldFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _minefieldID.unmarshal(dataStream); + _requestingEntityID.unmarshal(dataStream); + dataStream >> _minefieldSequenceNumbeer; + dataStream >> _requestID; + dataStream >> _pduSequenceNumber; + dataStream >> _numberOfPdus; + dataStream >> _numberOfMinesInThisPdu; + dataStream >> _numberOfSensorTypes; + dataStream >> _pad2; + dataStream >> _dataFilter; + _mineType.unmarshal(dataStream); + + _sensorTypes.clear(); + for(size_t idx = 0; idx < _numberOfSensorTypes; idx++) + { + TwoByteChunk x; + x.unmarshal(dataStream); + _sensorTypes.push_back(x); + } + dataStream >> _pad3; + + _mineLocation.clear(); + for(size_t idx = 0; idx < _numberOfMinesInThisPdu; idx++) + { + Vector3Float x; + x.unmarshal(dataStream); + _mineLocation.push_back(x); + } +} + + +bool MinefieldDataPdu::operator ==(const MinefieldDataPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = MinefieldFamilyPdu::operator==(rhs); + + if( ! (_minefieldID == rhs._minefieldID) ) ivarsEqual = false; + if( ! (_requestingEntityID == rhs._requestingEntityID) ) ivarsEqual = false; + if( ! (_minefieldSequenceNumbeer == rhs._minefieldSequenceNumbeer) ) ivarsEqual = false; + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + if( ! (_pduSequenceNumber == rhs._pduSequenceNumber) ) ivarsEqual = false; + if( ! (_numberOfPdus == rhs._numberOfPdus) ) ivarsEqual = false; + if( ! (_pad2 == rhs._pad2) ) ivarsEqual = false; + if( ! (_dataFilter == rhs._dataFilter) ) ivarsEqual = false; + if( ! (_mineType == rhs._mineType) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _sensorTypes.size(); idx++) + { + if( ! ( _sensorTypes[idx] == rhs._sensorTypes[idx]) ) ivarsEqual = false; + } + + if( ! (_pad3 == rhs._pad3) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _mineLocation.size(); idx++) + { + if( ! ( _mineLocation[idx] == rhs._mineLocation[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int MinefieldDataPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = MinefieldFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _minefieldID.getMarshalledSize(); // _minefieldID + marshalSize = marshalSize + _requestingEntityID.getMarshalledSize(); // _requestingEntityID + marshalSize = marshalSize + 2; // _minefieldSequenceNumbeer + marshalSize = marshalSize + 1; // _requestID + marshalSize = marshalSize + 1; // _pduSequenceNumber + marshalSize = marshalSize + 1; // _numberOfPdus + marshalSize = marshalSize + 1; // _numberOfMinesInThisPdu + marshalSize = marshalSize + 1; // _numberOfSensorTypes + marshalSize = marshalSize + 1; // _pad2 + marshalSize = marshalSize + 4; // _dataFilter + marshalSize = marshalSize + _mineType.getMarshalledSize(); // _mineType + + for(int idx=0; idx < _sensorTypes.size(); idx++) + { + TwoByteChunk listElement = _sensorTypes[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + marshalSize = marshalSize + 1; // _pad3 + + for(int idx=0; idx < _mineLocation.size(); idx++) + { + Vector3Float listElement = _mineLocation[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/MinefieldDataPdu.h b/cpp/DIS/MinefieldDataPdu.h new file mode 100644 index 00000000..3634f384 --- /dev/null +++ b/cpp/DIS/MinefieldDataPdu.h @@ -0,0 +1,158 @@ +#ifndef MINEFIELDDATAPDU_H +#define MINEFIELDDATAPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.10.3 Information about individual mines within a minefield. This is very, very wrong. UNFINISHED + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO MinefieldDataPdu : public MinefieldFamilyPdu +{ +protected: + /** Minefield ID */ + EntityID _minefieldID; + + /** ID of entity making request */ + EntityID _requestingEntityID; + + /** Minefield sequence number */ + unsigned short _minefieldSequenceNumbeer; + + /** request ID */ + unsigned char _requestID; + + /** pdu sequence number */ + unsigned char _pduSequenceNumber; + + /** number of pdus in response */ + unsigned char _numberOfPdus; + + /** how many mines are in this PDU */ + unsigned char _numberOfMinesInThisPdu; + + /** how many sensor type are in this PDU */ + unsigned char _numberOfSensorTypes; + + /** padding */ + unsigned char _pad2; + + /** 32 boolean fields */ + unsigned int _dataFilter; + + /** Mine type */ + EntityType _mineType; + + /** Sensor types, each 16 bits long */ + std::vector _sensorTypes; + + /** Padding to get things 32-bit aligned. ^^^this is wrong--dyanmically sized padding needed */ + unsigned char _pad3; + + /** Mine locations */ + std::vector _mineLocation; + + + public: + MinefieldDataPdu(); + virtual ~MinefieldDataPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getMinefieldID(); + const EntityID& getMinefieldID() const; + void setMinefieldID(const EntityID &pX); + + EntityID& getRequestingEntityID(); + const EntityID& getRequestingEntityID() const; + void setRequestingEntityID(const EntityID &pX); + + unsigned short getMinefieldSequenceNumbeer() const; + void setMinefieldSequenceNumbeer(unsigned short pX); + + unsigned char getRequestID() const; + void setRequestID(unsigned char pX); + + unsigned char getPduSequenceNumber() const; + void setPduSequenceNumber(unsigned char pX); + + unsigned char getNumberOfPdus() const; + void setNumberOfPdus(unsigned char pX); + + unsigned char getNumberOfMinesInThisPdu() const; + + unsigned char getNumberOfSensorTypes() const; + + unsigned char getPad2() const; + void setPad2(unsigned char pX); + + unsigned int getDataFilter() const; + void setDataFilter(unsigned int pX); + + EntityType& getMineType(); + const EntityType& getMineType() const; + void setMineType(const EntityType &pX); + + std::vector& getSensorTypes(); + const std::vector& getSensorTypes() const; + void setSensorTypes(const std::vector& pX); + + unsigned char getPad3() const; + void setPad3(unsigned char pX); + + std::vector& getMineLocation(); + const std::vector& getMineLocation() const; + void setMineLocation(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const MinefieldDataPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/MinefieldFamilyPdu.cpp b/cpp/DIS/MinefieldFamilyPdu.cpp new file mode 100644 index 00000000..ce1da42c --- /dev/null +++ b/cpp/DIS/MinefieldFamilyPdu.cpp @@ -0,0 +1,74 @@ +#include + +using namespace DIS; + + +MinefieldFamilyPdu::MinefieldFamilyPdu() : Pdu() + +{ + setProtocolFamily( 8 ); +} + +MinefieldFamilyPdu::~MinefieldFamilyPdu() +{ +} + +void MinefieldFamilyPdu::marshal(DataStream& dataStream) const +{ + Pdu::marshal(dataStream); // Marshal information in superclass first +} + +void MinefieldFamilyPdu::unmarshal(DataStream& dataStream) +{ + Pdu::unmarshal(dataStream); // unmarshal information in superclass first +} + + +bool MinefieldFamilyPdu::operator ==(const MinefieldFamilyPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = Pdu::operator==(rhs); + + + return ivarsEqual; + } + +int MinefieldFamilyPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = Pdu::getMarshalledSize(); + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/MinefieldFamilyPdu.h b/cpp/DIS/MinefieldFamilyPdu.h new file mode 100644 index 00000000..57fa1d57 --- /dev/null +++ b/cpp/DIS/MinefieldFamilyPdu.h @@ -0,0 +1,65 @@ +#ifndef MINEFIELDFAMILYPDU_H +#define MINEFIELDFAMILYPDU_H + +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.10.1 Abstract superclass for PDUs relating to minefields + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO MinefieldFamilyPdu : public Pdu +{ +protected: + + public: + MinefieldFamilyPdu(); + virtual ~MinefieldFamilyPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + +virtual int getMarshalledSize() const; + + bool operator ==(const MinefieldFamilyPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/MinefieldPduFamily.cpp b/cpp/DIS/MinefieldPduFamily.cpp new file mode 100644 index 00000000..9403d5c6 --- /dev/null +++ b/cpp/DIS/MinefieldPduFamily.cpp @@ -0,0 +1,44 @@ +#include + +using namespace DIS; + + +MinefieldPduFamily::MinefieldPduFamily() : Pdu() + +{ + setProtocolFamily( 8 ); +} + +MinefieldPduFamily::~MinefieldPduFamily() +{ +} + +void MinefieldPduFamily::marshal(DataStream& dataStream) const +{ + Pdu::marshal(dataStream); // Marshal information in superclass first +} + +void MinefieldPduFamily::unmarshal(DataStream& dataStream) +{ + Pdu::unmarshal(dataStream); // unmarshal information in superclass first +} + + +bool MinefieldPduFamily::operator ==(const MinefieldPduFamily& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = Pdu::operator==(rhs); + + + return ivarsEqual; + } + +int MinefieldPduFamily::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = Pdu::getMarshalledSize(); + return marshalSize; +} + diff --git a/cpp/DIS/MinefieldPduFamily.h b/cpp/DIS/MinefieldPduFamily.h new file mode 100644 index 00000000..aba8852e --- /dev/null +++ b/cpp/DIS/MinefieldPduFamily.h @@ -0,0 +1,37 @@ +#ifndef MINEFIELDPDUFAMILY_H +#define MINEFIELDPDUFAMILY_H + +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.10.1 Abstract superclass for PDUs relating to minefields + +// Copyright (c) 2007, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +// +// @author DMcG, jkg + +class EXPORT_MACRO MinefieldPduFamily : public Pdu +{ +protected: + + public: + MinefieldPduFamily(); + virtual ~MinefieldPduFamily(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + +virtual int getMarshalledSize() const; + + bool operator ==(const MinefieldPduFamily& rhs) const; +}; +} + +#endif diff --git a/cpp/DIS/MinefieldQueryPdu.cpp b/cpp/DIS/MinefieldQueryPdu.cpp new file mode 100644 index 00000000..60d96a1f --- /dev/null +++ b/cpp/DIS/MinefieldQueryPdu.cpp @@ -0,0 +1,284 @@ +#include + +using namespace DIS; + + +MinefieldQueryPdu::MinefieldQueryPdu() : MinefieldFamilyPdu(), + _minefieldID(), + _requestingEntityID(), + _requestID(0), + _numberOfPerimeterPoints(0), + _pad2(0), + _numberOfSensorTypes(0), + _dataFilter(0), + _requestedMineType() +{ + setPduType( 38 ); +} + +MinefieldQueryPdu::~MinefieldQueryPdu() +{ + _requestedPerimeterPoints.clear(); + _sensorTypes.clear(); +} + +EntityID& MinefieldQueryPdu::getMinefieldID() +{ + return _minefieldID; +} + +const EntityID& MinefieldQueryPdu::getMinefieldID() const +{ + return _minefieldID; +} + +void MinefieldQueryPdu::setMinefieldID(const EntityID &pX) +{ + _minefieldID = pX; +} + +EntityID& MinefieldQueryPdu::getRequestingEntityID() +{ + return _requestingEntityID; +} + +const EntityID& MinefieldQueryPdu::getRequestingEntityID() const +{ + return _requestingEntityID; +} + +void MinefieldQueryPdu::setRequestingEntityID(const EntityID &pX) +{ + _requestingEntityID = pX; +} + +unsigned char MinefieldQueryPdu::getRequestID() const +{ + return _requestID; +} + +void MinefieldQueryPdu::setRequestID(unsigned char pX) +{ + _requestID = pX; +} + +unsigned char MinefieldQueryPdu::getNumberOfPerimeterPoints() const +{ + return _requestedPerimeterPoints.size(); +} + +unsigned char MinefieldQueryPdu::getPad2() const +{ + return _pad2; +} + +void MinefieldQueryPdu::setPad2(unsigned char pX) +{ + _pad2 = pX; +} + +unsigned char MinefieldQueryPdu::getNumberOfSensorTypes() const +{ + return _sensorTypes.size(); +} + +unsigned int MinefieldQueryPdu::getDataFilter() const +{ + return _dataFilter; +} + +void MinefieldQueryPdu::setDataFilter(unsigned int pX) +{ + _dataFilter = pX; +} + +EntityType& MinefieldQueryPdu::getRequestedMineType() +{ + return _requestedMineType; +} + +const EntityType& MinefieldQueryPdu::getRequestedMineType() const +{ + return _requestedMineType; +} + +void MinefieldQueryPdu::setRequestedMineType(const EntityType &pX) +{ + _requestedMineType = pX; +} + +std::vector& MinefieldQueryPdu::getRequestedPerimeterPoints() +{ + return _requestedPerimeterPoints; +} + +const std::vector& MinefieldQueryPdu::getRequestedPerimeterPoints() const +{ + return _requestedPerimeterPoints; +} + +void MinefieldQueryPdu::setRequestedPerimeterPoints(const std::vector& pX) +{ + _requestedPerimeterPoints = pX; +} + +std::vector& MinefieldQueryPdu::getSensorTypes() +{ + return _sensorTypes; +} + +const std::vector& MinefieldQueryPdu::getSensorTypes() const +{ + return _sensorTypes; +} + +void MinefieldQueryPdu::setSensorTypes(const std::vector& pX) +{ + _sensorTypes = pX; +} + +void MinefieldQueryPdu::marshal(DataStream& dataStream) const +{ + MinefieldFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _minefieldID.marshal(dataStream); + _requestingEntityID.marshal(dataStream); + dataStream << _requestID; + dataStream << ( unsigned char )_requestedPerimeterPoints.size(); + dataStream << _pad2; + dataStream << ( unsigned char )_sensorTypes.size(); + dataStream << _dataFilter; + _requestedMineType.marshal(dataStream); + + for(size_t idx = 0; idx < _requestedPerimeterPoints.size(); idx++) + { + Point x = _requestedPerimeterPoints[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _sensorTypes.size(); idx++) + { + TwoByteChunk x = _sensorTypes[idx]; + x.marshal(dataStream); + } + +} + +void MinefieldQueryPdu::unmarshal(DataStream& dataStream) +{ + MinefieldFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _minefieldID.unmarshal(dataStream); + _requestingEntityID.unmarshal(dataStream); + dataStream >> _requestID; + dataStream >> _numberOfPerimeterPoints; + dataStream >> _pad2; + dataStream >> _numberOfSensorTypes; + dataStream >> _dataFilter; + _requestedMineType.unmarshal(dataStream); + + _requestedPerimeterPoints.clear(); + for(size_t idx = 0; idx < _numberOfPerimeterPoints; idx++) + { + Point x; + x.unmarshal(dataStream); + _requestedPerimeterPoints.push_back(x); + } + + _sensorTypes.clear(); + for(size_t idx = 0; idx < _numberOfSensorTypes; idx++) + { + TwoByteChunk x; + x.unmarshal(dataStream); + _sensorTypes.push_back(x); + } +} + + +bool MinefieldQueryPdu::operator ==(const MinefieldQueryPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = MinefieldFamilyPdu::operator==(rhs); + + if( ! (_minefieldID == rhs._minefieldID) ) ivarsEqual = false; + if( ! (_requestingEntityID == rhs._requestingEntityID) ) ivarsEqual = false; + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + if( ! (_pad2 == rhs._pad2) ) ivarsEqual = false; + if( ! (_dataFilter == rhs._dataFilter) ) ivarsEqual = false; + if( ! (_requestedMineType == rhs._requestedMineType) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _requestedPerimeterPoints.size(); idx++) + { + if( ! ( _requestedPerimeterPoints[idx] == rhs._requestedPerimeterPoints[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _sensorTypes.size(); idx++) + { + if( ! ( _sensorTypes[idx] == rhs._sensorTypes[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int MinefieldQueryPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = MinefieldFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _minefieldID.getMarshalledSize(); // _minefieldID + marshalSize = marshalSize + _requestingEntityID.getMarshalledSize(); // _requestingEntityID + marshalSize = marshalSize + 1; // _requestID + marshalSize = marshalSize + 1; // _numberOfPerimeterPoints + marshalSize = marshalSize + 1; // _pad2 + marshalSize = marshalSize + 1; // _numberOfSensorTypes + marshalSize = marshalSize + 4; // _dataFilter + marshalSize = marshalSize + _requestedMineType.getMarshalledSize(); // _requestedMineType + + for(int idx=0; idx < _requestedPerimeterPoints.size(); idx++) + { + Point listElement = _requestedPerimeterPoints[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _sensorTypes.size(); idx++) + { + TwoByteChunk listElement = _sensorTypes[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/MinefieldQueryPdu.h b/cpp/DIS/MinefieldQueryPdu.h new file mode 100644 index 00000000..7ee21af8 --- /dev/null +++ b/cpp/DIS/MinefieldQueryPdu.h @@ -0,0 +1,134 @@ +#ifndef MINEFIELDQUERYPDU_H +#define MINEFIELDQUERYPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.10.2 Query a minefield for information about individual mines. Requires manual clean up to get the padding right. UNFINISHED + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO MinefieldQueryPdu : public MinefieldFamilyPdu +{ +protected: + /** Minefield ID */ + EntityID _minefieldID; + + /** EID of entity making the request */ + EntityID _requestingEntityID; + + /** request ID */ + unsigned char _requestID; + + /** Number of perimeter points for the minefield */ + unsigned char _numberOfPerimeterPoints; + + /** Padding */ + unsigned char _pad2; + + /** Number of sensor types */ + unsigned char _numberOfSensorTypes; + + /** data filter, 32 boolean fields */ + unsigned int _dataFilter; + + /** Entity type of mine being requested */ + EntityType _requestedMineType; + + /** perimeter points of request */ + std::vector _requestedPerimeterPoints; + + /** Sensor types, each 16 bits long */ + std::vector _sensorTypes; + + + public: + MinefieldQueryPdu(); + virtual ~MinefieldQueryPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getMinefieldID(); + const EntityID& getMinefieldID() const; + void setMinefieldID(const EntityID &pX); + + EntityID& getRequestingEntityID(); + const EntityID& getRequestingEntityID() const; + void setRequestingEntityID(const EntityID &pX); + + unsigned char getRequestID() const; + void setRequestID(unsigned char pX); + + unsigned char getNumberOfPerimeterPoints() const; + + unsigned char getPad2() const; + void setPad2(unsigned char pX); + + unsigned char getNumberOfSensorTypes() const; + + unsigned int getDataFilter() const; + void setDataFilter(unsigned int pX); + + EntityType& getRequestedMineType(); + const EntityType& getRequestedMineType() const; + void setRequestedMineType(const EntityType &pX); + + std::vector& getRequestedPerimeterPoints(); + const std::vector& getRequestedPerimeterPoints() const; + void setRequestedPerimeterPoints(const std::vector& pX); + + std::vector& getSensorTypes(); + const std::vector& getSensorTypes() const; + void setSensorTypes(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const MinefieldQueryPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/MinefieldResponseNackPdu.cpp b/cpp/DIS/MinefieldResponseNackPdu.cpp new file mode 100644 index 00000000..d5fa501e --- /dev/null +++ b/cpp/DIS/MinefieldResponseNackPdu.cpp @@ -0,0 +1,181 @@ +#include + +using namespace DIS; + + +MinefieldResponseNackPdu::MinefieldResponseNackPdu() : MinefieldFamilyPdu(), + _minefieldID(), + _requestingEntityID(), + _requestID(0), + _numberOfMissingPdus(0) +{ + setPduType( 40 ); +} + +MinefieldResponseNackPdu::~MinefieldResponseNackPdu() +{ + _missingPduSequenceNumbers.clear(); +} + +EntityID& MinefieldResponseNackPdu::getMinefieldID() +{ + return _minefieldID; +} + +const EntityID& MinefieldResponseNackPdu::getMinefieldID() const +{ + return _minefieldID; +} + +void MinefieldResponseNackPdu::setMinefieldID(const EntityID &pX) +{ + _minefieldID = pX; +} + +EntityID& MinefieldResponseNackPdu::getRequestingEntityID() +{ + return _requestingEntityID; +} + +const EntityID& MinefieldResponseNackPdu::getRequestingEntityID() const +{ + return _requestingEntityID; +} + +void MinefieldResponseNackPdu::setRequestingEntityID(const EntityID &pX) +{ + _requestingEntityID = pX; +} + +unsigned char MinefieldResponseNackPdu::getRequestID() const +{ + return _requestID; +} + +void MinefieldResponseNackPdu::setRequestID(unsigned char pX) +{ + _requestID = pX; +} + +unsigned char MinefieldResponseNackPdu::getNumberOfMissingPdus() const +{ + return _missingPduSequenceNumbers.size(); +} + +std::vector& MinefieldResponseNackPdu::getMissingPduSequenceNumbers() +{ + return _missingPduSequenceNumbers; +} + +const std::vector& MinefieldResponseNackPdu::getMissingPduSequenceNumbers() const +{ + return _missingPduSequenceNumbers; +} + +void MinefieldResponseNackPdu::setMissingPduSequenceNumbers(const std::vector& pX) +{ + _missingPduSequenceNumbers = pX; +} + +void MinefieldResponseNackPdu::marshal(DataStream& dataStream) const +{ + MinefieldFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _minefieldID.marshal(dataStream); + _requestingEntityID.marshal(dataStream); + dataStream << _requestID; + dataStream << ( unsigned char )_missingPduSequenceNumbers.size(); + + for(size_t idx = 0; idx < _missingPduSequenceNumbers.size(); idx++) + { + EightByteChunk x = _missingPduSequenceNumbers[idx]; + x.marshal(dataStream); + } + +} + +void MinefieldResponseNackPdu::unmarshal(DataStream& dataStream) +{ + MinefieldFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _minefieldID.unmarshal(dataStream); + _requestingEntityID.unmarshal(dataStream); + dataStream >> _requestID; + dataStream >> _numberOfMissingPdus; + + _missingPduSequenceNumbers.clear(); + for(size_t idx = 0; idx < _numberOfMissingPdus; idx++) + { + EightByteChunk x; + x.unmarshal(dataStream); + _missingPduSequenceNumbers.push_back(x); + } +} + + +bool MinefieldResponseNackPdu::operator ==(const MinefieldResponseNackPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = MinefieldFamilyPdu::operator==(rhs); + + if( ! (_minefieldID == rhs._minefieldID) ) ivarsEqual = false; + if( ! (_requestingEntityID == rhs._requestingEntityID) ) ivarsEqual = false; + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _missingPduSequenceNumbers.size(); idx++) + { + if( ! ( _missingPduSequenceNumbers[idx] == rhs._missingPduSequenceNumbers[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int MinefieldResponseNackPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = MinefieldFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _minefieldID.getMarshalledSize(); // _minefieldID + marshalSize = marshalSize + _requestingEntityID.getMarshalledSize(); // _requestingEntityID + marshalSize = marshalSize + 1; // _requestID + marshalSize = marshalSize + 1; // _numberOfMissingPdus + + for(int idx=0; idx < _missingPduSequenceNumbers.size(); idx++) + { + EightByteChunk listElement = _missingPduSequenceNumbers[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/MinefieldResponseNackPdu.h b/cpp/DIS/MinefieldResponseNackPdu.h new file mode 100644 index 00000000..2f721eb3 --- /dev/null +++ b/cpp/DIS/MinefieldResponseNackPdu.h @@ -0,0 +1,101 @@ +#ifndef MINEFIELDRESPONSENACKPDU_H +#define MINEFIELDRESPONSENACKPDU_H + +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.10.4 proivde the means to request a retransmit of a minefield data pdu. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO MinefieldResponseNackPdu : public MinefieldFamilyPdu +{ +protected: + /** Minefield ID */ + EntityID _minefieldID; + + /** entity ID making the request */ + EntityID _requestingEntityID; + + /** request ID */ + unsigned char _requestID; + + /** how many pdus were missing */ + unsigned char _numberOfMissingPdus; + + /** PDU sequence numbers that were missing */ + std::vector _missingPduSequenceNumbers; + + + public: + MinefieldResponseNackPdu(); + virtual ~MinefieldResponseNackPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getMinefieldID(); + const EntityID& getMinefieldID() const; + void setMinefieldID(const EntityID &pX); + + EntityID& getRequestingEntityID(); + const EntityID& getRequestingEntityID() const; + void setRequestingEntityID(const EntityID &pX); + + unsigned char getRequestID() const; + void setRequestID(unsigned char pX); + + unsigned char getNumberOfMissingPdus() const; + + std::vector& getMissingPduSequenceNumbers(); + const std::vector& getMissingPduSequenceNumbers() const; + void setMissingPduSequenceNumbers(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const MinefieldResponseNackPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/MinefieldStatePdu.cpp b/cpp/DIS/MinefieldStatePdu.cpp new file mode 100644 index 00000000..15550d62 --- /dev/null +++ b/cpp/DIS/MinefieldStatePdu.cpp @@ -0,0 +1,319 @@ +#include + +using namespace DIS; + + +MinefieldStatePdu::MinefieldStatePdu() : MinefieldFamilyPdu(), + _minefieldID(), + _minefieldSequence(0), + _forceID(0), + _numberOfPerimeterPoints(0), + _minefieldType(), + _numberOfMineTypes(0), + _minefieldLocation(), + _minefieldOrientation(), + _appearance(0), + _protocolMode(0) +{ + setPduType( 37 ); +} + +MinefieldStatePdu::~MinefieldStatePdu() +{ + _perimeterPoints.clear(); + _mineType.clear(); +} + +EntityID& MinefieldStatePdu::getMinefieldID() +{ + return _minefieldID; +} + +const EntityID& MinefieldStatePdu::getMinefieldID() const +{ + return _minefieldID; +} + +void MinefieldStatePdu::setMinefieldID(const EntityID &pX) +{ + _minefieldID = pX; +} + +unsigned short MinefieldStatePdu::getMinefieldSequence() const +{ + return _minefieldSequence; +} + +void MinefieldStatePdu::setMinefieldSequence(unsigned short pX) +{ + _minefieldSequence = pX; +} + +unsigned char MinefieldStatePdu::getForceID() const +{ + return _forceID; +} + +void MinefieldStatePdu::setForceID(unsigned char pX) +{ + _forceID = pX; +} + +unsigned char MinefieldStatePdu::getNumberOfPerimeterPoints() const +{ + return _perimeterPoints.size(); +} + +EntityType& MinefieldStatePdu::getMinefieldType() +{ + return _minefieldType; +} + +const EntityType& MinefieldStatePdu::getMinefieldType() const +{ + return _minefieldType; +} + +void MinefieldStatePdu::setMinefieldType(const EntityType &pX) +{ + _minefieldType = pX; +} + +unsigned short MinefieldStatePdu::getNumberOfMineTypes() const +{ + return _mineType.size(); +} + +Vector3Double& MinefieldStatePdu::getMinefieldLocation() +{ + return _minefieldLocation; +} + +const Vector3Double& MinefieldStatePdu::getMinefieldLocation() const +{ + return _minefieldLocation; +} + +void MinefieldStatePdu::setMinefieldLocation(const Vector3Double &pX) +{ + _minefieldLocation = pX; +} + +Orientation& MinefieldStatePdu::getMinefieldOrientation() +{ + return _minefieldOrientation; +} + +const Orientation& MinefieldStatePdu::getMinefieldOrientation() const +{ + return _minefieldOrientation; +} + +void MinefieldStatePdu::setMinefieldOrientation(const Orientation &pX) +{ + _minefieldOrientation = pX; +} + +unsigned short MinefieldStatePdu::getAppearance() const +{ + return _appearance; +} + +void MinefieldStatePdu::setAppearance(unsigned short pX) +{ + _appearance = pX; +} + +unsigned short MinefieldStatePdu::getProtocolMode() const +{ + return _protocolMode; +} + +void MinefieldStatePdu::setProtocolMode(unsigned short pX) +{ + _protocolMode = pX; +} + +std::vector& MinefieldStatePdu::getPerimeterPoints() +{ + return _perimeterPoints; +} + +const std::vector& MinefieldStatePdu::getPerimeterPoints() const +{ + return _perimeterPoints; +} + +void MinefieldStatePdu::setPerimeterPoints(const std::vector& pX) +{ + _perimeterPoints = pX; +} + +std::vector& MinefieldStatePdu::getMineType() +{ + return _mineType; +} + +const std::vector& MinefieldStatePdu::getMineType() const +{ + return _mineType; +} + +void MinefieldStatePdu::setMineType(const std::vector& pX) +{ + _mineType = pX; +} + +void MinefieldStatePdu::marshal(DataStream& dataStream) const +{ + MinefieldFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _minefieldID.marshal(dataStream); + dataStream << _minefieldSequence; + dataStream << _forceID; + dataStream << ( unsigned char )_perimeterPoints.size(); + _minefieldType.marshal(dataStream); + dataStream << ( unsigned short )_mineType.size(); + _minefieldLocation.marshal(dataStream); + _minefieldOrientation.marshal(dataStream); + dataStream << _appearance; + dataStream << _protocolMode; + + for(size_t idx = 0; idx < _perimeterPoints.size(); idx++) + { + Point x = _perimeterPoints[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _mineType.size(); idx++) + { + EntityType x = _mineType[idx]; + x.marshal(dataStream); + } + +} + +void MinefieldStatePdu::unmarshal(DataStream& dataStream) +{ + MinefieldFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _minefieldID.unmarshal(dataStream); + dataStream >> _minefieldSequence; + dataStream >> _forceID; + dataStream >> _numberOfPerimeterPoints; + _minefieldType.unmarshal(dataStream); + dataStream >> _numberOfMineTypes; + _minefieldLocation.unmarshal(dataStream); + _minefieldOrientation.unmarshal(dataStream); + dataStream >> _appearance; + dataStream >> _protocolMode; + + _perimeterPoints.clear(); + for(size_t idx = 0; idx < _numberOfPerimeterPoints; idx++) + { + Point x; + x.unmarshal(dataStream); + _perimeterPoints.push_back(x); + } + + _mineType.clear(); + for(size_t idx = 0; idx < _numberOfMineTypes; idx++) + { + EntityType x; + x.unmarshal(dataStream); + _mineType.push_back(x); + } +} + + +bool MinefieldStatePdu::operator ==(const MinefieldStatePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = MinefieldFamilyPdu::operator==(rhs); + + if( ! (_minefieldID == rhs._minefieldID) ) ivarsEqual = false; + if( ! (_minefieldSequence == rhs._minefieldSequence) ) ivarsEqual = false; + if( ! (_forceID == rhs._forceID) ) ivarsEqual = false; + if( ! (_minefieldType == rhs._minefieldType) ) ivarsEqual = false; + if( ! (_minefieldLocation == rhs._minefieldLocation) ) ivarsEqual = false; + if( ! (_minefieldOrientation == rhs._minefieldOrientation) ) ivarsEqual = false; + if( ! (_appearance == rhs._appearance) ) ivarsEqual = false; + if( ! (_protocolMode == rhs._protocolMode) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _perimeterPoints.size(); idx++) + { + if( ! ( _perimeterPoints[idx] == rhs._perimeterPoints[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _mineType.size(); idx++) + { + if( ! ( _mineType[idx] == rhs._mineType[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int MinefieldStatePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = MinefieldFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _minefieldID.getMarshalledSize(); // _minefieldID + marshalSize = marshalSize + 2; // _minefieldSequence + marshalSize = marshalSize + 1; // _forceID + marshalSize = marshalSize + 1; // _numberOfPerimeterPoints + marshalSize = marshalSize + _minefieldType.getMarshalledSize(); // _minefieldType + marshalSize = marshalSize + 2; // _numberOfMineTypes + marshalSize = marshalSize + _minefieldLocation.getMarshalledSize(); // _minefieldLocation + marshalSize = marshalSize + _minefieldOrientation.getMarshalledSize(); // _minefieldOrientation + marshalSize = marshalSize + 2; // _appearance + marshalSize = marshalSize + 2; // _protocolMode + + for(int idx=0; idx < _perimeterPoints.size(); idx++) + { + Point listElement = _perimeterPoints[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _mineType.size(); idx++) + { + EntityType listElement = _mineType[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/MinefieldStatePdu.h b/cpp/DIS/MinefieldStatePdu.h new file mode 100644 index 00000000..4208a5ce --- /dev/null +++ b/cpp/DIS/MinefieldStatePdu.h @@ -0,0 +1,148 @@ +#ifndef MINEFIELDSTATEPDU_H +#define MINEFIELDSTATEPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.10.1 Abstract superclass for PDUs relating to minefields. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO MinefieldStatePdu : public MinefieldFamilyPdu +{ +protected: + /** Minefield ID */ + EntityID _minefieldID; + + /** Minefield sequence */ + unsigned short _minefieldSequence; + + /** force ID */ + unsigned char _forceID; + + /** Number of permieter points */ + unsigned char _numberOfPerimeterPoints; + + /** type of minefield */ + EntityType _minefieldType; + + /** how many mine types */ + unsigned short _numberOfMineTypes; + + /** location of minefield in world coords */ + Vector3Double _minefieldLocation; + + /** orientation of minefield */ + Orientation _minefieldOrientation; + + /** appearance bitflags */ + unsigned short _appearance; + + /** protocolMode */ + unsigned short _protocolMode; + + /** perimeter points for the minefield */ + std::vector _perimeterPoints; + + /** Type of mines */ + std::vector _mineType; + + + public: + MinefieldStatePdu(); + virtual ~MinefieldStatePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getMinefieldID(); + const EntityID& getMinefieldID() const; + void setMinefieldID(const EntityID &pX); + + unsigned short getMinefieldSequence() const; + void setMinefieldSequence(unsigned short pX); + + unsigned char getForceID() const; + void setForceID(unsigned char pX); + + unsigned char getNumberOfPerimeterPoints() const; + + EntityType& getMinefieldType(); + const EntityType& getMinefieldType() const; + void setMinefieldType(const EntityType &pX); + + unsigned short getNumberOfMineTypes() const; + + Vector3Double& getMinefieldLocation(); + const Vector3Double& getMinefieldLocation() const; + void setMinefieldLocation(const Vector3Double &pX); + + Orientation& getMinefieldOrientation(); + const Orientation& getMinefieldOrientation() const; + void setMinefieldOrientation(const Orientation &pX); + + unsigned short getAppearance() const; + void setAppearance(unsigned short pX); + + unsigned short getProtocolMode() const; + void setProtocolMode(unsigned short pX); + + std::vector& getPerimeterPoints(); + const std::vector& getPerimeterPoints() const; + void setPerimeterPoints(const std::vector& pX); + + std::vector& getMineType(); + const std::vector& getMineType() const; + void setMineType(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const MinefieldStatePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ModulationType.cpp b/cpp/DIS/ModulationType.cpp new file mode 100644 index 00000000..a7428175 --- /dev/null +++ b/cpp/DIS/ModulationType.cpp @@ -0,0 +1,127 @@ +#include + +using namespace DIS; + + +ModulationType::ModulationType(): + _spreadSpectrum(0), + _major(0), + _detail(0), + _system(0) +{ +} + +ModulationType::~ModulationType() +{ +} + +unsigned short ModulationType::getSpreadSpectrum() const +{ + return _spreadSpectrum; +} + +void ModulationType::setSpreadSpectrum(unsigned short pX) +{ + _spreadSpectrum = pX; +} + +unsigned short ModulationType::getMajor() const +{ + return _major; +} + +void ModulationType::setMajor(unsigned short pX) +{ + _major = pX; +} + +unsigned short ModulationType::getDetail() const +{ + return _detail; +} + +void ModulationType::setDetail(unsigned short pX) +{ + _detail = pX; +} + +unsigned short ModulationType::getSystem() const +{ + return _system; +} + +void ModulationType::setSystem(unsigned short pX) +{ + _system = pX; +} + +void ModulationType::marshal(DataStream& dataStream) const +{ + dataStream << _spreadSpectrum; + dataStream << _major; + dataStream << _detail; + dataStream << _system; +} + +void ModulationType::unmarshal(DataStream& dataStream) +{ + dataStream >> _spreadSpectrum; + dataStream >> _major; + dataStream >> _detail; + dataStream >> _system; +} + + +bool ModulationType::operator ==(const ModulationType& rhs) const + { + bool ivarsEqual = true; + + if( ! (_spreadSpectrum == rhs._spreadSpectrum) ) ivarsEqual = false; + if( ! (_major == rhs._major) ) ivarsEqual = false; + if( ! (_detail == rhs._detail) ) ivarsEqual = false; + if( ! (_system == rhs._system) ) ivarsEqual = false; + + return ivarsEqual; + } + +int ModulationType::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2; // _spreadSpectrum + marshalSize = marshalSize + 2; // _major + marshalSize = marshalSize + 2; // _detail + marshalSize = marshalSize + 2; // _system + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ModulationType.h b/cpp/DIS/ModulationType.h new file mode 100644 index 00000000..72598256 --- /dev/null +++ b/cpp/DIS/ModulationType.h @@ -0,0 +1,88 @@ +#ifndef MODULATIONTYPE_H +#define MODULATIONTYPE_H + +#include +#include + + +namespace DIS +{ +// Radio modulation + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ModulationType +{ +protected: + /** spread spectrum, 16 bit boolean array */ + unsigned short _spreadSpectrum; + + /** major */ + unsigned short _major; + + /** detail */ + unsigned short _detail; + + /** system */ + unsigned short _system; + + + public: + ModulationType(); + virtual ~ModulationType(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getSpreadSpectrum() const; + void setSpreadSpectrum(unsigned short pX); + + unsigned short getMajor() const; + void setMajor(unsigned short pX); + + unsigned short getDetail() const; + void setDetail(unsigned short pX); + + unsigned short getSystem() const; + void setSystem(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ModulationType& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/NamedLocation.cpp b/cpp/DIS/NamedLocation.cpp new file mode 100644 index 00000000..178bfac9 --- /dev/null +++ b/cpp/DIS/NamedLocation.cpp @@ -0,0 +1,97 @@ +#include + +using namespace DIS; + + +NamedLocation::NamedLocation(): + _stationName(0), + _stationNumber(0) +{ +} + +NamedLocation::~NamedLocation() +{ +} + +unsigned short NamedLocation::getStationName() const +{ + return _stationName; +} + +void NamedLocation::setStationName(unsigned short pX) +{ + _stationName = pX; +} + +unsigned short NamedLocation::getStationNumber() const +{ + return _stationNumber; +} + +void NamedLocation::setStationNumber(unsigned short pX) +{ + _stationNumber = pX; +} + +void NamedLocation::marshal(DataStream& dataStream) const +{ + dataStream << _stationName; + dataStream << _stationNumber; +} + +void NamedLocation::unmarshal(DataStream& dataStream) +{ + dataStream >> _stationName; + dataStream >> _stationNumber; +} + + +bool NamedLocation::operator ==(const NamedLocation& rhs) const + { + bool ivarsEqual = true; + + if( ! (_stationName == rhs._stationName) ) ivarsEqual = false; + if( ! (_stationNumber == rhs._stationNumber) ) ivarsEqual = false; + + return ivarsEqual; + } + +int NamedLocation::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2; // _stationName + marshalSize = marshalSize + 2; // _stationNumber + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/NamedLocation.h b/cpp/DIS/NamedLocation.h new file mode 100644 index 00000000..6724b3fe --- /dev/null +++ b/cpp/DIS/NamedLocation.h @@ -0,0 +1,76 @@ +#ifndef NAMEDLOCATION_H +#define NAMEDLOCATION_H + +#include +#include + + +namespace DIS +{ +// discrete ostional relationsihip + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO NamedLocation +{ +protected: + /** station name enumeration */ + unsigned short _stationName; + + /** station number */ + unsigned short _stationNumber; + + + public: + NamedLocation(); + virtual ~NamedLocation(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getStationName() const; + void setStationName(unsigned short pX); + + unsigned short getStationNumber() const; + void setStationNumber(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const NamedLocation& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ObjectType.cpp b/cpp/DIS/ObjectType.cpp new file mode 100644 index 00000000..285386a8 --- /dev/null +++ b/cpp/DIS/ObjectType.cpp @@ -0,0 +1,142 @@ +#include + +using namespace DIS; + + +ObjectType::ObjectType(): + _entityKind(0), + _domain(0), + _country(0), + _category(0), + _subcategory(0) +{ +} + +ObjectType::~ObjectType() +{ +} + +unsigned char ObjectType::getEntityKind() const +{ + return _entityKind; +} + +void ObjectType::setEntityKind(unsigned char pX) +{ + _entityKind = pX; +} + +unsigned char ObjectType::getDomain() const +{ + return _domain; +} + +void ObjectType::setDomain(unsigned char pX) +{ + _domain = pX; +} + +unsigned short ObjectType::getCountry() const +{ + return _country; +} + +void ObjectType::setCountry(unsigned short pX) +{ + _country = pX; +} + +unsigned char ObjectType::getCategory() const +{ + return _category; +} + +void ObjectType::setCategory(unsigned char pX) +{ + _category = pX; +} + +unsigned char ObjectType::getSubcategory() const +{ + return _subcategory; +} + +void ObjectType::setSubcategory(unsigned char pX) +{ + _subcategory = pX; +} + +void ObjectType::marshal(DataStream& dataStream) const +{ + dataStream << _entityKind; + dataStream << _domain; + dataStream << _country; + dataStream << _category; + dataStream << _subcategory; +} + +void ObjectType::unmarshal(DataStream& dataStream) +{ + dataStream >> _entityKind; + dataStream >> _domain; + dataStream >> _country; + dataStream >> _category; + dataStream >> _subcategory; +} + + +bool ObjectType::operator ==(const ObjectType& rhs) const + { + bool ivarsEqual = true; + + if( ! (_entityKind == rhs._entityKind) ) ivarsEqual = false; + if( ! (_domain == rhs._domain) ) ivarsEqual = false; + if( ! (_country == rhs._country) ) ivarsEqual = false; + if( ! (_category == rhs._category) ) ivarsEqual = false; + if( ! (_subcategory == rhs._subcategory) ) ivarsEqual = false; + + return ivarsEqual; + } + +int ObjectType::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _entityKind + marshalSize = marshalSize + 1; // _domain + marshalSize = marshalSize + 2; // _country + marshalSize = marshalSize + 1; // _category + marshalSize = marshalSize + 1; // _subcategory + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ObjectType.h b/cpp/DIS/ObjectType.h new file mode 100644 index 00000000..c8940beb --- /dev/null +++ b/cpp/DIS/ObjectType.h @@ -0,0 +1,94 @@ +#ifndef OBJECTTYPE_H +#define OBJECTTYPE_H + +#include +#include + + +namespace DIS +{ +// Identifies type of object. This is a shorter version of EntityType that omits the specific and extra fields. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ObjectType +{ +protected: + /** Kind of entity */ + unsigned char _entityKind; + + /** Domain of entity (air, surface, subsurface, space, etc) */ + unsigned char _domain; + + /** country to which the design of the entity is attributed */ + unsigned short _country; + + /** category of entity */ + unsigned char _category; + + /** subcategory of entity */ + unsigned char _subcategory; + + + public: + ObjectType(); + virtual ~ObjectType(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getEntityKind() const; + void setEntityKind(unsigned char pX); + + unsigned char getDomain() const; + void setDomain(unsigned char pX); + + unsigned short getCountry() const; + void setCountry(unsigned short pX); + + unsigned char getCategory() const; + void setCategory(unsigned char pX); + + unsigned char getSubcategory() const; + void setSubcategory(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ObjectType& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/OneByteChunk.cpp b/cpp/DIS/OneByteChunk.cpp new file mode 100644 index 00000000..80377e5d --- /dev/null +++ b/cpp/DIS/OneByteChunk.cpp @@ -0,0 +1,110 @@ +#include + +using namespace DIS; + + +OneByteChunk::OneByteChunk() +{ + // Initialize fixed length array + for(int lengthotherParameters= 0; lengthotherParameters < 1; lengthotherParameters++) + { + _otherParameters[lengthotherParameters] = 0; + } + +} + +OneByteChunk::~OneByteChunk() +{ +} + +char* OneByteChunk::getOtherParameters() +{ + return _otherParameters; +} + +const char* OneByteChunk::getOtherParameters() const +{ + return _otherParameters; +} + +void OneByteChunk::setOtherParameters(const char* x) +{ + for(int i = 0; i < 1; i++) + { + _otherParameters[i] = x[i]; + } +} + +void OneByteChunk::marshal(DataStream& dataStream) const +{ + + for(size_t idx = 0; idx < 1; idx++) + { + dataStream << _otherParameters[idx]; + } + +} + +void OneByteChunk::unmarshal(DataStream& dataStream) +{ + + for(size_t idx = 0; idx < 1; idx++) + { + dataStream >> _otherParameters[idx]; + } + +} + + +bool OneByteChunk::operator ==(const OneByteChunk& rhs) const + { + bool ivarsEqual = true; + + + for(char idx = 0; idx < 1; idx++) + { + if(!(_otherParameters[idx] == rhs._otherParameters[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int OneByteChunk::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1 * 1; // _otherParameters + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/OneByteChunk.h b/cpp/DIS/OneByteChunk.h new file mode 100644 index 00000000..83e1cf6b --- /dev/null +++ b/cpp/DIS/OneByteChunk.h @@ -0,0 +1,71 @@ +#ifndef ONEBYTECHUNK_H +#define ONEBYTECHUNK_H + +#include +#include + + +namespace DIS +{ +// 8 bit piece of data + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO OneByteChunk +{ +protected: + /** one byte of arbitrary data */ + char _otherParameters[1]; + + + public: + OneByteChunk(); + virtual ~OneByteChunk(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + char* getOtherParameters(); + const char* getOtherParameters() const; + void setOtherParameters( const char* pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const OneByteChunk& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/Orientation.cpp b/cpp/DIS/Orientation.cpp new file mode 100644 index 00000000..c6451bba --- /dev/null +++ b/cpp/DIS/Orientation.cpp @@ -0,0 +1,112 @@ +#include + +using namespace DIS; + + +Orientation::Orientation(): + _psi(0.0), + _theta(0.0), + _phi(0.0) +{ +} + +Orientation::~Orientation() +{ +} + +float Orientation::getPsi() const +{ + return _psi; +} + +void Orientation::setPsi(float pX) +{ + _psi = pX; +} + +float Orientation::getTheta() const +{ + return _theta; +} + +void Orientation::setTheta(float pX) +{ + _theta = pX; +} + +float Orientation::getPhi() const +{ + return _phi; +} + +void Orientation::setPhi(float pX) +{ + _phi = pX; +} + +void Orientation::marshal(DataStream& dataStream) const +{ + dataStream << _psi; + dataStream << _theta; + dataStream << _phi; +} + +void Orientation::unmarshal(DataStream& dataStream) +{ + dataStream >> _psi; + dataStream >> _theta; + dataStream >> _phi; +} + + +bool Orientation::operator ==(const Orientation& rhs) const + { + bool ivarsEqual = true; + + if( ! (_psi == rhs._psi) ) ivarsEqual = false; + if( ! (_theta == rhs._theta) ) ivarsEqual = false; + if( ! (_phi == rhs._phi) ) ivarsEqual = false; + + return ivarsEqual; + } + +int Orientation::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _psi + marshalSize = marshalSize + 4; // _theta + marshalSize = marshalSize + 4; // _phi + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/Orientation.h b/cpp/DIS/Orientation.h new file mode 100644 index 00000000..48ee0e0f --- /dev/null +++ b/cpp/DIS/Orientation.h @@ -0,0 +1,79 @@ +#ifndef ORIENTATION_H +#define ORIENTATION_H + +#include +#include + + +namespace DIS +{ +// Section 5.2.17. Three floating point values representing an orientation, psi, theta, and phi, aka the euler angles, in radians + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO Orientation +{ +protected: + float _psi; + + float _theta; + + float _phi; + + + public: + Orientation(); + virtual ~Orientation(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + float getPsi() const; + void setPsi(float pX); + + float getTheta() const; + void setTheta(float pX); + + float getPhi() const; + void setPhi(float pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const Orientation& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/Pdu.cpp b/cpp/DIS/Pdu.cpp new file mode 100644 index 00000000..37816651 --- /dev/null +++ b/cpp/DIS/Pdu.cpp @@ -0,0 +1,172 @@ +#include + +using namespace DIS; + + +Pdu::Pdu(): + _protocolVersion(6), + _exerciseID(0), + _pduType(0), + _protocolFamily(0), + _timestamp(0), + _length(0), + _padding(0) +{ +} + +Pdu::~Pdu() +{ +} + +unsigned char Pdu::getProtocolVersion() const +{ + return _protocolVersion; +} + +void Pdu::setProtocolVersion(unsigned char pX) +{ + _protocolVersion = pX; +} + +unsigned char Pdu::getExerciseID() const +{ + return _exerciseID; +} + +void Pdu::setExerciseID(unsigned char pX) +{ + _exerciseID = pX; +} + +unsigned char Pdu::getPduType() const +{ + return _pduType; +} + +void Pdu::setPduType(unsigned char pX) +{ + _pduType = pX; +} + +unsigned char Pdu::getProtocolFamily() const +{ + return _protocolFamily; +} + +void Pdu::setProtocolFamily(unsigned char pX) +{ + _protocolFamily = pX; +} + +unsigned int Pdu::getTimestamp() const +{ + return _timestamp; +} + +void Pdu::setTimestamp(unsigned int pX) +{ + _timestamp = pX; +} + +unsigned short Pdu::getLength() const +{ + return this->getMarshalledSize(); +} + +void Pdu::setLength(unsigned short pX) +{ + _length = pX; +} + +short Pdu::getPadding() const +{ + return _padding; +} + +void Pdu::setPadding(short pX) +{ + _padding = pX; +} + +void Pdu::marshal(DataStream& dataStream) const +{ + dataStream << _protocolVersion; + dataStream << _exerciseID; + dataStream << _pduType; + dataStream << _protocolFamily; + dataStream << _timestamp; + dataStream << this->getLength(); + dataStream << _padding; +} + +void Pdu::unmarshal(DataStream& dataStream) +{ + dataStream >> _protocolVersion; + dataStream >> _exerciseID; + dataStream >> _pduType; + dataStream >> _protocolFamily; + dataStream >> _timestamp; + dataStream >> _length; + dataStream >> _padding; +} + + +bool Pdu::operator ==(const Pdu& rhs) const + { + bool ivarsEqual = true; + + if( ! (_protocolVersion == rhs._protocolVersion) ) ivarsEqual = false; + if( ! (_exerciseID == rhs._exerciseID) ) ivarsEqual = false; + if( ! (_pduType == rhs._pduType) ) ivarsEqual = false; + if( ! (_protocolFamily == rhs._protocolFamily) ) ivarsEqual = false; + if( ! (_timestamp == rhs._timestamp) ) ivarsEqual = false; + if( ! (_length == rhs._length) ) ivarsEqual = false; + if( ! (_padding == rhs._padding) ) ivarsEqual = false; + + return ivarsEqual; + } + +int Pdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _protocolVersion + marshalSize = marshalSize + 1; // _exerciseID + marshalSize = marshalSize + 1; // _pduType + marshalSize = marshalSize + 1; // _protocolFamily + marshalSize = marshalSize + 4; // _timestamp + marshalSize = marshalSize + 2; // _length + marshalSize = marshalSize + 2; // _padding + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/Pdu.h b/cpp/DIS/Pdu.h new file mode 100644 index 00000000..d46bbfa1 --- /dev/null +++ b/cpp/DIS/Pdu.h @@ -0,0 +1,106 @@ +#ifndef PDU_H +#define PDU_H + +#include +#include + + +namespace DIS +{ +// The superclass for all PDUs. This incorporates the PduHeader record, section 5.2.29. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO Pdu +{ +protected: + /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + unsigned char _protocolVersion; + + /** Exercise ID */ + unsigned char _exerciseID; + + /** Type of pdu, unique for each PDU class */ + unsigned char _pduType; + + /** value that refers to the protocol family, eg SimulationManagement, et */ + unsigned char _protocolFamily; + + /** Timestamp value */ + unsigned int _timestamp; + + /** Length, in bytes, of the PDU */ + unsigned short _length; + + /** zero-filled array of padding */ + short _padding; + + + public: + Pdu(); + virtual ~Pdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getProtocolVersion() const; + void setProtocolVersion(unsigned char pX); + + unsigned char getExerciseID() const; + void setExerciseID(unsigned char pX); + + unsigned char getPduType() const; + void setPduType(unsigned char pX); + + unsigned char getProtocolFamily() const; + void setProtocolFamily(unsigned char pX); + + unsigned int getTimestamp() const; + void setTimestamp(unsigned int pX); + + unsigned short getLength() const; + void setLength(unsigned short pX); + + short getPadding() const; + void setPadding(short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const Pdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/PduContainer.cpp b/cpp/DIS/PduContainer.cpp new file mode 100644 index 00000000..88fded26 --- /dev/null +++ b/cpp/DIS/PduContainer.cpp @@ -0,0 +1,120 @@ +#include + +using namespace DIS; + + +PduContainer::PduContainer(): + _numberOfPdus(0) +{ +} + +PduContainer::~PduContainer() +{ + _pdus.clear(); +} + +int PduContainer::getNumberOfPdus() const +{ + return _pdus.size(); +} + +std::vector& PduContainer::getPdus() +{ + return _pdus; +} + +const std::vector& PduContainer::getPdus() const +{ + return _pdus; +} + +void PduContainer::setPdus(const std::vector& pX) +{ + _pdus = pX; +} + +void PduContainer::marshal(DataStream& dataStream) const +{ + dataStream << ( int )_pdus.size(); + + for(size_t idx = 0; idx < _pdus.size(); idx++) + { + Pdu x = _pdus[idx]; + x.marshal(dataStream); + } + +} + +void PduContainer::unmarshal(DataStream& dataStream) +{ + dataStream >> _numberOfPdus; + + _pdus.clear(); + for(size_t idx = 0; idx < _numberOfPdus; idx++) + { + Pdu x; + x.unmarshal(dataStream); + _pdus.push_back(x); + } +} + + +bool PduContainer::operator ==(const PduContainer& rhs) const + { + bool ivarsEqual = true; + + + for(size_t idx = 0; idx < _pdus.size(); idx++) + { + if( ! ( _pdus[idx] == rhs._pdus[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int PduContainer::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _numberOfPdus + + for(int idx=0; idx < _pdus.size(); idx++) + { + Pdu listElement = _pdus[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/PduContainer.h b/cpp/DIS/PduContainer.h new file mode 100644 index 00000000..fd0e0536 --- /dev/null +++ b/cpp/DIS/PduContainer.h @@ -0,0 +1,78 @@ +#ifndef PDUCONTAINER_H +#define PDUCONTAINER_H + +#include +#include +#include +#include + + +namespace DIS +{ +// Used for XML compatability. A container that holds PDUs + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO PduContainer +{ +protected: + /** Number of PDUs in the container list */ + int _numberOfPdus; + + /** record sets */ + std::vector _pdus; + + + public: + PduContainer(); + virtual ~PduContainer(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + int getNumberOfPdus() const; + + std::vector& getPdus(); + const std::vector& getPdus() const; + void setPdus(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const PduContainer& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/Point.cpp b/cpp/DIS/Point.cpp new file mode 100644 index 00000000..dc509ef2 --- /dev/null +++ b/cpp/DIS/Point.cpp @@ -0,0 +1,97 @@ +#include + +using namespace DIS; + + +Point::Point(): + _x(0.0), + _y(0.0) +{ +} + +Point::~Point() +{ +} + +float Point::getX() const +{ + return _x; +} + +void Point::setX(float pX) +{ + _x = pX; +} + +float Point::getY() const +{ + return _y; +} + +void Point::setY(float pX) +{ + _y = pX; +} + +void Point::marshal(DataStream& dataStream) const +{ + dataStream << _x; + dataStream << _y; +} + +void Point::unmarshal(DataStream& dataStream) +{ + dataStream >> _x; + dataStream >> _y; +} + + +bool Point::operator ==(const Point& rhs) const + { + bool ivarsEqual = true; + + if( ! (_x == rhs._x) ) ivarsEqual = false; + if( ! (_y == rhs._y) ) ivarsEqual = false; + + return ivarsEqual; + } + +int Point::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _x + marshalSize = marshalSize + 4; // _y + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/Point.h b/cpp/DIS/Point.h new file mode 100644 index 00000000..2ce03940 --- /dev/null +++ b/cpp/DIS/Point.h @@ -0,0 +1,76 @@ +#ifndef POINT_H +#define POINT_H + +#include +#include + + +namespace DIS +{ +// x,y point + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO Point +{ +protected: + /** x */ + float _x; + + /** y */ + float _y; + + + public: + Point(); + virtual ~Point(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + float getX() const; + void setX(float pX); + + float getY() const; + void setY(float pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const Point& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/PointObjectStatePdu.cpp b/cpp/DIS/PointObjectStatePdu.cpp new file mode 100644 index 00000000..30f941e3 --- /dev/null +++ b/cpp/DIS/PointObjectStatePdu.cpp @@ -0,0 +1,288 @@ +#include + +using namespace DIS; + + +PointObjectStatePdu::PointObjectStatePdu() : SyntheticEnvironmentFamilyPdu(), + _objectID(), + _referencedObjectID(), + _updateNumber(0), + _forceID(0), + _modifications(0), + _objectType(), + _objectLocation(), + _objectOrientation(), + _objectAppearance(0.0), + _requesterID(), + _receivingID(), + _pad2(0) +{ + setPduType( 43 ); +} + +PointObjectStatePdu::~PointObjectStatePdu() +{ +} + +EntityID& PointObjectStatePdu::getObjectID() +{ + return _objectID; +} + +const EntityID& PointObjectStatePdu::getObjectID() const +{ + return _objectID; +} + +void PointObjectStatePdu::setObjectID(const EntityID &pX) +{ + _objectID = pX; +} + +EntityID& PointObjectStatePdu::getReferencedObjectID() +{ + return _referencedObjectID; +} + +const EntityID& PointObjectStatePdu::getReferencedObjectID() const +{ + return _referencedObjectID; +} + +void PointObjectStatePdu::setReferencedObjectID(const EntityID &pX) +{ + _referencedObjectID = pX; +} + +unsigned short PointObjectStatePdu::getUpdateNumber() const +{ + return _updateNumber; +} + +void PointObjectStatePdu::setUpdateNumber(unsigned short pX) +{ + _updateNumber = pX; +} + +unsigned char PointObjectStatePdu::getForceID() const +{ + return _forceID; +} + +void PointObjectStatePdu::setForceID(unsigned char pX) +{ + _forceID = pX; +} + +unsigned char PointObjectStatePdu::getModifications() const +{ + return _modifications; +} + +void PointObjectStatePdu::setModifications(unsigned char pX) +{ + _modifications = pX; +} + +ObjectType& PointObjectStatePdu::getObjectType() +{ + return _objectType; +} + +const ObjectType& PointObjectStatePdu::getObjectType() const +{ + return _objectType; +} + +void PointObjectStatePdu::setObjectType(const ObjectType &pX) +{ + _objectType = pX; +} + +Vector3Double& PointObjectStatePdu::getObjectLocation() +{ + return _objectLocation; +} + +const Vector3Double& PointObjectStatePdu::getObjectLocation() const +{ + return _objectLocation; +} + +void PointObjectStatePdu::setObjectLocation(const Vector3Double &pX) +{ + _objectLocation = pX; +} + +Orientation& PointObjectStatePdu::getObjectOrientation() +{ + return _objectOrientation; +} + +const Orientation& PointObjectStatePdu::getObjectOrientation() const +{ + return _objectOrientation; +} + +void PointObjectStatePdu::setObjectOrientation(const Orientation &pX) +{ + _objectOrientation = pX; +} + +double PointObjectStatePdu::getObjectAppearance() const +{ + return _objectAppearance; +} + +void PointObjectStatePdu::setObjectAppearance(double pX) +{ + _objectAppearance = pX; +} + +SimulationAddress& PointObjectStatePdu::getRequesterID() +{ + return _requesterID; +} + +const SimulationAddress& PointObjectStatePdu::getRequesterID() const +{ + return _requesterID; +} + +void PointObjectStatePdu::setRequesterID(const SimulationAddress &pX) +{ + _requesterID = pX; +} + +SimulationAddress& PointObjectStatePdu::getReceivingID() +{ + return _receivingID; +} + +const SimulationAddress& PointObjectStatePdu::getReceivingID() const +{ + return _receivingID; +} + +void PointObjectStatePdu::setReceivingID(const SimulationAddress &pX) +{ + _receivingID = pX; +} + +unsigned int PointObjectStatePdu::getPad2() const +{ + return _pad2; +} + +void PointObjectStatePdu::setPad2(unsigned int pX) +{ + _pad2 = pX; +} + +void PointObjectStatePdu::marshal(DataStream& dataStream) const +{ + SyntheticEnvironmentFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _objectID.marshal(dataStream); + _referencedObjectID.marshal(dataStream); + dataStream << _updateNumber; + dataStream << _forceID; + dataStream << _modifications; + _objectType.marshal(dataStream); + _objectLocation.marshal(dataStream); + _objectOrientation.marshal(dataStream); + dataStream << _objectAppearance; + _requesterID.marshal(dataStream); + _receivingID.marshal(dataStream); + dataStream << _pad2; +} + +void PointObjectStatePdu::unmarshal(DataStream& dataStream) +{ + SyntheticEnvironmentFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _objectID.unmarshal(dataStream); + _referencedObjectID.unmarshal(dataStream); + dataStream >> _updateNumber; + dataStream >> _forceID; + dataStream >> _modifications; + _objectType.unmarshal(dataStream); + _objectLocation.unmarshal(dataStream); + _objectOrientation.unmarshal(dataStream); + dataStream >> _objectAppearance; + _requesterID.unmarshal(dataStream); + _receivingID.unmarshal(dataStream); + dataStream >> _pad2; +} + + +bool PointObjectStatePdu::operator ==(const PointObjectStatePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SyntheticEnvironmentFamilyPdu::operator==(rhs); + + if( ! (_objectID == rhs._objectID) ) ivarsEqual = false; + if( ! (_referencedObjectID == rhs._referencedObjectID) ) ivarsEqual = false; + if( ! (_updateNumber == rhs._updateNumber) ) ivarsEqual = false; + if( ! (_forceID == rhs._forceID) ) ivarsEqual = false; + if( ! (_modifications == rhs._modifications) ) ivarsEqual = false; + if( ! (_objectType == rhs._objectType) ) ivarsEqual = false; + if( ! (_objectLocation == rhs._objectLocation) ) ivarsEqual = false; + if( ! (_objectOrientation == rhs._objectOrientation) ) ivarsEqual = false; + if( ! (_objectAppearance == rhs._objectAppearance) ) ivarsEqual = false; + if( ! (_requesterID == rhs._requesterID) ) ivarsEqual = false; + if( ! (_receivingID == rhs._receivingID) ) ivarsEqual = false; + if( ! (_pad2 == rhs._pad2) ) ivarsEqual = false; + + return ivarsEqual; + } + +int PointObjectStatePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SyntheticEnvironmentFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _objectID.getMarshalledSize(); // _objectID + marshalSize = marshalSize + _referencedObjectID.getMarshalledSize(); // _referencedObjectID + marshalSize = marshalSize + 2; // _updateNumber + marshalSize = marshalSize + 1; // _forceID + marshalSize = marshalSize + 1; // _modifications + marshalSize = marshalSize + _objectType.getMarshalledSize(); // _objectType + marshalSize = marshalSize + _objectLocation.getMarshalledSize(); // _objectLocation + marshalSize = marshalSize + _objectOrientation.getMarshalledSize(); // _objectOrientation + marshalSize = marshalSize + 8; // _objectAppearance + marshalSize = marshalSize + _requesterID.getMarshalledSize(); // _requesterID + marshalSize = marshalSize + _receivingID.getMarshalledSize(); // _receivingID + marshalSize = marshalSize + 4; // _pad2 + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/PointObjectStatePdu.h b/cpp/DIS/PointObjectStatePdu.h new file mode 100644 index 00000000..fe061541 --- /dev/null +++ b/cpp/DIS/PointObjectStatePdu.h @@ -0,0 +1,151 @@ +#ifndef POINTOBJECTSTATEPDU_H +#define POINTOBJECTSTATEPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.11.3: Inormation abut the addition or modification of a synthecic enviroment object that is anchored to the terrain with a single point. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO PointObjectStatePdu : public SyntheticEnvironmentFamilyPdu +{ +protected: + /** Object in synthetic environment */ + EntityID _objectID; + + /** Object with which this point object is associated */ + EntityID _referencedObjectID; + + /** unique update number of each state transition of an object */ + unsigned short _updateNumber; + + /** force ID */ + unsigned char _forceID; + + /** modifications */ + unsigned char _modifications; + + /** Object type */ + ObjectType _objectType; + + /** Object location */ + Vector3Double _objectLocation; + + /** Object orientation */ + Orientation _objectOrientation; + + /** Object apperance */ + double _objectAppearance; + + /** requesterID */ + SimulationAddress _requesterID; + + /** receiver ID */ + SimulationAddress _receivingID; + + /** padding */ + unsigned int _pad2; + + + public: + PointObjectStatePdu(); + virtual ~PointObjectStatePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getObjectID(); + const EntityID& getObjectID() const; + void setObjectID(const EntityID &pX); + + EntityID& getReferencedObjectID(); + const EntityID& getReferencedObjectID() const; + void setReferencedObjectID(const EntityID &pX); + + unsigned short getUpdateNumber() const; + void setUpdateNumber(unsigned short pX); + + unsigned char getForceID() const; + void setForceID(unsigned char pX); + + unsigned char getModifications() const; + void setModifications(unsigned char pX); + + ObjectType& getObjectType(); + const ObjectType& getObjectType() const; + void setObjectType(const ObjectType &pX); + + Vector3Double& getObjectLocation(); + const Vector3Double& getObjectLocation() const; + void setObjectLocation(const Vector3Double &pX); + + Orientation& getObjectOrientation(); + const Orientation& getObjectOrientation() const; + void setObjectOrientation(const Orientation &pX); + + double getObjectAppearance() const; + void setObjectAppearance(double pX); + + SimulationAddress& getRequesterID(); + const SimulationAddress& getRequesterID() const; + void setRequesterID(const SimulationAddress &pX); + + SimulationAddress& getReceivingID(); + const SimulationAddress& getReceivingID() const; + void setReceivingID(const SimulationAddress &pX); + + unsigned int getPad2() const; + void setPad2(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const PointObjectStatePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/PropulsionSystemData.cpp b/cpp/DIS/PropulsionSystemData.cpp new file mode 100644 index 00000000..40a9264d --- /dev/null +++ b/cpp/DIS/PropulsionSystemData.cpp @@ -0,0 +1,97 @@ +#include + +using namespace DIS; + + +PropulsionSystemData::PropulsionSystemData(): + _powerSetting(0.0), + _engineRpm(0.0) +{ +} + +PropulsionSystemData::~PropulsionSystemData() +{ +} + +float PropulsionSystemData::getPowerSetting() const +{ + return _powerSetting; +} + +void PropulsionSystemData::setPowerSetting(float pX) +{ + _powerSetting = pX; +} + +float PropulsionSystemData::getEngineRpm() const +{ + return _engineRpm; +} + +void PropulsionSystemData::setEngineRpm(float pX) +{ + _engineRpm = pX; +} + +void PropulsionSystemData::marshal(DataStream& dataStream) const +{ + dataStream << _powerSetting; + dataStream << _engineRpm; +} + +void PropulsionSystemData::unmarshal(DataStream& dataStream) +{ + dataStream >> _powerSetting; + dataStream >> _engineRpm; +} + + +bool PropulsionSystemData::operator ==(const PropulsionSystemData& rhs) const + { + bool ivarsEqual = true; + + if( ! (_powerSetting == rhs._powerSetting) ) ivarsEqual = false; + if( ! (_engineRpm == rhs._engineRpm) ) ivarsEqual = false; + + return ivarsEqual; + } + +int PropulsionSystemData::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _powerSetting + marshalSize = marshalSize + 4; // _engineRpm + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/PropulsionSystemData.h b/cpp/DIS/PropulsionSystemData.h new file mode 100644 index 00000000..754f232a --- /dev/null +++ b/cpp/DIS/PropulsionSystemData.h @@ -0,0 +1,76 @@ +#ifndef PROPULSIONSYSTEMDATA_H +#define PROPULSIONSYSTEMDATA_H + +#include +#include + + +namespace DIS +{ +// Data about a propulsion system + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO PropulsionSystemData +{ +protected: + /** powerSetting */ + float _powerSetting; + + /** engine RPMs */ + float _engineRpm; + + + public: + PropulsionSystemData(); + virtual ~PropulsionSystemData(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + float getPowerSetting() const; + void setPowerSetting(float pX); + + float getEngineRpm() const; + void setEngineRpm(float pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const PropulsionSystemData& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/RadioCommunicationsFamilyPdu.cpp b/cpp/DIS/RadioCommunicationsFamilyPdu.cpp new file mode 100644 index 00000000..b4b359e7 --- /dev/null +++ b/cpp/DIS/RadioCommunicationsFamilyPdu.cpp @@ -0,0 +1,108 @@ +#include + +using namespace DIS; + + +RadioCommunicationsFamilyPdu::RadioCommunicationsFamilyPdu() : Pdu(), + _entityId(), + _radioId(0) +{ + setProtocolFamily( 4 ); +} + +RadioCommunicationsFamilyPdu::~RadioCommunicationsFamilyPdu() +{ +} + +EntityID& RadioCommunicationsFamilyPdu::getEntityId() +{ + return _entityId; +} + +const EntityID& RadioCommunicationsFamilyPdu::getEntityId() const +{ + return _entityId; +} + +void RadioCommunicationsFamilyPdu::setEntityId(const EntityID &pX) +{ + _entityId = pX; +} + +unsigned short RadioCommunicationsFamilyPdu::getRadioId() const +{ + return _radioId; +} + +void RadioCommunicationsFamilyPdu::setRadioId(unsigned short pX) +{ + _radioId = pX; +} + +void RadioCommunicationsFamilyPdu::marshal(DataStream& dataStream) const +{ + Pdu::marshal(dataStream); // Marshal information in superclass first + _entityId.marshal(dataStream); + dataStream << _radioId; +} + +void RadioCommunicationsFamilyPdu::unmarshal(DataStream& dataStream) +{ + Pdu::unmarshal(dataStream); // unmarshal information in superclass first + _entityId.unmarshal(dataStream); + dataStream >> _radioId; +} + + +bool RadioCommunicationsFamilyPdu::operator ==(const RadioCommunicationsFamilyPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = Pdu::operator==(rhs); + + if( ! (_entityId == rhs._entityId) ) ivarsEqual = false; + if( ! (_radioId == rhs._radioId) ) ivarsEqual = false; + + return ivarsEqual; + } + +int RadioCommunicationsFamilyPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = Pdu::getMarshalledSize(); + marshalSize = marshalSize + _entityId.getMarshalledSize(); // _entityId + marshalSize = marshalSize + 2; // _radioId + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/RadioCommunicationsFamilyPdu.h b/cpp/DIS/RadioCommunicationsFamilyPdu.h new file mode 100644 index 00000000..31d63ca3 --- /dev/null +++ b/cpp/DIS/RadioCommunicationsFamilyPdu.h @@ -0,0 +1,79 @@ +#ifndef RADIOCOMMUNICATIONSFAMILYPDU_H +#define RADIOCOMMUNICATIONSFAMILYPDU_H + +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.8. Abstract superclass for radio communications PDUs. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO RadioCommunicationsFamilyPdu : public Pdu +{ +protected: + /** ID of the entitythat is the source of the communication */ + EntityID _entityId; + + /** particular radio within an entity */ + unsigned short _radioId; + + + public: + RadioCommunicationsFamilyPdu(); + virtual ~RadioCommunicationsFamilyPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getEntityId(); + const EntityID& getEntityId() const; + void setEntityId(const EntityID &pX); + + unsigned short getRadioId() const; + void setRadioId(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const RadioCommunicationsFamilyPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/RadioEntityType.cpp b/cpp/DIS/RadioEntityType.cpp new file mode 100644 index 00000000..838e5ea7 --- /dev/null +++ b/cpp/DIS/RadioEntityType.cpp @@ -0,0 +1,157 @@ +#include + +using namespace DIS; + + +RadioEntityType::RadioEntityType(): + _entityKind(0), + _domain(0), + _country(0), + _category(0), + _nomenclatureVersion(0), + _nomenclature(0) +{ +} + +RadioEntityType::~RadioEntityType() +{ +} + +unsigned char RadioEntityType::getEntityKind() const +{ + return _entityKind; +} + +void RadioEntityType::setEntityKind(unsigned char pX) +{ + _entityKind = pX; +} + +unsigned char RadioEntityType::getDomain() const +{ + return _domain; +} + +void RadioEntityType::setDomain(unsigned char pX) +{ + _domain = pX; +} + +unsigned short RadioEntityType::getCountry() const +{ + return _country; +} + +void RadioEntityType::setCountry(unsigned short pX) +{ + _country = pX; +} + +unsigned char RadioEntityType::getCategory() const +{ + return _category; +} + +void RadioEntityType::setCategory(unsigned char pX) +{ + _category = pX; +} + +unsigned char RadioEntityType::getNomenclatureVersion() const +{ + return _nomenclatureVersion; +} + +void RadioEntityType::setNomenclatureVersion(unsigned char pX) +{ + _nomenclatureVersion = pX; +} + +unsigned short RadioEntityType::getNomenclature() const +{ + return _nomenclature; +} + +void RadioEntityType::setNomenclature(unsigned short pX) +{ + _nomenclature = pX; +} + +void RadioEntityType::marshal(DataStream& dataStream) const +{ + dataStream << _entityKind; + dataStream << _domain; + dataStream << _country; + dataStream << _category; + dataStream << _nomenclatureVersion; + dataStream << _nomenclature; +} + +void RadioEntityType::unmarshal(DataStream& dataStream) +{ + dataStream >> _entityKind; + dataStream >> _domain; + dataStream >> _country; + dataStream >> _category; + dataStream >> _nomenclatureVersion; + dataStream >> _nomenclature; +} + + +bool RadioEntityType::operator ==(const RadioEntityType& rhs) const + { + bool ivarsEqual = true; + + if( ! (_entityKind == rhs._entityKind) ) ivarsEqual = false; + if( ! (_domain == rhs._domain) ) ivarsEqual = false; + if( ! (_country == rhs._country) ) ivarsEqual = false; + if( ! (_category == rhs._category) ) ivarsEqual = false; + if( ! (_nomenclatureVersion == rhs._nomenclatureVersion) ) ivarsEqual = false; + if( ! (_nomenclature == rhs._nomenclature) ) ivarsEqual = false; + + return ivarsEqual; + } + +int RadioEntityType::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _entityKind + marshalSize = marshalSize + 1; // _domain + marshalSize = marshalSize + 2; // _country + marshalSize = marshalSize + 1; // _category + marshalSize = marshalSize + 1; // _nomenclatureVersion + marshalSize = marshalSize + 2; // _nomenclature + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/RadioEntityType.h b/cpp/DIS/RadioEntityType.h new file mode 100644 index 00000000..4f8414ff --- /dev/null +++ b/cpp/DIS/RadioEntityType.h @@ -0,0 +1,99 @@ +#ifndef RADIOENTITYTYPE_H +#define RADIOENTITYTYPE_H + +#include +#include + + +namespace DIS +{ +// Section 5.2.25. Identifies the type of radio + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO RadioEntityType +{ +protected: + /** Kind of entity */ + unsigned char _entityKind; + + /** Domain of entity (air, surface, subsurface, space, etc) */ + unsigned char _domain; + + /** country to which the design of the entity is attributed */ + unsigned short _country; + + /** category of entity */ + unsigned char _category; + + /** specific info based on subcategory field */ + unsigned char _nomenclatureVersion; + + unsigned short _nomenclature; + + + public: + RadioEntityType(); + virtual ~RadioEntityType(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getEntityKind() const; + void setEntityKind(unsigned char pX); + + unsigned char getDomain() const; + void setDomain(unsigned char pX); + + unsigned short getCountry() const; + void setCountry(unsigned short pX); + + unsigned char getCategory() const; + void setCategory(unsigned char pX); + + unsigned char getNomenclatureVersion() const; + void setNomenclatureVersion(unsigned char pX); + + unsigned short getNomenclature() const; + void setNomenclature(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const RadioEntityType& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ReceiverPdu.cpp b/cpp/DIS/ReceiverPdu.cpp new file mode 100644 index 00000000..80ca6b08 --- /dev/null +++ b/cpp/DIS/ReceiverPdu.cpp @@ -0,0 +1,153 @@ +#include + +using namespace DIS; + + +ReceiverPdu::ReceiverPdu() : RadioCommunicationsFamilyPdu(), + _receiverState(0), + _padding1(0), + _receivedPoser(0.0), + _transmitterEntityId(), + _transmitterRadioId(0) +{ + setPduType( 27 ); +} + +ReceiverPdu::~ReceiverPdu() +{ +} + +unsigned short ReceiverPdu::getReceiverState() const +{ + return _receiverState; +} + +void ReceiverPdu::setReceiverState(unsigned short pX) +{ + _receiverState = pX; +} + +unsigned short ReceiverPdu::getPadding1() const +{ + return _padding1; +} + +void ReceiverPdu::setPadding1(unsigned short pX) +{ + _padding1 = pX; +} + +float ReceiverPdu::getReceivedPoser() const +{ + return _receivedPoser; +} + +void ReceiverPdu::setReceivedPoser(float pX) +{ + _receivedPoser = pX; +} + +EntityID& ReceiverPdu::getTransmitterEntityId() +{ + return _transmitterEntityId; +} + +const EntityID& ReceiverPdu::getTransmitterEntityId() const +{ + return _transmitterEntityId; +} + +void ReceiverPdu::setTransmitterEntityId(const EntityID &pX) +{ + _transmitterEntityId = pX; +} + +unsigned short ReceiverPdu::getTransmitterRadioId() const +{ + return _transmitterRadioId; +} + +void ReceiverPdu::setTransmitterRadioId(unsigned short pX) +{ + _transmitterRadioId = pX; +} + +void ReceiverPdu::marshal(DataStream& dataStream) const +{ + RadioCommunicationsFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _receiverState; + dataStream << _padding1; + dataStream << _receivedPoser; + _transmitterEntityId.marshal(dataStream); + dataStream << _transmitterRadioId; +} + +void ReceiverPdu::unmarshal(DataStream& dataStream) +{ + RadioCommunicationsFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _receiverState; + dataStream >> _padding1; + dataStream >> _receivedPoser; + _transmitterEntityId.unmarshal(dataStream); + dataStream >> _transmitterRadioId; +} + + +bool ReceiverPdu::operator ==(const ReceiverPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = RadioCommunicationsFamilyPdu::operator==(rhs); + + if( ! (_receiverState == rhs._receiverState) ) ivarsEqual = false; + if( ! (_padding1 == rhs._padding1) ) ivarsEqual = false; + if( ! (_receivedPoser == rhs._receivedPoser) ) ivarsEqual = false; + if( ! (_transmitterEntityId == rhs._transmitterEntityId) ) ivarsEqual = false; + if( ! (_transmitterRadioId == rhs._transmitterRadioId) ) ivarsEqual = false; + + return ivarsEqual; + } + +int ReceiverPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = RadioCommunicationsFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 2; // _receiverState + marshalSize = marshalSize + 2; // _padding1 + marshalSize = marshalSize + 4; // _receivedPoser + marshalSize = marshalSize + _transmitterEntityId.getMarshalledSize(); // _transmitterEntityId + marshalSize = marshalSize + 2; // _transmitterRadioId + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ReceiverPdu.h b/cpp/DIS/ReceiverPdu.h new file mode 100644 index 00000000..2ec1c227 --- /dev/null +++ b/cpp/DIS/ReceiverPdu.h @@ -0,0 +1,97 @@ +#ifndef RECEIVERPDU_H +#define RECEIVERPDU_H + +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.8.3. Communication of a receiver state. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ReceiverPdu : public RadioCommunicationsFamilyPdu +{ +protected: + /** encoding scheme used, and enumeration */ + unsigned short _receiverState; + + /** padding */ + unsigned short _padding1; + + /** received power */ + float _receivedPoser; + + /** ID of transmitter */ + EntityID _transmitterEntityId; + + /** ID of transmitting radio */ + unsigned short _transmitterRadioId; + + + public: + ReceiverPdu(); + virtual ~ReceiverPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getReceiverState() const; + void setReceiverState(unsigned short pX); + + unsigned short getPadding1() const; + void setPadding1(unsigned short pX); + + float getReceivedPoser() const; + void setReceivedPoser(float pX); + + EntityID& getTransmitterEntityId(); + const EntityID& getTransmitterEntityId() const; + void setTransmitterEntityId(const EntityID &pX); + + unsigned short getTransmitterRadioId() const; + void setTransmitterRadioId(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ReceiverPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/RecordQueryReliablePdu.cpp b/cpp/DIS/RecordQueryReliablePdu.cpp new file mode 100644 index 00000000..0150a128 --- /dev/null +++ b/cpp/DIS/RecordQueryReliablePdu.cpp @@ -0,0 +1,216 @@ +#include + +using namespace DIS; + + +RecordQueryReliablePdu::RecordQueryReliablePdu() : SimulationManagementWithReliabilityFamilyPdu(), + _requestID(0), + _requiredReliabilityService(0), + _pad1(0), + _pad2(0), + _eventType(0), + _time(0), + _numberOfRecords(0) +{ + setPduType( 63 ); +} + +RecordQueryReliablePdu::~RecordQueryReliablePdu() +{ + _recordIDs.clear(); +} + +unsigned int RecordQueryReliablePdu::getRequestID() const +{ + return _requestID; +} + +void RecordQueryReliablePdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +unsigned char RecordQueryReliablePdu::getRequiredReliabilityService() const +{ + return _requiredReliabilityService; +} + +void RecordQueryReliablePdu::setRequiredReliabilityService(unsigned char pX) +{ + _requiredReliabilityService = pX; +} + +unsigned short RecordQueryReliablePdu::getPad1() const +{ + return _pad1; +} + +void RecordQueryReliablePdu::setPad1(unsigned short pX) +{ + _pad1 = pX; +} + +unsigned char RecordQueryReliablePdu::getPad2() const +{ + return _pad2; +} + +void RecordQueryReliablePdu::setPad2(unsigned char pX) +{ + _pad2 = pX; +} + +unsigned short RecordQueryReliablePdu::getEventType() const +{ + return _eventType; +} + +void RecordQueryReliablePdu::setEventType(unsigned short pX) +{ + _eventType = pX; +} + +unsigned int RecordQueryReliablePdu::getTime() const +{ + return _time; +} + +void RecordQueryReliablePdu::setTime(unsigned int pX) +{ + _time = pX; +} + +unsigned int RecordQueryReliablePdu::getNumberOfRecords() const +{ + return _recordIDs.size(); +} + +std::vector& RecordQueryReliablePdu::getRecordIDs() +{ + return _recordIDs; +} + +const std::vector& RecordQueryReliablePdu::getRecordIDs() const +{ + return _recordIDs; +} + +void RecordQueryReliablePdu::setRecordIDs(const std::vector& pX) +{ + _recordIDs = pX; +} + +void RecordQueryReliablePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementWithReliabilityFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _requestID; + dataStream << _requiredReliabilityService; + dataStream << _pad1; + dataStream << _pad2; + dataStream << _eventType; + dataStream << _time; + dataStream << ( unsigned int )_recordIDs.size(); + + for(size_t idx = 0; idx < _recordIDs.size(); idx++) + { + FourByteChunk x = _recordIDs[idx]; + x.marshal(dataStream); + } + +} + +void RecordQueryReliablePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementWithReliabilityFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _requestID; + dataStream >> _requiredReliabilityService; + dataStream >> _pad1; + dataStream >> _pad2; + dataStream >> _eventType; + dataStream >> _time; + dataStream >> _numberOfRecords; + + _recordIDs.clear(); + for(size_t idx = 0; idx < _numberOfRecords; idx++) + { + FourByteChunk x; + x.unmarshal(dataStream); + _recordIDs.push_back(x); + } +} + + +bool RecordQueryReliablePdu::operator ==(const RecordQueryReliablePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementWithReliabilityFamilyPdu::operator==(rhs); + + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + if( ! (_requiredReliabilityService == rhs._requiredReliabilityService) ) ivarsEqual = false; + if( ! (_pad1 == rhs._pad1) ) ivarsEqual = false; + if( ! (_pad2 == rhs._pad2) ) ivarsEqual = false; + if( ! (_eventType == rhs._eventType) ) ivarsEqual = false; + if( ! (_time == rhs._time) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _recordIDs.size(); idx++) + { + if( ! ( _recordIDs[idx] == rhs._recordIDs[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int RecordQueryReliablePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementWithReliabilityFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 4; // _requestID + marshalSize = marshalSize + 1; // _requiredReliabilityService + marshalSize = marshalSize + 2; // _pad1 + marshalSize = marshalSize + 1; // _pad2 + marshalSize = marshalSize + 2; // _eventType + marshalSize = marshalSize + 4; // _time + marshalSize = marshalSize + 4; // _numberOfRecords + + for(int idx=0; idx < _recordIDs.size(); idx++) + { + FourByteChunk listElement = _recordIDs[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/RecordQueryReliablePdu.h b/cpp/DIS/RecordQueryReliablePdu.h new file mode 100644 index 00000000..a7057cd4 --- /dev/null +++ b/cpp/DIS/RecordQueryReliablePdu.h @@ -0,0 +1,115 @@ +#ifndef RECORDQUERYRELIABLEPDU_H +#define RECORDQUERYRELIABLEPDU_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.12.13: A request for one or more records of data from an entity. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO RecordQueryReliablePdu : public SimulationManagementWithReliabilityFamilyPdu +{ +protected: + /** request ID */ + unsigned int _requestID; + + /** level of reliability service used for this transaction */ + unsigned char _requiredReliabilityService; + + /** padding. The spec is unclear and contradictory here. */ + unsigned short _pad1; + + /** padding */ + unsigned char _pad2; + + /** event type */ + unsigned short _eventType; + + /** time */ + unsigned int _time; + + /** numberOfRecords */ + unsigned int _numberOfRecords; + + /** record IDs */ + std::vector _recordIDs; + + + public: + RecordQueryReliablePdu(); + virtual ~RecordQueryReliablePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + unsigned char getRequiredReliabilityService() const; + void setRequiredReliabilityService(unsigned char pX); + + unsigned short getPad1() const; + void setPad1(unsigned short pX); + + unsigned char getPad2() const; + void setPad2(unsigned char pX); + + unsigned short getEventType() const; + void setEventType(unsigned short pX); + + unsigned int getTime() const; + void setTime(unsigned int pX); + + unsigned int getNumberOfRecords() const; + + std::vector& getRecordIDs(); + const std::vector& getRecordIDs() const; + void setRecordIDs(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const RecordQueryReliablePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/RecordSet.cpp b/cpp/DIS/RecordSet.cpp new file mode 100644 index 00000000..96f3f740 --- /dev/null +++ b/cpp/DIS/RecordSet.cpp @@ -0,0 +1,157 @@ +#include + +using namespace DIS; + + +RecordSet::RecordSet(): + _recordID(0), + _recordSetSerialNumber(0), + _recordLength(0), + _recordCount(0), + _recordValues(0), + _pad4(0) +{ +} + +RecordSet::~RecordSet() +{ +} + +unsigned int RecordSet::getRecordID() const +{ + return _recordID; +} + +void RecordSet::setRecordID(unsigned int pX) +{ + _recordID = pX; +} + +unsigned int RecordSet::getRecordSetSerialNumber() const +{ + return _recordSetSerialNumber; +} + +void RecordSet::setRecordSetSerialNumber(unsigned int pX) +{ + _recordSetSerialNumber = pX; +} + +unsigned short RecordSet::getRecordLength() const +{ + return _recordLength; +} + +void RecordSet::setRecordLength(unsigned short pX) +{ + _recordLength = pX; +} + +unsigned short RecordSet::getRecordCount() const +{ + return _recordCount; +} + +void RecordSet::setRecordCount(unsigned short pX) +{ + _recordCount = pX; +} + +unsigned short RecordSet::getRecordValues() const +{ + return _recordValues; +} + +void RecordSet::setRecordValues(unsigned short pX) +{ + _recordValues = pX; +} + +unsigned char RecordSet::getPad4() const +{ + return _pad4; +} + +void RecordSet::setPad4(unsigned char pX) +{ + _pad4 = pX; +} + +void RecordSet::marshal(DataStream& dataStream) const +{ + dataStream << _recordID; + dataStream << _recordSetSerialNumber; + dataStream << _recordLength; + dataStream << _recordCount; + dataStream << _recordValues; + dataStream << _pad4; +} + +void RecordSet::unmarshal(DataStream& dataStream) +{ + dataStream >> _recordID; + dataStream >> _recordSetSerialNumber; + dataStream >> _recordLength; + dataStream >> _recordCount; + dataStream >> _recordValues; + dataStream >> _pad4; +} + + +bool RecordSet::operator ==(const RecordSet& rhs) const + { + bool ivarsEqual = true; + + if( ! (_recordID == rhs._recordID) ) ivarsEqual = false; + if( ! (_recordSetSerialNumber == rhs._recordSetSerialNumber) ) ivarsEqual = false; + if( ! (_recordLength == rhs._recordLength) ) ivarsEqual = false; + if( ! (_recordCount == rhs._recordCount) ) ivarsEqual = false; + if( ! (_recordValues == rhs._recordValues) ) ivarsEqual = false; + if( ! (_pad4 == rhs._pad4) ) ivarsEqual = false; + + return ivarsEqual; + } + +int RecordSet::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _recordID + marshalSize = marshalSize + 4; // _recordSetSerialNumber + marshalSize = marshalSize + 2; // _recordLength + marshalSize = marshalSize + 2; // _recordCount + marshalSize = marshalSize + 2; // _recordValues + marshalSize = marshalSize + 1; // _pad4 + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/RecordSet.h b/cpp/DIS/RecordSet.h new file mode 100644 index 00000000..b5bb8a7e --- /dev/null +++ b/cpp/DIS/RecordSet.h @@ -0,0 +1,100 @@ +#ifndef RECORDSET_H +#define RECORDSET_H + +#include +#include + + +namespace DIS +{ +// Record sets, used in transfer control request PDU + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO RecordSet +{ +protected: + /** record ID */ + unsigned int _recordID; + + /** record set serial number */ + unsigned int _recordSetSerialNumber; + + /** record length */ + unsigned short _recordLength; + + /** record count */ + unsigned short _recordCount; + + /** ^^^This is wrong--variable sized data records */ + unsigned short _recordValues; + + /** ^^^This is wrong--variable sized padding */ + unsigned char _pad4; + + + public: + RecordSet(); + virtual ~RecordSet(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getRecordID() const; + void setRecordID(unsigned int pX); + + unsigned int getRecordSetSerialNumber() const; + void setRecordSetSerialNumber(unsigned int pX); + + unsigned short getRecordLength() const; + void setRecordLength(unsigned short pX); + + unsigned short getRecordCount() const; + void setRecordCount(unsigned short pX); + + unsigned short getRecordValues() const; + void setRecordValues(unsigned short pX); + + unsigned char getPad4() const; + void setPad4(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const RecordSet& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/Relationship.cpp b/cpp/DIS/Relationship.cpp new file mode 100644 index 00000000..3e61e6b4 --- /dev/null +++ b/cpp/DIS/Relationship.cpp @@ -0,0 +1,97 @@ +#include + +using namespace DIS; + + +Relationship::Relationship(): + _nature(0), + _position(0) +{ +} + +Relationship::~Relationship() +{ +} + +unsigned short Relationship::getNature() const +{ + return _nature; +} + +void Relationship::setNature(unsigned short pX) +{ + _nature = pX; +} + +unsigned short Relationship::getPosition() const +{ + return _position; +} + +void Relationship::setPosition(unsigned short pX) +{ + _position = pX; +} + +void Relationship::marshal(DataStream& dataStream) const +{ + dataStream << _nature; + dataStream << _position; +} + +void Relationship::unmarshal(DataStream& dataStream) +{ + dataStream >> _nature; + dataStream >> _position; +} + + +bool Relationship::operator ==(const Relationship& rhs) const + { + bool ivarsEqual = true; + + if( ! (_nature == rhs._nature) ) ivarsEqual = false; + if( ! (_position == rhs._position) ) ivarsEqual = false; + + return ivarsEqual; + } + +int Relationship::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2; // _nature + marshalSize = marshalSize + 2; // _position + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/Relationship.h b/cpp/DIS/Relationship.h new file mode 100644 index 00000000..3993ea21 --- /dev/null +++ b/cpp/DIS/Relationship.h @@ -0,0 +1,76 @@ +#ifndef RELATIONSHIP_H +#define RELATIONSHIP_H + +#include +#include + + +namespace DIS +{ +// 5.2.56. Purpose for joinging two entities + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO Relationship +{ +protected: + /** Nature of join */ + unsigned short _nature; + + /** position of join */ + unsigned short _position; + + + public: + Relationship(); + virtual ~Relationship(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getNature() const; + void setNature(unsigned short pX); + + unsigned short getPosition() const; + void setPosition(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const Relationship& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/RemoveEntityPdu.cpp b/cpp/DIS/RemoveEntityPdu.cpp new file mode 100644 index 00000000..5473baf2 --- /dev/null +++ b/cpp/DIS/RemoveEntityPdu.cpp @@ -0,0 +1,88 @@ +#include + +using namespace DIS; + + +RemoveEntityPdu::RemoveEntityPdu() : SimulationManagementFamilyPdu(), + _requestID(0) +{ + setPduType( 12 ); +} + +RemoveEntityPdu::~RemoveEntityPdu() +{ +} + +unsigned int RemoveEntityPdu::getRequestID() const +{ + return _requestID; +} + +void RemoveEntityPdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +void RemoveEntityPdu::marshal(DataStream& dataStream) const +{ + SimulationManagementFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _requestID; +} + +void RemoveEntityPdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _requestID; +} + + +bool RemoveEntityPdu::operator ==(const RemoveEntityPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementFamilyPdu::operator==(rhs); + + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int RemoveEntityPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 4; // _requestID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/RemoveEntityPdu.h b/cpp/DIS/RemoveEntityPdu.h new file mode 100644 index 00000000..3f8b87fc --- /dev/null +++ b/cpp/DIS/RemoveEntityPdu.h @@ -0,0 +1,71 @@ +#ifndef REMOVEENTITYPDU_H +#define REMOVEENTITYPDU_H + +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.6.2. Remove an entity. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO RemoveEntityPdu : public SimulationManagementFamilyPdu +{ +protected: + /** Identifier for the request */ + unsigned int _requestID; + + + public: + RemoveEntityPdu(); + virtual ~RemoveEntityPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const RemoveEntityPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/RemoveEntityReliablePdu.cpp b/cpp/DIS/RemoveEntityReliablePdu.cpp new file mode 100644 index 00000000..fe3dbaf5 --- /dev/null +++ b/cpp/DIS/RemoveEntityReliablePdu.cpp @@ -0,0 +1,133 @@ +#include + +using namespace DIS; + + +RemoveEntityReliablePdu::RemoveEntityReliablePdu() : SimulationManagementWithReliabilityFamilyPdu(), + _requiredReliabilityService(0), + _pad1(0), + _pad2(0), + _requestID(0) +{ + setPduType( 52 ); +} + +RemoveEntityReliablePdu::~RemoveEntityReliablePdu() +{ +} + +unsigned char RemoveEntityReliablePdu::getRequiredReliabilityService() const +{ + return _requiredReliabilityService; +} + +void RemoveEntityReliablePdu::setRequiredReliabilityService(unsigned char pX) +{ + _requiredReliabilityService = pX; +} + +unsigned short RemoveEntityReliablePdu::getPad1() const +{ + return _pad1; +} + +void RemoveEntityReliablePdu::setPad1(unsigned short pX) +{ + _pad1 = pX; +} + +unsigned char RemoveEntityReliablePdu::getPad2() const +{ + return _pad2; +} + +void RemoveEntityReliablePdu::setPad2(unsigned char pX) +{ + _pad2 = pX; +} + +unsigned int RemoveEntityReliablePdu::getRequestID() const +{ + return _requestID; +} + +void RemoveEntityReliablePdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +void RemoveEntityReliablePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementWithReliabilityFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _requiredReliabilityService; + dataStream << _pad1; + dataStream << _pad2; + dataStream << _requestID; +} + +void RemoveEntityReliablePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementWithReliabilityFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _requiredReliabilityService; + dataStream >> _pad1; + dataStream >> _pad2; + dataStream >> _requestID; +} + + +bool RemoveEntityReliablePdu::operator ==(const RemoveEntityReliablePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementWithReliabilityFamilyPdu::operator==(rhs); + + if( ! (_requiredReliabilityService == rhs._requiredReliabilityService) ) ivarsEqual = false; + if( ! (_pad1 == rhs._pad1) ) ivarsEqual = false; + if( ! (_pad2 == rhs._pad2) ) ivarsEqual = false; + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int RemoveEntityReliablePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementWithReliabilityFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 1; // _requiredReliabilityService + marshalSize = marshalSize + 2; // _pad1 + marshalSize = marshalSize + 1; // _pad2 + marshalSize = marshalSize + 4; // _requestID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/RemoveEntityReliablePdu.h b/cpp/DIS/RemoveEntityReliablePdu.h new file mode 100644 index 00000000..3a107b45 --- /dev/null +++ b/cpp/DIS/RemoveEntityReliablePdu.h @@ -0,0 +1,89 @@ +#ifndef REMOVEENTITYRELIABLEPDU_H +#define REMOVEENTITYRELIABLEPDU_H + +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.12.2: Removal of an entity , reliable. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO RemoveEntityReliablePdu : public SimulationManagementWithReliabilityFamilyPdu +{ +protected: + /** level of reliability service used for this transaction */ + unsigned char _requiredReliabilityService; + + /** padding */ + unsigned short _pad1; + + /** padding */ + unsigned char _pad2; + + /** Request ID */ + unsigned int _requestID; + + + public: + RemoveEntityReliablePdu(); + virtual ~RemoveEntityReliablePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getRequiredReliabilityService() const; + void setRequiredReliabilityService(unsigned char pX); + + unsigned short getPad1() const; + void setPad1(unsigned short pX); + + unsigned char getPad2() const; + void setPad2(unsigned char pX); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const RemoveEntityReliablePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/RepairCompletePdu.cpp b/cpp/DIS/RepairCompletePdu.cpp new file mode 100644 index 00000000..14ea7ddd --- /dev/null +++ b/cpp/DIS/RepairCompletePdu.cpp @@ -0,0 +1,143 @@ +#include + +using namespace DIS; + + +RepairCompletePdu::RepairCompletePdu() : LogisticsFamilyPdu(), + _receivingEntityID(), + _repairingEntityID(), + _repair(0), + _padding2(0) +{ + setPduType( 9 ); +} + +RepairCompletePdu::~RepairCompletePdu() +{ +} + +EntityID& RepairCompletePdu::getReceivingEntityID() +{ + return _receivingEntityID; +} + +const EntityID& RepairCompletePdu::getReceivingEntityID() const +{ + return _receivingEntityID; +} + +void RepairCompletePdu::setReceivingEntityID(const EntityID &pX) +{ + _receivingEntityID = pX; +} + +EntityID& RepairCompletePdu::getRepairingEntityID() +{ + return _repairingEntityID; +} + +const EntityID& RepairCompletePdu::getRepairingEntityID() const +{ + return _repairingEntityID; +} + +void RepairCompletePdu::setRepairingEntityID(const EntityID &pX) +{ + _repairingEntityID = pX; +} + +unsigned short RepairCompletePdu::getRepair() const +{ + return _repair; +} + +void RepairCompletePdu::setRepair(unsigned short pX) +{ + _repair = pX; +} + +short RepairCompletePdu::getPadding2() const +{ + return _padding2; +} + +void RepairCompletePdu::setPadding2(short pX) +{ + _padding2 = pX; +} + +void RepairCompletePdu::marshal(DataStream& dataStream) const +{ + LogisticsFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _receivingEntityID.marshal(dataStream); + _repairingEntityID.marshal(dataStream); + dataStream << _repair; + dataStream << _padding2; +} + +void RepairCompletePdu::unmarshal(DataStream& dataStream) +{ + LogisticsFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _receivingEntityID.unmarshal(dataStream); + _repairingEntityID.unmarshal(dataStream); + dataStream >> _repair; + dataStream >> _padding2; +} + + +bool RepairCompletePdu::operator ==(const RepairCompletePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = LogisticsFamilyPdu::operator==(rhs); + + if( ! (_receivingEntityID == rhs._receivingEntityID) ) ivarsEqual = false; + if( ! (_repairingEntityID == rhs._repairingEntityID) ) ivarsEqual = false; + if( ! (_repair == rhs._repair) ) ivarsEqual = false; + if( ! (_padding2 == rhs._padding2) ) ivarsEqual = false; + + return ivarsEqual; + } + +int RepairCompletePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = LogisticsFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _receivingEntityID.getMarshalledSize(); // _receivingEntityID + marshalSize = marshalSize + _repairingEntityID.getMarshalledSize(); // _repairingEntityID + marshalSize = marshalSize + 2; // _repair + marshalSize = marshalSize + 2; // _padding2 + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/RepairCompletePdu.h b/cpp/DIS/RepairCompletePdu.h new file mode 100644 index 00000000..6442b418 --- /dev/null +++ b/cpp/DIS/RepairCompletePdu.h @@ -0,0 +1,93 @@ +#ifndef REPAIRCOMPLETEPDU_H +#define REPAIRCOMPLETEPDU_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.2.5.5. Repair is complete. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO RepairCompletePdu : public LogisticsFamilyPdu +{ +protected: + /** Entity that is receiving service */ + EntityID _receivingEntityID; + + /** Entity that is supplying */ + EntityID _repairingEntityID; + + /** Enumeration for type of repair */ + unsigned short _repair; + + /** padding, number prevents conflict with superclass ivar name */ + short _padding2; + + + public: + RepairCompletePdu(); + virtual ~RepairCompletePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getReceivingEntityID(); + const EntityID& getReceivingEntityID() const; + void setReceivingEntityID(const EntityID &pX); + + EntityID& getRepairingEntityID(); + const EntityID& getRepairingEntityID() const; + void setRepairingEntityID(const EntityID &pX); + + unsigned short getRepair() const; + void setRepair(unsigned short pX); + + short getPadding2() const; + void setPadding2(short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const RepairCompletePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/RepairResponsePdu.cpp b/cpp/DIS/RepairResponsePdu.cpp new file mode 100644 index 00000000..c08c3a25 --- /dev/null +++ b/cpp/DIS/RepairResponsePdu.cpp @@ -0,0 +1,158 @@ +#include + +using namespace DIS; + + +RepairResponsePdu::RepairResponsePdu() : LogisticsFamilyPdu(), + _receivingEntityID(), + _repairingEntityID(), + _repairResult(0), + _padding1(0), + _padding2(0) +{ + setPduType( 10 ); +} + +RepairResponsePdu::~RepairResponsePdu() +{ +} + +EntityID& RepairResponsePdu::getReceivingEntityID() +{ + return _receivingEntityID; +} + +const EntityID& RepairResponsePdu::getReceivingEntityID() const +{ + return _receivingEntityID; +} + +void RepairResponsePdu::setReceivingEntityID(const EntityID &pX) +{ + _receivingEntityID = pX; +} + +EntityID& RepairResponsePdu::getRepairingEntityID() +{ + return _repairingEntityID; +} + +const EntityID& RepairResponsePdu::getRepairingEntityID() const +{ + return _repairingEntityID; +} + +void RepairResponsePdu::setRepairingEntityID(const EntityID &pX) +{ + _repairingEntityID = pX; +} + +unsigned char RepairResponsePdu::getRepairResult() const +{ + return _repairResult; +} + +void RepairResponsePdu::setRepairResult(unsigned char pX) +{ + _repairResult = pX; +} + +short RepairResponsePdu::getPadding1() const +{ + return _padding1; +} + +void RepairResponsePdu::setPadding1(short pX) +{ + _padding1 = pX; +} + +char RepairResponsePdu::getPadding2() const +{ + return _padding2; +} + +void RepairResponsePdu::setPadding2(char pX) +{ + _padding2 = pX; +} + +void RepairResponsePdu::marshal(DataStream& dataStream) const +{ + LogisticsFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _receivingEntityID.marshal(dataStream); + _repairingEntityID.marshal(dataStream); + dataStream << _repairResult; + dataStream << _padding1; + dataStream << _padding2; +} + +void RepairResponsePdu::unmarshal(DataStream& dataStream) +{ + LogisticsFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _receivingEntityID.unmarshal(dataStream); + _repairingEntityID.unmarshal(dataStream); + dataStream >> _repairResult; + dataStream >> _padding1; + dataStream >> _padding2; +} + + +bool RepairResponsePdu::operator ==(const RepairResponsePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = LogisticsFamilyPdu::operator==(rhs); + + if( ! (_receivingEntityID == rhs._receivingEntityID) ) ivarsEqual = false; + if( ! (_repairingEntityID == rhs._repairingEntityID) ) ivarsEqual = false; + if( ! (_repairResult == rhs._repairResult) ) ivarsEqual = false; + if( ! (_padding1 == rhs._padding1) ) ivarsEqual = false; + if( ! (_padding2 == rhs._padding2) ) ivarsEqual = false; + + return ivarsEqual; + } + +int RepairResponsePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = LogisticsFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _receivingEntityID.getMarshalledSize(); // _receivingEntityID + marshalSize = marshalSize + _repairingEntityID.getMarshalledSize(); // _repairingEntityID + marshalSize = marshalSize + 1; // _repairResult + marshalSize = marshalSize + 2; // _padding1 + marshalSize = marshalSize + 1; // _padding2 + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/RepairResponsePdu.h b/cpp/DIS/RepairResponsePdu.h new file mode 100644 index 00000000..53f399e5 --- /dev/null +++ b/cpp/DIS/RepairResponsePdu.h @@ -0,0 +1,99 @@ +#ifndef REPAIRRESPONSEPDU_H +#define REPAIRRESPONSEPDU_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.2.5.6. Sent after repair complete PDU. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO RepairResponsePdu : public LogisticsFamilyPdu +{ +protected: + /** Entity that is receiving service */ + EntityID _receivingEntityID; + + /** Entity that is supplying */ + EntityID _repairingEntityID; + + /** Result of repair operation */ + unsigned char _repairResult; + + /** padding */ + short _padding1; + + /** padding */ + char _padding2; + + + public: + RepairResponsePdu(); + virtual ~RepairResponsePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getReceivingEntityID(); + const EntityID& getReceivingEntityID() const; + void setReceivingEntityID(const EntityID &pX); + + EntityID& getRepairingEntityID(); + const EntityID& getRepairingEntityID() const; + void setRepairingEntityID(const EntityID &pX); + + unsigned char getRepairResult() const; + void setRepairResult(unsigned char pX); + + short getPadding1() const; + void setPadding1(short pX); + + char getPadding2() const; + void setPadding2(char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const RepairResponsePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ResupplyCancelPdu.cpp b/cpp/DIS/ResupplyCancelPdu.cpp new file mode 100644 index 00000000..cdb13623 --- /dev/null +++ b/cpp/DIS/ResupplyCancelPdu.cpp @@ -0,0 +1,113 @@ +#include + +using namespace DIS; + + +ResupplyCancelPdu::ResupplyCancelPdu() : LogisticsFamilyPdu(), + _receivingEntityID(), + _supplyingEntityID() +{ + setPduType( 8 ); +} + +ResupplyCancelPdu::~ResupplyCancelPdu() +{ +} + +EntityID& ResupplyCancelPdu::getReceivingEntityID() +{ + return _receivingEntityID; +} + +const EntityID& ResupplyCancelPdu::getReceivingEntityID() const +{ + return _receivingEntityID; +} + +void ResupplyCancelPdu::setReceivingEntityID(const EntityID &pX) +{ + _receivingEntityID = pX; +} + +EntityID& ResupplyCancelPdu::getSupplyingEntityID() +{ + return _supplyingEntityID; +} + +const EntityID& ResupplyCancelPdu::getSupplyingEntityID() const +{ + return _supplyingEntityID; +} + +void ResupplyCancelPdu::setSupplyingEntityID(const EntityID &pX) +{ + _supplyingEntityID = pX; +} + +void ResupplyCancelPdu::marshal(DataStream& dataStream) const +{ + LogisticsFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _receivingEntityID.marshal(dataStream); + _supplyingEntityID.marshal(dataStream); +} + +void ResupplyCancelPdu::unmarshal(DataStream& dataStream) +{ + LogisticsFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _receivingEntityID.unmarshal(dataStream); + _supplyingEntityID.unmarshal(dataStream); +} + + +bool ResupplyCancelPdu::operator ==(const ResupplyCancelPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = LogisticsFamilyPdu::operator==(rhs); + + if( ! (_receivingEntityID == rhs._receivingEntityID) ) ivarsEqual = false; + if( ! (_supplyingEntityID == rhs._supplyingEntityID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int ResupplyCancelPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = LogisticsFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _receivingEntityID.getMarshalledSize(); // _receivingEntityID + marshalSize = marshalSize + _supplyingEntityID.getMarshalledSize(); // _supplyingEntityID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ResupplyCancelPdu.h b/cpp/DIS/ResupplyCancelPdu.h new file mode 100644 index 00000000..f1d20b5a --- /dev/null +++ b/cpp/DIS/ResupplyCancelPdu.h @@ -0,0 +1,81 @@ +#ifndef RESUPPLYCANCELPDU_H +#define RESUPPLYCANCELPDU_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.2.5.4. Cancel of resupply by either the receiving or supplying entity. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ResupplyCancelPdu : public LogisticsFamilyPdu +{ +protected: + /** Entity that is receiving service */ + EntityID _receivingEntityID; + + /** Entity that is supplying */ + EntityID _supplyingEntityID; + + + public: + ResupplyCancelPdu(); + virtual ~ResupplyCancelPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getReceivingEntityID(); + const EntityID& getReceivingEntityID() const; + void setReceivingEntityID(const EntityID &pX); + + EntityID& getSupplyingEntityID(); + const EntityID& getSupplyingEntityID() const; + void setSupplyingEntityID(const EntityID &pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ResupplyCancelPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ResupplyOfferPdu.cpp b/cpp/DIS/ResupplyOfferPdu.cpp new file mode 100644 index 00000000..4bcaa2fe --- /dev/null +++ b/cpp/DIS/ResupplyOfferPdu.cpp @@ -0,0 +1,196 @@ +#include + +using namespace DIS; + + +ResupplyOfferPdu::ResupplyOfferPdu() : LogisticsFamilyPdu(), + _receivingEntityID(), + _supplyingEntityID(), + _numberOfSupplyTypes(0), + _padding1(0), + _padding2(0) +{ + setPduType( 6 ); +} + +ResupplyOfferPdu::~ResupplyOfferPdu() +{ + _supplies.clear(); +} + +EntityID& ResupplyOfferPdu::getReceivingEntityID() +{ + return _receivingEntityID; +} + +const EntityID& ResupplyOfferPdu::getReceivingEntityID() const +{ + return _receivingEntityID; +} + +void ResupplyOfferPdu::setReceivingEntityID(const EntityID &pX) +{ + _receivingEntityID = pX; +} + +EntityID& ResupplyOfferPdu::getSupplyingEntityID() +{ + return _supplyingEntityID; +} + +const EntityID& ResupplyOfferPdu::getSupplyingEntityID() const +{ + return _supplyingEntityID; +} + +void ResupplyOfferPdu::setSupplyingEntityID(const EntityID &pX) +{ + _supplyingEntityID = pX; +} + +unsigned char ResupplyOfferPdu::getNumberOfSupplyTypes() const +{ + return _supplies.size(); +} + +short ResupplyOfferPdu::getPadding1() const +{ + return _padding1; +} + +void ResupplyOfferPdu::setPadding1(short pX) +{ + _padding1 = pX; +} + +char ResupplyOfferPdu::getPadding2() const +{ + return _padding2; +} + +void ResupplyOfferPdu::setPadding2(char pX) +{ + _padding2 = pX; +} + +std::vector& ResupplyOfferPdu::getSupplies() +{ + return _supplies; +} + +const std::vector& ResupplyOfferPdu::getSupplies() const +{ + return _supplies; +} + +void ResupplyOfferPdu::setSupplies(const std::vector& pX) +{ + _supplies = pX; +} + +void ResupplyOfferPdu::marshal(DataStream& dataStream) const +{ + LogisticsFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _receivingEntityID.marshal(dataStream); + _supplyingEntityID.marshal(dataStream); + dataStream << ( unsigned char )_supplies.size(); + dataStream << _padding1; + dataStream << _padding2; + + for(size_t idx = 0; idx < _supplies.size(); idx++) + { + SupplyQuantity x = _supplies[idx]; + x.marshal(dataStream); + } + +} + +void ResupplyOfferPdu::unmarshal(DataStream& dataStream) +{ + LogisticsFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _receivingEntityID.unmarshal(dataStream); + _supplyingEntityID.unmarshal(dataStream); + dataStream >> _numberOfSupplyTypes; + dataStream >> _padding1; + dataStream >> _padding2; + + _supplies.clear(); + for(size_t idx = 0; idx < _numberOfSupplyTypes; idx++) + { + SupplyQuantity x; + x.unmarshal(dataStream); + _supplies.push_back(x); + } +} + + +bool ResupplyOfferPdu::operator ==(const ResupplyOfferPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = LogisticsFamilyPdu::operator==(rhs); + + if( ! (_receivingEntityID == rhs._receivingEntityID) ) ivarsEqual = false; + if( ! (_supplyingEntityID == rhs._supplyingEntityID) ) ivarsEqual = false; + if( ! (_padding1 == rhs._padding1) ) ivarsEqual = false; + if( ! (_padding2 == rhs._padding2) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _supplies.size(); idx++) + { + if( ! ( _supplies[idx] == rhs._supplies[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int ResupplyOfferPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = LogisticsFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _receivingEntityID.getMarshalledSize(); // _receivingEntityID + marshalSize = marshalSize + _supplyingEntityID.getMarshalledSize(); // _supplyingEntityID + marshalSize = marshalSize + 1; // _numberOfSupplyTypes + marshalSize = marshalSize + 2; // _padding1 + marshalSize = marshalSize + 1; // _padding2 + + for(int idx=0; idx < _supplies.size(); idx++) + { + SupplyQuantity listElement = _supplies[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ResupplyOfferPdu.h b/cpp/DIS/ResupplyOfferPdu.h new file mode 100644 index 00000000..27d0b31b --- /dev/null +++ b/cpp/DIS/ResupplyOfferPdu.h @@ -0,0 +1,106 @@ +#ifndef RESUPPLYOFFERPDU_H +#define RESUPPLYOFFERPDU_H + +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.5.2. Information about a request for supplies. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ResupplyOfferPdu : public LogisticsFamilyPdu +{ +protected: + /** Entity that is receiving service */ + EntityID _receivingEntityID; + + /** Entity that is supplying */ + EntityID _supplyingEntityID; + + /** how many supplies are being offered */ + unsigned char _numberOfSupplyTypes; + + /** padding */ + short _padding1; + + /** padding */ + char _padding2; + + std::vector _supplies; + + + public: + ResupplyOfferPdu(); + virtual ~ResupplyOfferPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getReceivingEntityID(); + const EntityID& getReceivingEntityID() const; + void setReceivingEntityID(const EntityID &pX); + + EntityID& getSupplyingEntityID(); + const EntityID& getSupplyingEntityID() const; + void setSupplyingEntityID(const EntityID &pX); + + unsigned char getNumberOfSupplyTypes() const; + + short getPadding1() const; + void setPadding1(short pX); + + char getPadding2() const; + void setPadding2(char pX); + + std::vector& getSupplies(); + const std::vector& getSupplies() const; + void setSupplies(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ResupplyOfferPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ResupplyReceivedPdu.cpp b/cpp/DIS/ResupplyReceivedPdu.cpp new file mode 100644 index 00000000..093e427b --- /dev/null +++ b/cpp/DIS/ResupplyReceivedPdu.cpp @@ -0,0 +1,196 @@ +#include + +using namespace DIS; + + +ResupplyReceivedPdu::ResupplyReceivedPdu() : LogisticsFamilyPdu(), + _receivingEntityID(), + _supplyingEntityID(), + _numberOfSupplyTypes(0), + _padding1(0), + _padding2(0) +{ + setPduType( 7 ); +} + +ResupplyReceivedPdu::~ResupplyReceivedPdu() +{ + _supplies.clear(); +} + +EntityID& ResupplyReceivedPdu::getReceivingEntityID() +{ + return _receivingEntityID; +} + +const EntityID& ResupplyReceivedPdu::getReceivingEntityID() const +{ + return _receivingEntityID; +} + +void ResupplyReceivedPdu::setReceivingEntityID(const EntityID &pX) +{ + _receivingEntityID = pX; +} + +EntityID& ResupplyReceivedPdu::getSupplyingEntityID() +{ + return _supplyingEntityID; +} + +const EntityID& ResupplyReceivedPdu::getSupplyingEntityID() const +{ + return _supplyingEntityID; +} + +void ResupplyReceivedPdu::setSupplyingEntityID(const EntityID &pX) +{ + _supplyingEntityID = pX; +} + +unsigned char ResupplyReceivedPdu::getNumberOfSupplyTypes() const +{ + return _supplies.size(); +} + +short ResupplyReceivedPdu::getPadding1() const +{ + return _padding1; +} + +void ResupplyReceivedPdu::setPadding1(short pX) +{ + _padding1 = pX; +} + +char ResupplyReceivedPdu::getPadding2() const +{ + return _padding2; +} + +void ResupplyReceivedPdu::setPadding2(char pX) +{ + _padding2 = pX; +} + +std::vector& ResupplyReceivedPdu::getSupplies() +{ + return _supplies; +} + +const std::vector& ResupplyReceivedPdu::getSupplies() const +{ + return _supplies; +} + +void ResupplyReceivedPdu::setSupplies(const std::vector& pX) +{ + _supplies = pX; +} + +void ResupplyReceivedPdu::marshal(DataStream& dataStream) const +{ + LogisticsFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _receivingEntityID.marshal(dataStream); + _supplyingEntityID.marshal(dataStream); + dataStream << ( unsigned char )_supplies.size(); + dataStream << _padding1; + dataStream << _padding2; + + for(size_t idx = 0; idx < _supplies.size(); idx++) + { + SupplyQuantity x = _supplies[idx]; + x.marshal(dataStream); + } + +} + +void ResupplyReceivedPdu::unmarshal(DataStream& dataStream) +{ + LogisticsFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _receivingEntityID.unmarshal(dataStream); + _supplyingEntityID.unmarshal(dataStream); + dataStream >> _numberOfSupplyTypes; + dataStream >> _padding1; + dataStream >> _padding2; + + _supplies.clear(); + for(size_t idx = 0; idx < _numberOfSupplyTypes; idx++) + { + SupplyQuantity x; + x.unmarshal(dataStream); + _supplies.push_back(x); + } +} + + +bool ResupplyReceivedPdu::operator ==(const ResupplyReceivedPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = LogisticsFamilyPdu::operator==(rhs); + + if( ! (_receivingEntityID == rhs._receivingEntityID) ) ivarsEqual = false; + if( ! (_supplyingEntityID == rhs._supplyingEntityID) ) ivarsEqual = false; + if( ! (_padding1 == rhs._padding1) ) ivarsEqual = false; + if( ! (_padding2 == rhs._padding2) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _supplies.size(); idx++) + { + if( ! ( _supplies[idx] == rhs._supplies[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int ResupplyReceivedPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = LogisticsFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _receivingEntityID.getMarshalledSize(); // _receivingEntityID + marshalSize = marshalSize + _supplyingEntityID.getMarshalledSize(); // _supplyingEntityID + marshalSize = marshalSize + 1; // _numberOfSupplyTypes + marshalSize = marshalSize + 2; // _padding1 + marshalSize = marshalSize + 1; // _padding2 + + for(int idx=0; idx < _supplies.size(); idx++) + { + SupplyQuantity listElement = _supplies[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ResupplyReceivedPdu.h b/cpp/DIS/ResupplyReceivedPdu.h new file mode 100644 index 00000000..0e0dd981 --- /dev/null +++ b/cpp/DIS/ResupplyReceivedPdu.h @@ -0,0 +1,106 @@ +#ifndef RESUPPLYRECEIVEDPDU_H +#define RESUPPLYRECEIVEDPDU_H + +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.5.3. Receipt of supplies is communiated. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ResupplyReceivedPdu : public LogisticsFamilyPdu +{ +protected: + /** Entity that is receiving service */ + EntityID _receivingEntityID; + + /** Entity that is supplying */ + EntityID _supplyingEntityID; + + /** how many supplies are being offered */ + unsigned char _numberOfSupplyTypes; + + /** padding */ + short _padding1; + + /** padding */ + char _padding2; + + std::vector _supplies; + + + public: + ResupplyReceivedPdu(); + virtual ~ResupplyReceivedPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getReceivingEntityID(); + const EntityID& getReceivingEntityID() const; + void setReceivingEntityID(const EntityID &pX); + + EntityID& getSupplyingEntityID(); + const EntityID& getSupplyingEntityID() const; + void setSupplyingEntityID(const EntityID &pX); + + unsigned char getNumberOfSupplyTypes() const; + + short getPadding1() const; + void setPadding1(short pX); + + char getPadding2() const; + void setPadding2(char pX); + + std::vector& getSupplies(); + const std::vector& getSupplies() const; + void setSupplies(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ResupplyReceivedPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/SeesPdu.cpp b/cpp/DIS/SeesPdu.cpp new file mode 100644 index 00000000..f5da935e --- /dev/null +++ b/cpp/DIS/SeesPdu.cpp @@ -0,0 +1,244 @@ +#include + +using namespace DIS; + + +SeesPdu::SeesPdu() : DistributedEmissionsFamilyPdu(), + _orginatingEntityID(), + _infraredSignatureRepresentationIndex(0), + _acousticSignatureRepresentationIndex(0), + _radarCrossSectionSignatureRepresentationIndex(0), + _numberOfPropulsionSystems(0), + _numberOfVectoringNozzleSystems(0) +{ + setPduType( 30 ); +} + +SeesPdu::~SeesPdu() +{ + _propulsionSystemData.clear(); + _vectoringSystemData.clear(); +} + +EntityID& SeesPdu::getOrginatingEntityID() +{ + return _orginatingEntityID; +} + +const EntityID& SeesPdu::getOrginatingEntityID() const +{ + return _orginatingEntityID; +} + +void SeesPdu::setOrginatingEntityID(const EntityID &pX) +{ + _orginatingEntityID = pX; +} + +unsigned short SeesPdu::getInfraredSignatureRepresentationIndex() const +{ + return _infraredSignatureRepresentationIndex; +} + +void SeesPdu::setInfraredSignatureRepresentationIndex(unsigned short pX) +{ + _infraredSignatureRepresentationIndex = pX; +} + +unsigned short SeesPdu::getAcousticSignatureRepresentationIndex() const +{ + return _acousticSignatureRepresentationIndex; +} + +void SeesPdu::setAcousticSignatureRepresentationIndex(unsigned short pX) +{ + _acousticSignatureRepresentationIndex = pX; +} + +unsigned short SeesPdu::getRadarCrossSectionSignatureRepresentationIndex() const +{ + return _radarCrossSectionSignatureRepresentationIndex; +} + +void SeesPdu::setRadarCrossSectionSignatureRepresentationIndex(unsigned short pX) +{ + _radarCrossSectionSignatureRepresentationIndex = pX; +} + +unsigned short SeesPdu::getNumberOfPropulsionSystems() const +{ + return _propulsionSystemData.size(); +} + +unsigned short SeesPdu::getNumberOfVectoringNozzleSystems() const +{ + return _vectoringSystemData.size(); +} + +std::vector& SeesPdu::getPropulsionSystemData() +{ + return _propulsionSystemData; +} + +const std::vector& SeesPdu::getPropulsionSystemData() const +{ + return _propulsionSystemData; +} + +void SeesPdu::setPropulsionSystemData(const std::vector& pX) +{ + _propulsionSystemData = pX; +} + +std::vector& SeesPdu::getVectoringSystemData() +{ + return _vectoringSystemData; +} + +const std::vector& SeesPdu::getVectoringSystemData() const +{ + return _vectoringSystemData; +} + +void SeesPdu::setVectoringSystemData(const std::vector& pX) +{ + _vectoringSystemData = pX; +} + +void SeesPdu::marshal(DataStream& dataStream) const +{ + DistributedEmissionsFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _orginatingEntityID.marshal(dataStream); + dataStream << _infraredSignatureRepresentationIndex; + dataStream << _acousticSignatureRepresentationIndex; + dataStream << _radarCrossSectionSignatureRepresentationIndex; + dataStream << ( unsigned short )_propulsionSystemData.size(); + dataStream << ( unsigned short )_vectoringSystemData.size(); + + for(size_t idx = 0; idx < _propulsionSystemData.size(); idx++) + { + PropulsionSystemData x = _propulsionSystemData[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _vectoringSystemData.size(); idx++) + { + VectoringNozzleSystemData x = _vectoringSystemData[idx]; + x.marshal(dataStream); + } + +} + +void SeesPdu::unmarshal(DataStream& dataStream) +{ + DistributedEmissionsFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _orginatingEntityID.unmarshal(dataStream); + dataStream >> _infraredSignatureRepresentationIndex; + dataStream >> _acousticSignatureRepresentationIndex; + dataStream >> _radarCrossSectionSignatureRepresentationIndex; + dataStream >> _numberOfPropulsionSystems; + dataStream >> _numberOfVectoringNozzleSystems; + + _propulsionSystemData.clear(); + for(size_t idx = 0; idx < _numberOfPropulsionSystems; idx++) + { + PropulsionSystemData x; + x.unmarshal(dataStream); + _propulsionSystemData.push_back(x); + } + + _vectoringSystemData.clear(); + for(size_t idx = 0; idx < _numberOfVectoringNozzleSystems; idx++) + { + VectoringNozzleSystemData x; + x.unmarshal(dataStream); + _vectoringSystemData.push_back(x); + } +} + + +bool SeesPdu::operator ==(const SeesPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = DistributedEmissionsFamilyPdu::operator==(rhs); + + if( ! (_orginatingEntityID == rhs._orginatingEntityID) ) ivarsEqual = false; + if( ! (_infraredSignatureRepresentationIndex == rhs._infraredSignatureRepresentationIndex) ) ivarsEqual = false; + if( ! (_acousticSignatureRepresentationIndex == rhs._acousticSignatureRepresentationIndex) ) ivarsEqual = false; + if( ! (_radarCrossSectionSignatureRepresentationIndex == rhs._radarCrossSectionSignatureRepresentationIndex) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _propulsionSystemData.size(); idx++) + { + if( ! ( _propulsionSystemData[idx] == rhs._propulsionSystemData[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _vectoringSystemData.size(); idx++) + { + if( ! ( _vectoringSystemData[idx] == rhs._vectoringSystemData[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int SeesPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = DistributedEmissionsFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _orginatingEntityID.getMarshalledSize(); // _orginatingEntityID + marshalSize = marshalSize + 2; // _infraredSignatureRepresentationIndex + marshalSize = marshalSize + 2; // _acousticSignatureRepresentationIndex + marshalSize = marshalSize + 2; // _radarCrossSectionSignatureRepresentationIndex + marshalSize = marshalSize + 2; // _numberOfPropulsionSystems + marshalSize = marshalSize + 2; // _numberOfVectoringNozzleSystems + + for(int idx=0; idx < _propulsionSystemData.size(); idx++) + { + PropulsionSystemData listElement = _propulsionSystemData[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _vectoringSystemData.size(); idx++) + { + VectoringNozzleSystemData listElement = _vectoringSystemData[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/SeesPdu.h b/cpp/DIS/SeesPdu.h new file mode 100644 index 00000000..4cec8a42 --- /dev/null +++ b/cpp/DIS/SeesPdu.h @@ -0,0 +1,118 @@ +#ifndef SEESPDU_H +#define SEESPDU_H + +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.7.5. SEES PDU, supplemental emissions entity state information. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO SeesPdu : public DistributedEmissionsFamilyPdu +{ +protected: + /** Originating entity ID */ + EntityID _orginatingEntityID; + + /** IR Signature representation index */ + unsigned short _infraredSignatureRepresentationIndex; + + /** acoustic Signature representation index */ + unsigned short _acousticSignatureRepresentationIndex; + + /** radar cross section representation index */ + unsigned short _radarCrossSectionSignatureRepresentationIndex; + + /** how many propulsion systems */ + unsigned short _numberOfPropulsionSystems; + + /** how many vectoring nozzle systems */ + unsigned short _numberOfVectoringNozzleSystems; + + /** variable length list of propulsion system data */ + std::vector _propulsionSystemData; + + /** variable length list of vectoring system data */ + std::vector _vectoringSystemData; + + + public: + SeesPdu(); + virtual ~SeesPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getOrginatingEntityID(); + const EntityID& getOrginatingEntityID() const; + void setOrginatingEntityID(const EntityID &pX); + + unsigned short getInfraredSignatureRepresentationIndex() const; + void setInfraredSignatureRepresentationIndex(unsigned short pX); + + unsigned short getAcousticSignatureRepresentationIndex() const; + void setAcousticSignatureRepresentationIndex(unsigned short pX); + + unsigned short getRadarCrossSectionSignatureRepresentationIndex() const; + void setRadarCrossSectionSignatureRepresentationIndex(unsigned short pX); + + unsigned short getNumberOfPropulsionSystems() const; + + unsigned short getNumberOfVectoringNozzleSystems() const; + + std::vector& getPropulsionSystemData(); + const std::vector& getPropulsionSystemData() const; + void setPropulsionSystemData(const std::vector& pX); + + std::vector& getVectoringSystemData(); + const std::vector& getVectoringSystemData() const; + void setVectoringSystemData(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const SeesPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ServiceRequestPdu.cpp b/cpp/DIS/ServiceRequestPdu.cpp new file mode 100644 index 00000000..bac17b3f --- /dev/null +++ b/cpp/DIS/ServiceRequestPdu.cpp @@ -0,0 +1,196 @@ +#include + +using namespace DIS; + + +ServiceRequestPdu::ServiceRequestPdu() : LogisticsFamilyPdu(), + _requestingEntityID(), + _servicingEntityID(), + _serviceTypeRequested(0), + _numberOfSupplyTypes(0), + _serviceRequestPadding(0) +{ + setPduType( 5 ); +} + +ServiceRequestPdu::~ServiceRequestPdu() +{ + _supplies.clear(); +} + +EntityID& ServiceRequestPdu::getRequestingEntityID() +{ + return _requestingEntityID; +} + +const EntityID& ServiceRequestPdu::getRequestingEntityID() const +{ + return _requestingEntityID; +} + +void ServiceRequestPdu::setRequestingEntityID(const EntityID &pX) +{ + _requestingEntityID = pX; +} + +EntityID& ServiceRequestPdu::getServicingEntityID() +{ + return _servicingEntityID; +} + +const EntityID& ServiceRequestPdu::getServicingEntityID() const +{ + return _servicingEntityID; +} + +void ServiceRequestPdu::setServicingEntityID(const EntityID &pX) +{ + _servicingEntityID = pX; +} + +unsigned char ServiceRequestPdu::getServiceTypeRequested() const +{ + return _serviceTypeRequested; +} + +void ServiceRequestPdu::setServiceTypeRequested(unsigned char pX) +{ + _serviceTypeRequested = pX; +} + +unsigned char ServiceRequestPdu::getNumberOfSupplyTypes() const +{ + return _supplies.size(); +} + +short ServiceRequestPdu::getServiceRequestPadding() const +{ + return _serviceRequestPadding; +} + +void ServiceRequestPdu::setServiceRequestPadding(short pX) +{ + _serviceRequestPadding = pX; +} + +std::vector& ServiceRequestPdu::getSupplies() +{ + return _supplies; +} + +const std::vector& ServiceRequestPdu::getSupplies() const +{ + return _supplies; +} + +void ServiceRequestPdu::setSupplies(const std::vector& pX) +{ + _supplies = pX; +} + +void ServiceRequestPdu::marshal(DataStream& dataStream) const +{ + LogisticsFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _requestingEntityID.marshal(dataStream); + _servicingEntityID.marshal(dataStream); + dataStream << _serviceTypeRequested; + dataStream << ( unsigned char )_supplies.size(); + dataStream << _serviceRequestPadding; + + for(size_t idx = 0; idx < _supplies.size(); idx++) + { + SupplyQuantity x = _supplies[idx]; + x.marshal(dataStream); + } + +} + +void ServiceRequestPdu::unmarshal(DataStream& dataStream) +{ + LogisticsFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _requestingEntityID.unmarshal(dataStream); + _servicingEntityID.unmarshal(dataStream); + dataStream >> _serviceTypeRequested; + dataStream >> _numberOfSupplyTypes; + dataStream >> _serviceRequestPadding; + + _supplies.clear(); + for(size_t idx = 0; idx < _numberOfSupplyTypes; idx++) + { + SupplyQuantity x; + x.unmarshal(dataStream); + _supplies.push_back(x); + } +} + + +bool ServiceRequestPdu::operator ==(const ServiceRequestPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = LogisticsFamilyPdu::operator==(rhs); + + if( ! (_requestingEntityID == rhs._requestingEntityID) ) ivarsEqual = false; + if( ! (_servicingEntityID == rhs._servicingEntityID) ) ivarsEqual = false; + if( ! (_serviceTypeRequested == rhs._serviceTypeRequested) ) ivarsEqual = false; + if( ! (_serviceRequestPadding == rhs._serviceRequestPadding) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _supplies.size(); idx++) + { + if( ! ( _supplies[idx] == rhs._supplies[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int ServiceRequestPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = LogisticsFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _requestingEntityID.getMarshalledSize(); // _requestingEntityID + marshalSize = marshalSize + _servicingEntityID.getMarshalledSize(); // _servicingEntityID + marshalSize = marshalSize + 1; // _serviceTypeRequested + marshalSize = marshalSize + 1; // _numberOfSupplyTypes + marshalSize = marshalSize + 2; // _serviceRequestPadding + + for(int idx=0; idx < _supplies.size(); idx++) + { + SupplyQuantity listElement = _supplies[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ServiceRequestPdu.h b/cpp/DIS/ServiceRequestPdu.h new file mode 100644 index 00000000..850e104b --- /dev/null +++ b/cpp/DIS/ServiceRequestPdu.h @@ -0,0 +1,106 @@ +#ifndef SERVICEREQUESTPDU_H +#define SERVICEREQUESTPDU_H + +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.5.1. Information about a request for supplies. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ServiceRequestPdu : public LogisticsFamilyPdu +{ +protected: + /** Entity that is requesting service */ + EntityID _requestingEntityID; + + /** Entity that is providing the service */ + EntityID _servicingEntityID; + + /** type of service requested */ + unsigned char _serviceTypeRequested; + + /** How many requested */ + unsigned char _numberOfSupplyTypes; + + /** padding */ + short _serviceRequestPadding; + + std::vector _supplies; + + + public: + ServiceRequestPdu(); + virtual ~ServiceRequestPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getRequestingEntityID(); + const EntityID& getRequestingEntityID() const; + void setRequestingEntityID(const EntityID &pX); + + EntityID& getServicingEntityID(); + const EntityID& getServicingEntityID() const; + void setServicingEntityID(const EntityID &pX); + + unsigned char getServiceTypeRequested() const; + void setServiceTypeRequested(unsigned char pX); + + unsigned char getNumberOfSupplyTypes() const; + + short getServiceRequestPadding() const; + void setServiceRequestPadding(short pX); + + std::vector& getSupplies(); + const std::vector& getSupplies() const; + void setSupplies(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ServiceRequestPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/SetDataPdu.cpp b/cpp/DIS/SetDataPdu.cpp new file mode 100644 index 00000000..f6a4d243 --- /dev/null +++ b/cpp/DIS/SetDataPdu.cpp @@ -0,0 +1,209 @@ +#include + +using namespace DIS; + + +SetDataPdu::SetDataPdu() : SimulationManagementFamilyPdu(), + _requestID(0), + _padding1(0), + _numberOfFixedDatumRecords(0), + _numberOfVariableDatumRecords(0) +{ + setPduType( 19 ); +} + +SetDataPdu::~SetDataPdu() +{ + _fixedDatums.clear(); + _variableDatums.clear(); +} + +unsigned int SetDataPdu::getRequestID() const +{ + return _requestID; +} + +void SetDataPdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +unsigned int SetDataPdu::getPadding1() const +{ + return _padding1; +} + +void SetDataPdu::setPadding1(unsigned int pX) +{ + _padding1 = pX; +} + +unsigned int SetDataPdu::getNumberOfFixedDatumRecords() const +{ + return _fixedDatums.size(); +} + +unsigned int SetDataPdu::getNumberOfVariableDatumRecords() const +{ + return _variableDatums.size(); +} + +std::vector& SetDataPdu::getFixedDatums() +{ + return _fixedDatums; +} + +const std::vector& SetDataPdu::getFixedDatums() const +{ + return _fixedDatums; +} + +void SetDataPdu::setFixedDatums(const std::vector& pX) +{ + _fixedDatums = pX; +} + +std::vector& SetDataPdu::getVariableDatums() +{ + return _variableDatums; +} + +const std::vector& SetDataPdu::getVariableDatums() const +{ + return _variableDatums; +} + +void SetDataPdu::setVariableDatums(const std::vector& pX) +{ + _variableDatums = pX; +} + +void SetDataPdu::marshal(DataStream& dataStream) const +{ + SimulationManagementFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _requestID; + dataStream << _padding1; + dataStream << ( unsigned int )_fixedDatums.size(); + dataStream << ( unsigned int )_variableDatums.size(); + + for(size_t idx = 0; idx < _fixedDatums.size(); idx++) + { + FixedDatum x = _fixedDatums[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { + VariableDatum x = _variableDatums[idx]; + x.marshal(dataStream); + } + +} + +void SetDataPdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _requestID; + dataStream >> _padding1; + dataStream >> _numberOfFixedDatumRecords; + dataStream >> _numberOfVariableDatumRecords; + + _fixedDatums.clear(); + for(size_t idx = 0; idx < _numberOfFixedDatumRecords; idx++) + { + FixedDatum x; + x.unmarshal(dataStream); + _fixedDatums.push_back(x); + } + + _variableDatums.clear(); + for(size_t idx = 0; idx < _numberOfVariableDatumRecords; idx++) + { + VariableDatum x; + x.unmarshal(dataStream); + _variableDatums.push_back(x); + } +} + + +bool SetDataPdu::operator ==(const SetDataPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementFamilyPdu::operator==(rhs); + + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + if( ! (_padding1 == rhs._padding1) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _fixedDatums.size(); idx++) + { + if( ! ( _fixedDatums[idx] == rhs._fixedDatums[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { + if( ! ( _variableDatums[idx] == rhs._variableDatums[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int SetDataPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 4; // _requestID + marshalSize = marshalSize + 4; // _padding1 + marshalSize = marshalSize + 4; // _numberOfFixedDatumRecords + marshalSize = marshalSize + 4; // _numberOfVariableDatumRecords + + for(int idx=0; idx < _fixedDatums.size(); idx++) + { + FixedDatum listElement = _fixedDatums[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _variableDatums.size(); idx++) + { + VariableDatum listElement = _variableDatums[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/SetDataPdu.h b/cpp/DIS/SetDataPdu.h new file mode 100644 index 00000000..d74d0874 --- /dev/null +++ b/cpp/DIS/SetDataPdu.h @@ -0,0 +1,104 @@ +#ifndef SETDATAPDU_H +#define SETDATAPDU_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.6.9. Change state information with the data contained in this. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO SetDataPdu : public SimulationManagementFamilyPdu +{ +protected: + /** ID of request */ + unsigned int _requestID; + + /** padding */ + unsigned int _padding1; + + /** Number of fixed datum records */ + unsigned int _numberOfFixedDatumRecords; + + /** Number of variable datum records */ + unsigned int _numberOfVariableDatumRecords; + + /** variable length list of fixed datums */ + std::vector _fixedDatums; + + /** variable length list of variable length datums */ + std::vector _variableDatums; + + + public: + SetDataPdu(); + virtual ~SetDataPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + unsigned int getPadding1() const; + void setPadding1(unsigned int pX); + + unsigned int getNumberOfFixedDatumRecords() const; + + unsigned int getNumberOfVariableDatumRecords() const; + + std::vector& getFixedDatums(); + const std::vector& getFixedDatums() const; + void setFixedDatums(const std::vector& pX); + + std::vector& getVariableDatums(); + const std::vector& getVariableDatums() const; + void setVariableDatums(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const SetDataPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/SetDataReliablePdu.cpp b/cpp/DIS/SetDataReliablePdu.cpp new file mode 100644 index 00000000..e8d739ba --- /dev/null +++ b/cpp/DIS/SetDataReliablePdu.cpp @@ -0,0 +1,239 @@ +#include + +using namespace DIS; + + +SetDataReliablePdu::SetDataReliablePdu() : SimulationManagementWithReliabilityFamilyPdu(), + _requiredReliabilityService(0), + _pad1(0), + _pad2(0), + _requestID(0), + _numberOfFixedDatumRecords(0), + _numberOfVariableDatumRecords(0) +{ + setPduType( 59 ); +} + +SetDataReliablePdu::~SetDataReliablePdu() +{ + _fixedDatumRecords.clear(); + _variableDatumRecords.clear(); +} + +unsigned char SetDataReliablePdu::getRequiredReliabilityService() const +{ + return _requiredReliabilityService; +} + +void SetDataReliablePdu::setRequiredReliabilityService(unsigned char pX) +{ + _requiredReliabilityService = pX; +} + +unsigned short SetDataReliablePdu::getPad1() const +{ + return _pad1; +} + +void SetDataReliablePdu::setPad1(unsigned short pX) +{ + _pad1 = pX; +} + +unsigned char SetDataReliablePdu::getPad2() const +{ + return _pad2; +} + +void SetDataReliablePdu::setPad2(unsigned char pX) +{ + _pad2 = pX; +} + +unsigned int SetDataReliablePdu::getRequestID() const +{ + return _requestID; +} + +void SetDataReliablePdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +unsigned int SetDataReliablePdu::getNumberOfFixedDatumRecords() const +{ + return _fixedDatumRecords.size(); +} + +unsigned int SetDataReliablePdu::getNumberOfVariableDatumRecords() const +{ + return _variableDatumRecords.size(); +} + +std::vector& SetDataReliablePdu::getFixedDatumRecords() +{ + return _fixedDatumRecords; +} + +const std::vector& SetDataReliablePdu::getFixedDatumRecords() const +{ + return _fixedDatumRecords; +} + +void SetDataReliablePdu::setFixedDatumRecords(const std::vector& pX) +{ + _fixedDatumRecords = pX; +} + +std::vector& SetDataReliablePdu::getVariableDatumRecords() +{ + return _variableDatumRecords; +} + +const std::vector& SetDataReliablePdu::getVariableDatumRecords() const +{ + return _variableDatumRecords; +} + +void SetDataReliablePdu::setVariableDatumRecords(const std::vector& pX) +{ + _variableDatumRecords = pX; +} + +void SetDataReliablePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementWithReliabilityFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _requiredReliabilityService; + dataStream << _pad1; + dataStream << _pad2; + dataStream << _requestID; + dataStream << ( unsigned int )_fixedDatumRecords.size(); + dataStream << ( unsigned int )_variableDatumRecords.size(); + + for(size_t idx = 0; idx < _fixedDatumRecords.size(); idx++) + { + FixedDatum x = _fixedDatumRecords[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _variableDatumRecords.size(); idx++) + { + VariableDatum x = _variableDatumRecords[idx]; + x.marshal(dataStream); + } + +} + +void SetDataReliablePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementWithReliabilityFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _requiredReliabilityService; + dataStream >> _pad1; + dataStream >> _pad2; + dataStream >> _requestID; + dataStream >> _numberOfFixedDatumRecords; + dataStream >> _numberOfVariableDatumRecords; + + _fixedDatumRecords.clear(); + for(size_t idx = 0; idx < _numberOfFixedDatumRecords; idx++) + { + FixedDatum x; + x.unmarshal(dataStream); + _fixedDatumRecords.push_back(x); + } + + _variableDatumRecords.clear(); + for(size_t idx = 0; idx < _numberOfVariableDatumRecords; idx++) + { + VariableDatum x; + x.unmarshal(dataStream); + _variableDatumRecords.push_back(x); + } +} + + +bool SetDataReliablePdu::operator ==(const SetDataReliablePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementWithReliabilityFamilyPdu::operator==(rhs); + + if( ! (_requiredReliabilityService == rhs._requiredReliabilityService) ) ivarsEqual = false; + if( ! (_pad1 == rhs._pad1) ) ivarsEqual = false; + if( ! (_pad2 == rhs._pad2) ) ivarsEqual = false; + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _fixedDatumRecords.size(); idx++) + { + if( ! ( _fixedDatumRecords[idx] == rhs._fixedDatumRecords[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _variableDatumRecords.size(); idx++) + { + if( ! ( _variableDatumRecords[idx] == rhs._variableDatumRecords[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int SetDataReliablePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementWithReliabilityFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 1; // _requiredReliabilityService + marshalSize = marshalSize + 2; // _pad1 + marshalSize = marshalSize + 1; // _pad2 + marshalSize = marshalSize + 4; // _requestID + marshalSize = marshalSize + 4; // _numberOfFixedDatumRecords + marshalSize = marshalSize + 4; // _numberOfVariableDatumRecords + + for(int idx=0; idx < _fixedDatumRecords.size(); idx++) + { + FixedDatum listElement = _fixedDatumRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _variableDatumRecords.size(); idx++) + { + VariableDatum listElement = _variableDatumRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/SetDataReliablePdu.h b/cpp/DIS/SetDataReliablePdu.h new file mode 100644 index 00000000..24e53160 --- /dev/null +++ b/cpp/DIS/SetDataReliablePdu.h @@ -0,0 +1,116 @@ +#ifndef SETDATARELIABLEPDU_H +#define SETDATARELIABLEPDU_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.12.9: initializing or chaning internal state information, reliable. Needs manual intervention to fix padding on variable datums. UNFINISHED + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO SetDataReliablePdu : public SimulationManagementWithReliabilityFamilyPdu +{ +protected: + /** level of reliability service used for this transaction */ + unsigned char _requiredReliabilityService; + + /** padding */ + unsigned short _pad1; + + /** padding */ + unsigned char _pad2; + + /** Request ID */ + unsigned int _requestID; + + /** Fixed datum record count */ + unsigned int _numberOfFixedDatumRecords; + + /** variable datum record count */ + unsigned int _numberOfVariableDatumRecords; + + /** Fixed datum records */ + std::vector _fixedDatumRecords; + + /** Variable datum records */ + std::vector _variableDatumRecords; + + + public: + SetDataReliablePdu(); + virtual ~SetDataReliablePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getRequiredReliabilityService() const; + void setRequiredReliabilityService(unsigned char pX); + + unsigned short getPad1() const; + void setPad1(unsigned short pX); + + unsigned char getPad2() const; + void setPad2(unsigned char pX); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + unsigned int getNumberOfFixedDatumRecords() const; + + unsigned int getNumberOfVariableDatumRecords() const; + + std::vector& getFixedDatumRecords(); + const std::vector& getFixedDatumRecords() const; + void setFixedDatumRecords(const std::vector& pX); + + std::vector& getVariableDatumRecords(); + const std::vector& getVariableDatumRecords() const; + void setVariableDatumRecords(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const SetDataReliablePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/SetRecordReliablePdu.cpp b/cpp/DIS/SetRecordReliablePdu.cpp new file mode 100644 index 00000000..0dffb1d6 --- /dev/null +++ b/cpp/DIS/SetRecordReliablePdu.cpp @@ -0,0 +1,186 @@ +#include + +using namespace DIS; + + +SetRecordReliablePdu::SetRecordReliablePdu() : SimulationManagementWithReliabilityFamilyPdu(), + _requestID(0), + _requiredReliabilityService(0), + _pad1(0), + _pad2(0), + _numberOfRecordSets(0) +{ + setPduType( 64 ); +} + +SetRecordReliablePdu::~SetRecordReliablePdu() +{ + _recordSets.clear(); +} + +unsigned int SetRecordReliablePdu::getRequestID() const +{ + return _requestID; +} + +void SetRecordReliablePdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +unsigned char SetRecordReliablePdu::getRequiredReliabilityService() const +{ + return _requiredReliabilityService; +} + +void SetRecordReliablePdu::setRequiredReliabilityService(unsigned char pX) +{ + _requiredReliabilityService = pX; +} + +unsigned short SetRecordReliablePdu::getPad1() const +{ + return _pad1; +} + +void SetRecordReliablePdu::setPad1(unsigned short pX) +{ + _pad1 = pX; +} + +unsigned char SetRecordReliablePdu::getPad2() const +{ + return _pad2; +} + +void SetRecordReliablePdu::setPad2(unsigned char pX) +{ + _pad2 = pX; +} + +unsigned int SetRecordReliablePdu::getNumberOfRecordSets() const +{ + return _recordSets.size(); +} + +std::vector& SetRecordReliablePdu::getRecordSets() +{ + return _recordSets; +} + +const std::vector& SetRecordReliablePdu::getRecordSets() const +{ + return _recordSets; +} + +void SetRecordReliablePdu::setRecordSets(const std::vector& pX) +{ + _recordSets = pX; +} + +void SetRecordReliablePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementWithReliabilityFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _requestID; + dataStream << _requiredReliabilityService; + dataStream << _pad1; + dataStream << _pad2; + dataStream << ( unsigned int )_recordSets.size(); + + for(size_t idx = 0; idx < _recordSets.size(); idx++) + { + RecordSet x = _recordSets[idx]; + x.marshal(dataStream); + } + +} + +void SetRecordReliablePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementWithReliabilityFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _requestID; + dataStream >> _requiredReliabilityService; + dataStream >> _pad1; + dataStream >> _pad2; + dataStream >> _numberOfRecordSets; + + _recordSets.clear(); + for(size_t idx = 0; idx < _numberOfRecordSets; idx++) + { + RecordSet x; + x.unmarshal(dataStream); + _recordSets.push_back(x); + } +} + + +bool SetRecordReliablePdu::operator ==(const SetRecordReliablePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementWithReliabilityFamilyPdu::operator==(rhs); + + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + if( ! (_requiredReliabilityService == rhs._requiredReliabilityService) ) ivarsEqual = false; + if( ! (_pad1 == rhs._pad1) ) ivarsEqual = false; + if( ! (_pad2 == rhs._pad2) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _recordSets.size(); idx++) + { + if( ! ( _recordSets[idx] == rhs._recordSets[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int SetRecordReliablePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementWithReliabilityFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 4; // _requestID + marshalSize = marshalSize + 1; // _requiredReliabilityService + marshalSize = marshalSize + 2; // _pad1 + marshalSize = marshalSize + 1; // _pad2 + marshalSize = marshalSize + 4; // _numberOfRecordSets + + for(int idx=0; idx < _recordSets.size(); idx++) + { + RecordSet listElement = _recordSets[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/SetRecordReliablePdu.h b/cpp/DIS/SetRecordReliablePdu.h new file mode 100644 index 00000000..69d9ccf9 --- /dev/null +++ b/cpp/DIS/SetRecordReliablePdu.h @@ -0,0 +1,103 @@ +#ifndef SETRECORDRELIABLEPDU_H +#define SETRECORDRELIABLEPDU_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.12.14: Initializing or changing internal parameter info. Needs manual intervention to fix padding in recrod set PDUs. UNFINISHED + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO SetRecordReliablePdu : public SimulationManagementWithReliabilityFamilyPdu +{ +protected: + /** request ID */ + unsigned int _requestID; + + /** level of reliability service used for this transaction */ + unsigned char _requiredReliabilityService; + + /** padding. The spec is unclear and contradictory here. */ + unsigned short _pad1; + + /** padding */ + unsigned char _pad2; + + /** Number of record sets in list */ + unsigned int _numberOfRecordSets; + + /** record sets */ + std::vector _recordSets; + + + public: + SetRecordReliablePdu(); + virtual ~SetRecordReliablePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + unsigned char getRequiredReliabilityService() const; + void setRequiredReliabilityService(unsigned char pX); + + unsigned short getPad1() const; + void setPad1(unsigned short pX); + + unsigned char getPad2() const; + void setPad2(unsigned char pX); + + unsigned int getNumberOfRecordSets() const; + + std::vector& getRecordSets(); + const std::vector& getRecordSets() const; + void setRecordSets(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const SetRecordReliablePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ShaftRPMs.cpp b/cpp/DIS/ShaftRPMs.cpp new file mode 100644 index 00000000..b2443946 --- /dev/null +++ b/cpp/DIS/ShaftRPMs.cpp @@ -0,0 +1,112 @@ +#include + +using namespace DIS; + + +ShaftRPMs::ShaftRPMs(): + _currentShaftRPMs(0), + _orderedShaftRPMs(0), + _shaftRPMRateOfChange(0.0) +{ +} + +ShaftRPMs::~ShaftRPMs() +{ +} + +short ShaftRPMs::getCurrentShaftRPMs() const +{ + return _currentShaftRPMs; +} + +void ShaftRPMs::setCurrentShaftRPMs(short pX) +{ + _currentShaftRPMs = pX; +} + +short ShaftRPMs::getOrderedShaftRPMs() const +{ + return _orderedShaftRPMs; +} + +void ShaftRPMs::setOrderedShaftRPMs(short pX) +{ + _orderedShaftRPMs = pX; +} + +float ShaftRPMs::getShaftRPMRateOfChange() const +{ + return _shaftRPMRateOfChange; +} + +void ShaftRPMs::setShaftRPMRateOfChange(float pX) +{ + _shaftRPMRateOfChange = pX; +} + +void ShaftRPMs::marshal(DataStream& dataStream) const +{ + dataStream << _currentShaftRPMs; + dataStream << _orderedShaftRPMs; + dataStream << _shaftRPMRateOfChange; +} + +void ShaftRPMs::unmarshal(DataStream& dataStream) +{ + dataStream >> _currentShaftRPMs; + dataStream >> _orderedShaftRPMs; + dataStream >> _shaftRPMRateOfChange; +} + + +bool ShaftRPMs::operator ==(const ShaftRPMs& rhs) const + { + bool ivarsEqual = true; + + if( ! (_currentShaftRPMs == rhs._currentShaftRPMs) ) ivarsEqual = false; + if( ! (_orderedShaftRPMs == rhs._orderedShaftRPMs) ) ivarsEqual = false; + if( ! (_shaftRPMRateOfChange == rhs._shaftRPMRateOfChange) ) ivarsEqual = false; + + return ivarsEqual; + } + +int ShaftRPMs::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2; // _currentShaftRPMs + marshalSize = marshalSize + 2; // _orderedShaftRPMs + marshalSize = marshalSize + 4; // _shaftRPMRateOfChange + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/ShaftRPMs.h b/cpp/DIS/ShaftRPMs.h new file mode 100644 index 00000000..ea7cec65 --- /dev/null +++ b/cpp/DIS/ShaftRPMs.h @@ -0,0 +1,82 @@ +#ifndef SHAFTRPMS_H +#define SHAFTRPMS_H + +#include +#include + + +namespace DIS +{ +// Shaft RPMs, used in underwater acoustic clacluations. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ShaftRPMs +{ +protected: + /** Current shaft RPMs */ + short _currentShaftRPMs; + + /** ordered shaft rpms */ + short _orderedShaftRPMs; + + /** rate of change of shaft RPMs */ + float _shaftRPMRateOfChange; + + + public: + ShaftRPMs(); + virtual ~ShaftRPMs(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + short getCurrentShaftRPMs() const; + void setCurrentShaftRPMs(short pX); + + short getOrderedShaftRPMs() const; + void setOrderedShaftRPMs(short pX); + + float getShaftRPMRateOfChange() const; + void setShaftRPMRateOfChange(float pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ShaftRPMs& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/SignalPdu.cpp b/cpp/DIS/SignalPdu.cpp new file mode 100644 index 00000000..5e3de87e --- /dev/null +++ b/cpp/DIS/SignalPdu.cpp @@ -0,0 +1,186 @@ +#include + +using namespace DIS; + + +SignalPdu::SignalPdu() : RadioCommunicationsFamilyPdu(), + _encodingScheme(0), + _tdlType(0), + _sampleRate(0), + _dataLength(0), + _samples(0) +{ + setPduType( 26 ); +} + +SignalPdu::~SignalPdu() +{ + _data.clear(); +} + +unsigned short SignalPdu::getEncodingScheme() const +{ + return _encodingScheme; +} + +void SignalPdu::setEncodingScheme(unsigned short pX) +{ + _encodingScheme = pX; +} + +unsigned short SignalPdu::getTdlType() const +{ + return _tdlType; +} + +void SignalPdu::setTdlType(unsigned short pX) +{ + _tdlType = pX; +} + +unsigned int SignalPdu::getSampleRate() const +{ + return _sampleRate; +} + +void SignalPdu::setSampleRate(unsigned int pX) +{ + _sampleRate = pX; +} + +short SignalPdu::getDataLength() const +{ + return _data.size(); +} + +short SignalPdu::getSamples() const +{ + return _samples; +} + +void SignalPdu::setSamples(short pX) +{ + _samples = pX; +} + +std::vector& SignalPdu::getData() +{ + return _data; +} + +const std::vector& SignalPdu::getData() const +{ + return _data; +} + +void SignalPdu::setData(const std::vector& pX) +{ + _data = pX; +} + +void SignalPdu::marshal(DataStream& dataStream) const +{ + RadioCommunicationsFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _encodingScheme; + dataStream << _tdlType; + dataStream << _sampleRate; + dataStream << ( short )_data.size(); + dataStream << _samples; + + for(size_t idx = 0; idx < _data.size(); idx++) + { + OneByteChunk x = _data[idx]; + x.marshal(dataStream); + } + +} + +void SignalPdu::unmarshal(DataStream& dataStream) +{ + RadioCommunicationsFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _encodingScheme; + dataStream >> _tdlType; + dataStream >> _sampleRate; + dataStream >> _dataLength; + dataStream >> _samples; + + _data.clear(); + for(size_t idx = 0; idx < _dataLength; idx++) + { + OneByteChunk x; + x.unmarshal(dataStream); + _data.push_back(x); + } +} + + +bool SignalPdu::operator ==(const SignalPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = RadioCommunicationsFamilyPdu::operator==(rhs); + + if( ! (_encodingScheme == rhs._encodingScheme) ) ivarsEqual = false; + if( ! (_tdlType == rhs._tdlType) ) ivarsEqual = false; + if( ! (_sampleRate == rhs._sampleRate) ) ivarsEqual = false; + if( ! (_samples == rhs._samples) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _data.size(); idx++) + { + if( ! ( _data[idx] == rhs._data[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int SignalPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = RadioCommunicationsFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 2; // _encodingScheme + marshalSize = marshalSize + 2; // _tdlType + marshalSize = marshalSize + 4; // _sampleRate + marshalSize = marshalSize + 2; // _dataLength + marshalSize = marshalSize + 2; // _samples + + for(int idx=0; idx < _data.size(); idx++) + { + OneByteChunk listElement = _data[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/SignalPdu.h b/cpp/DIS/SignalPdu.h new file mode 100644 index 00000000..bc660f53 --- /dev/null +++ b/cpp/DIS/SignalPdu.h @@ -0,0 +1,103 @@ +#ifndef SIGNALPDU_H +#define SIGNALPDU_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.8.2. Detailed information about a radio transmitter. This PDU requires manually written code to complete. The encodingScheme field can be used in multiple ways, which requires hand-written code to finish. UNFINISHED + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO SignalPdu : public RadioCommunicationsFamilyPdu +{ +protected: + /** encoding scheme used, and enumeration */ + unsigned short _encodingScheme; + + /** tdl type */ + unsigned short _tdlType; + + /** sample rate */ + unsigned int _sampleRate; + + /** length od data */ + short _dataLength; + + /** number of samples */ + short _samples; + + /** list of eight bit values */ + std::vector _data; + + + public: + SignalPdu(); + virtual ~SignalPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getEncodingScheme() const; + void setEncodingScheme(unsigned short pX); + + unsigned short getTdlType() const; + void setTdlType(unsigned short pX); + + unsigned int getSampleRate() const; + void setSampleRate(unsigned int pX); + + short getDataLength() const; + + short getSamples() const; + void setSamples(short pX); + + std::vector& getData(); + const std::vector& getData() const; + void setData(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const SignalPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/SimulationAddress.cpp b/cpp/DIS/SimulationAddress.cpp new file mode 100644 index 00000000..e68c219f --- /dev/null +++ b/cpp/DIS/SimulationAddress.cpp @@ -0,0 +1,97 @@ +#include + +using namespace DIS; + + +SimulationAddress::SimulationAddress(): + _site(0), + _application(0) +{ +} + +SimulationAddress::~SimulationAddress() +{ +} + +unsigned short SimulationAddress::getSite() const +{ + return _site; +} + +void SimulationAddress::setSite(unsigned short pX) +{ + _site = pX; +} + +unsigned short SimulationAddress::getApplication() const +{ + return _application; +} + +void SimulationAddress::setApplication(unsigned short pX) +{ + _application = pX; +} + +void SimulationAddress::marshal(DataStream& dataStream) const +{ + dataStream << _site; + dataStream << _application; +} + +void SimulationAddress::unmarshal(DataStream& dataStream) +{ + dataStream >> _site; + dataStream >> _application; +} + + +bool SimulationAddress::operator ==(const SimulationAddress& rhs) const + { + bool ivarsEqual = true; + + if( ! (_site == rhs._site) ) ivarsEqual = false; + if( ! (_application == rhs._application) ) ivarsEqual = false; + + return ivarsEqual; + } + +int SimulationAddress::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2; // _site + marshalSize = marshalSize + 2; // _application + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/SimulationAddress.h b/cpp/DIS/SimulationAddress.h new file mode 100644 index 00000000..62366ba5 --- /dev/null +++ b/cpp/DIS/SimulationAddress.h @@ -0,0 +1,76 @@ +#ifndef SIMULATIONADDRESS_H +#define SIMULATIONADDRESS_H + +#include +#include + + +namespace DIS +{ +// Section 5.2.14.1. A Simulation Address record shall consist of the Site Identification number and the Application Identification number. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO SimulationAddress +{ +protected: + /** The site ID */ + unsigned short _site; + + /** The application ID */ + unsigned short _application; + + + public: + SimulationAddress(); + virtual ~SimulationAddress(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getSite() const; + void setSite(unsigned short pX); + + unsigned short getApplication() const; + void setApplication(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const SimulationAddress& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/SimulationManagementFamilyPdu.cpp b/cpp/DIS/SimulationManagementFamilyPdu.cpp new file mode 100644 index 00000000..fbb58784 --- /dev/null +++ b/cpp/DIS/SimulationManagementFamilyPdu.cpp @@ -0,0 +1,113 @@ +#include + +using namespace DIS; + + +SimulationManagementFamilyPdu::SimulationManagementFamilyPdu() : Pdu(), + _originatingEntityID(), + _receivingEntityID() +{ + setProtocolFamily( 5 ); +} + +SimulationManagementFamilyPdu::~SimulationManagementFamilyPdu() +{ +} + +EntityID& SimulationManagementFamilyPdu::getOriginatingEntityID() +{ + return _originatingEntityID; +} + +const EntityID& SimulationManagementFamilyPdu::getOriginatingEntityID() const +{ + return _originatingEntityID; +} + +void SimulationManagementFamilyPdu::setOriginatingEntityID(const EntityID &pX) +{ + _originatingEntityID = pX; +} + +EntityID& SimulationManagementFamilyPdu::getReceivingEntityID() +{ + return _receivingEntityID; +} + +const EntityID& SimulationManagementFamilyPdu::getReceivingEntityID() const +{ + return _receivingEntityID; +} + +void SimulationManagementFamilyPdu::setReceivingEntityID(const EntityID &pX) +{ + _receivingEntityID = pX; +} + +void SimulationManagementFamilyPdu::marshal(DataStream& dataStream) const +{ + Pdu::marshal(dataStream); // Marshal information in superclass first + _originatingEntityID.marshal(dataStream); + _receivingEntityID.marshal(dataStream); +} + +void SimulationManagementFamilyPdu::unmarshal(DataStream& dataStream) +{ + Pdu::unmarshal(dataStream); // unmarshal information in superclass first + _originatingEntityID.unmarshal(dataStream); + _receivingEntityID.unmarshal(dataStream); +} + + +bool SimulationManagementFamilyPdu::operator ==(const SimulationManagementFamilyPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = Pdu::operator==(rhs); + + if( ! (_originatingEntityID == rhs._originatingEntityID) ) ivarsEqual = false; + if( ! (_receivingEntityID == rhs._receivingEntityID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int SimulationManagementFamilyPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = Pdu::getMarshalledSize(); + marshalSize = marshalSize + _originatingEntityID.getMarshalledSize(); // _originatingEntityID + marshalSize = marshalSize + _receivingEntityID.getMarshalledSize(); // _receivingEntityID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/SimulationManagementFamilyPdu.h b/cpp/DIS/SimulationManagementFamilyPdu.h new file mode 100644 index 00000000..74d03bc6 --- /dev/null +++ b/cpp/DIS/SimulationManagementFamilyPdu.h @@ -0,0 +1,81 @@ +#ifndef SIMULATIONMANAGEMENTFAMILYPDU_H +#define SIMULATIONMANAGEMENTFAMILYPDU_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.6. Abstract superclass for PDUs relating to the simulation itself. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO SimulationManagementFamilyPdu : public Pdu +{ +protected: + /** Entity that is sending message */ + EntityID _originatingEntityID; + + /** Entity that is intended to receive message */ + EntityID _receivingEntityID; + + + public: + SimulationManagementFamilyPdu(); + virtual ~SimulationManagementFamilyPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getOriginatingEntityID(); + const EntityID& getOriginatingEntityID() const; + void setOriginatingEntityID(const EntityID &pX); + + EntityID& getReceivingEntityID(); + const EntityID& getReceivingEntityID() const; + void setReceivingEntityID(const EntityID &pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const SimulationManagementFamilyPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/SimulationManagementWithReliabilityFamilyPdu.cpp b/cpp/DIS/SimulationManagementWithReliabilityFamilyPdu.cpp new file mode 100644 index 00000000..c697f7e8 --- /dev/null +++ b/cpp/DIS/SimulationManagementWithReliabilityFamilyPdu.cpp @@ -0,0 +1,113 @@ +#include + +using namespace DIS; + + +SimulationManagementWithReliabilityFamilyPdu::SimulationManagementWithReliabilityFamilyPdu() : Pdu(), + _originatingEntityID(), + _receivingEntityID() +{ + setProtocolFamily( 10 ); +} + +SimulationManagementWithReliabilityFamilyPdu::~SimulationManagementWithReliabilityFamilyPdu() +{ +} + +EntityID& SimulationManagementWithReliabilityFamilyPdu::getOriginatingEntityID() +{ + return _originatingEntityID; +} + +const EntityID& SimulationManagementWithReliabilityFamilyPdu::getOriginatingEntityID() const +{ + return _originatingEntityID; +} + +void SimulationManagementWithReliabilityFamilyPdu::setOriginatingEntityID(const EntityID &pX) +{ + _originatingEntityID = pX; +} + +EntityID& SimulationManagementWithReliabilityFamilyPdu::getReceivingEntityID() +{ + return _receivingEntityID; +} + +const EntityID& SimulationManagementWithReliabilityFamilyPdu::getReceivingEntityID() const +{ + return _receivingEntityID; +} + +void SimulationManagementWithReliabilityFamilyPdu::setReceivingEntityID(const EntityID &pX) +{ + _receivingEntityID = pX; +} + +void SimulationManagementWithReliabilityFamilyPdu::marshal(DataStream& dataStream) const +{ + Pdu::marshal(dataStream); // Marshal information in superclass first + _originatingEntityID.marshal(dataStream); + _receivingEntityID.marshal(dataStream); +} + +void SimulationManagementWithReliabilityFamilyPdu::unmarshal(DataStream& dataStream) +{ + Pdu::unmarshal(dataStream); // unmarshal information in superclass first + _originatingEntityID.unmarshal(dataStream); + _receivingEntityID.unmarshal(dataStream); +} + + +bool SimulationManagementWithReliabilityFamilyPdu::operator ==(const SimulationManagementWithReliabilityFamilyPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = Pdu::operator==(rhs); + + if( ! (_originatingEntityID == rhs._originatingEntityID) ) ivarsEqual = false; + if( ! (_receivingEntityID == rhs._receivingEntityID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int SimulationManagementWithReliabilityFamilyPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = Pdu::getMarshalledSize(); + marshalSize = marshalSize + _originatingEntityID.getMarshalledSize(); // _originatingEntityID + marshalSize = marshalSize + _receivingEntityID.getMarshalledSize(); // _receivingEntityID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/SimulationManagementWithReliabilityFamilyPdu.h b/cpp/DIS/SimulationManagementWithReliabilityFamilyPdu.h new file mode 100644 index 00000000..13fdfdb4 --- /dev/null +++ b/cpp/DIS/SimulationManagementWithReliabilityFamilyPdu.h @@ -0,0 +1,81 @@ +#ifndef SIMULATIONMANAGEMENTWITHRELIABILITYFAMILYPDU_H +#define SIMULATIONMANAGEMENTWITHRELIABILITYFAMILYPDU_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.12: Abstract superclass for reliable simulation management PDUs + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO SimulationManagementWithReliabilityFamilyPdu : public Pdu +{ +protected: + /** Object originatig the request */ + EntityID _originatingEntityID; + + /** Object with which this point object is associated */ + EntityID _receivingEntityID; + + + public: + SimulationManagementWithReliabilityFamilyPdu(); + virtual ~SimulationManagementWithReliabilityFamilyPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getOriginatingEntityID(); + const EntityID& getOriginatingEntityID() const; + void setOriginatingEntityID(const EntityID &pX); + + EntityID& getReceivingEntityID(); + const EntityID& getReceivingEntityID() const; + void setReceivingEntityID(const EntityID &pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const SimulationManagementWithReliabilityFamilyPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/SixByteChunk.cpp b/cpp/DIS/SixByteChunk.cpp new file mode 100644 index 00000000..eba52f10 --- /dev/null +++ b/cpp/DIS/SixByteChunk.cpp @@ -0,0 +1,110 @@ +#include + +using namespace DIS; + + +SixByteChunk::SixByteChunk() +{ + // Initialize fixed length array + for(int lengthotherParameters= 0; lengthotherParameters < 6; lengthotherParameters++) + { + _otherParameters[lengthotherParameters] = 0; + } + +} + +SixByteChunk::~SixByteChunk() +{ +} + +char* SixByteChunk::getOtherParameters() +{ + return _otherParameters; +} + +const char* SixByteChunk::getOtherParameters() const +{ + return _otherParameters; +} + +void SixByteChunk::setOtherParameters(const char* x) +{ + for(int i = 0; i < 6; i++) + { + _otherParameters[i] = x[i]; + } +} + +void SixByteChunk::marshal(DataStream& dataStream) const +{ + + for(size_t idx = 0; idx < 6; idx++) + { + dataStream << _otherParameters[idx]; + } + +} + +void SixByteChunk::unmarshal(DataStream& dataStream) +{ + + for(size_t idx = 0; idx < 6; idx++) + { + dataStream >> _otherParameters[idx]; + } + +} + + +bool SixByteChunk::operator ==(const SixByteChunk& rhs) const + { + bool ivarsEqual = true; + + + for(char idx = 0; idx < 6; idx++) + { + if(!(_otherParameters[idx] == rhs._otherParameters[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int SixByteChunk::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 6 * 1; // _otherParameters + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/SixByteChunk.h b/cpp/DIS/SixByteChunk.h new file mode 100644 index 00000000..2c921408 --- /dev/null +++ b/cpp/DIS/SixByteChunk.h @@ -0,0 +1,71 @@ +#ifndef SIXBYTECHUNK_H +#define SIXBYTECHUNK_H + +#include +#include + + +namespace DIS +{ +// 48 bit piece of data + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO SixByteChunk +{ +protected: + /** six bytes of arbitrary data */ + char _otherParameters[6]; + + + public: + SixByteChunk(); + virtual ~SixByteChunk(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + char* getOtherParameters(); + const char* getOtherParameters() const; + void setOtherParameters( const char* pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const SixByteChunk& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/SphericalHarmonicAntennaPattern.cpp b/cpp/DIS/SphericalHarmonicAntennaPattern.cpp new file mode 100644 index 00000000..382cc0b5 --- /dev/null +++ b/cpp/DIS/SphericalHarmonicAntennaPattern.cpp @@ -0,0 +1,82 @@ +#include + +using namespace DIS; + + +SphericalHarmonicAntennaPattern::SphericalHarmonicAntennaPattern(): + _order(0) +{ +} + +SphericalHarmonicAntennaPattern::~SphericalHarmonicAntennaPattern() +{ +} + +char SphericalHarmonicAntennaPattern::getOrder() const +{ + return _order; +} + +void SphericalHarmonicAntennaPattern::setOrder(char pX) +{ + _order = pX; +} + +void SphericalHarmonicAntennaPattern::marshal(DataStream& dataStream) const +{ + dataStream << _order; +} + +void SphericalHarmonicAntennaPattern::unmarshal(DataStream& dataStream) +{ + dataStream >> _order; +} + + +bool SphericalHarmonicAntennaPattern::operator ==(const SphericalHarmonicAntennaPattern& rhs) const + { + bool ivarsEqual = true; + + if( ! (_order == rhs._order) ) ivarsEqual = false; + + return ivarsEqual; + } + +int SphericalHarmonicAntennaPattern::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _order + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/SphericalHarmonicAntennaPattern.h b/cpp/DIS/SphericalHarmonicAntennaPattern.h new file mode 100644 index 00000000..6414d65a --- /dev/null +++ b/cpp/DIS/SphericalHarmonicAntennaPattern.h @@ -0,0 +1,69 @@ +#ifndef SPHERICALHARMONICANTENNAPATTERN_H +#define SPHERICALHARMONICANTENNAPATTERN_H + +#include +#include + + +namespace DIS +{ +// Section 5.2.4.3. Used when the antenna pattern type in the transmitter pdu is of value 2. Specified the direction and radiation pattern from a radio transmitter's antenna. NOTE: this class must be hand-coded to clean up some implementation details. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO SphericalHarmonicAntennaPattern +{ +protected: + char _order; + + + public: + SphericalHarmonicAntennaPattern(); + virtual ~SphericalHarmonicAntennaPattern(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + char getOrder() const; + void setOrder(char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const SphericalHarmonicAntennaPattern& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/StartResumePdu.cpp b/cpp/DIS/StartResumePdu.cpp new file mode 100644 index 00000000..359770c4 --- /dev/null +++ b/cpp/DIS/StartResumePdu.cpp @@ -0,0 +1,128 @@ +#include + +using namespace DIS; + + +StartResumePdu::StartResumePdu() : SimulationManagementFamilyPdu(), + _realWorldTime(), + _simulationTime(), + _requestID(0) +{ + setPduType( 13 ); +} + +StartResumePdu::~StartResumePdu() +{ +} + +ClockTime& StartResumePdu::getRealWorldTime() +{ + return _realWorldTime; +} + +const ClockTime& StartResumePdu::getRealWorldTime() const +{ + return _realWorldTime; +} + +void StartResumePdu::setRealWorldTime(const ClockTime &pX) +{ + _realWorldTime = pX; +} + +ClockTime& StartResumePdu::getSimulationTime() +{ + return _simulationTime; +} + +const ClockTime& StartResumePdu::getSimulationTime() const +{ + return _simulationTime; +} + +void StartResumePdu::setSimulationTime(const ClockTime &pX) +{ + _simulationTime = pX; +} + +unsigned int StartResumePdu::getRequestID() const +{ + return _requestID; +} + +void StartResumePdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +void StartResumePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _realWorldTime.marshal(dataStream); + _simulationTime.marshal(dataStream); + dataStream << _requestID; +} + +void StartResumePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _realWorldTime.unmarshal(dataStream); + _simulationTime.unmarshal(dataStream); + dataStream >> _requestID; +} + + +bool StartResumePdu::operator ==(const StartResumePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementFamilyPdu::operator==(rhs); + + if( ! (_realWorldTime == rhs._realWorldTime) ) ivarsEqual = false; + if( ! (_simulationTime == rhs._simulationTime) ) ivarsEqual = false; + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int StartResumePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _realWorldTime.getMarshalledSize(); // _realWorldTime + marshalSize = marshalSize + _simulationTime.getMarshalledSize(); // _simulationTime + marshalSize = marshalSize + 4; // _requestID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/StartResumePdu.h b/cpp/DIS/StartResumePdu.h new file mode 100644 index 00000000..ad250b89 --- /dev/null +++ b/cpp/DIS/StartResumePdu.h @@ -0,0 +1,87 @@ +#ifndef STARTRESUMEPDU_H +#define STARTRESUMEPDU_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.2.6.3. Start or resume an exercise. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO StartResumePdu : public SimulationManagementFamilyPdu +{ +protected: + /** UTC time at which the simulation shall start or resume */ + ClockTime _realWorldTime; + + /** Simulation clock time at which the simulation shall start or resume */ + ClockTime _simulationTime; + + /** Identifier for the request */ + unsigned int _requestID; + + + public: + StartResumePdu(); + virtual ~StartResumePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + ClockTime& getRealWorldTime(); + const ClockTime& getRealWorldTime() const; + void setRealWorldTime(const ClockTime &pX); + + ClockTime& getSimulationTime(); + const ClockTime& getSimulationTime() const; + void setSimulationTime(const ClockTime &pX); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const StartResumePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/StartResumeReliablePdu.cpp b/cpp/DIS/StartResumeReliablePdu.cpp new file mode 100644 index 00000000..9dc4f40b --- /dev/null +++ b/cpp/DIS/StartResumeReliablePdu.cpp @@ -0,0 +1,173 @@ +#include + +using namespace DIS; + + +StartResumeReliablePdu::StartResumeReliablePdu() : SimulationManagementWithReliabilityFamilyPdu(), + _realWorldTime(), + _simulationTime(), + _requiredReliabilityService(0), + _pad1(0), + _pad2(0), + _requestID(0) +{ + setPduType( 53 ); +} + +StartResumeReliablePdu::~StartResumeReliablePdu() +{ +} + +ClockTime& StartResumeReliablePdu::getRealWorldTime() +{ + return _realWorldTime; +} + +const ClockTime& StartResumeReliablePdu::getRealWorldTime() const +{ + return _realWorldTime; +} + +void StartResumeReliablePdu::setRealWorldTime(const ClockTime &pX) +{ + _realWorldTime = pX; +} + +ClockTime& StartResumeReliablePdu::getSimulationTime() +{ + return _simulationTime; +} + +const ClockTime& StartResumeReliablePdu::getSimulationTime() const +{ + return _simulationTime; +} + +void StartResumeReliablePdu::setSimulationTime(const ClockTime &pX) +{ + _simulationTime = pX; +} + +unsigned char StartResumeReliablePdu::getRequiredReliabilityService() const +{ + return _requiredReliabilityService; +} + +void StartResumeReliablePdu::setRequiredReliabilityService(unsigned char pX) +{ + _requiredReliabilityService = pX; +} + +unsigned short StartResumeReliablePdu::getPad1() const +{ + return _pad1; +} + +void StartResumeReliablePdu::setPad1(unsigned short pX) +{ + _pad1 = pX; +} + +unsigned char StartResumeReliablePdu::getPad2() const +{ + return _pad2; +} + +void StartResumeReliablePdu::setPad2(unsigned char pX) +{ + _pad2 = pX; +} + +unsigned int StartResumeReliablePdu::getRequestID() const +{ + return _requestID; +} + +void StartResumeReliablePdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +void StartResumeReliablePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementWithReliabilityFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _realWorldTime.marshal(dataStream); + _simulationTime.marshal(dataStream); + dataStream << _requiredReliabilityService; + dataStream << _pad1; + dataStream << _pad2; + dataStream << _requestID; +} + +void StartResumeReliablePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementWithReliabilityFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _realWorldTime.unmarshal(dataStream); + _simulationTime.unmarshal(dataStream); + dataStream >> _requiredReliabilityService; + dataStream >> _pad1; + dataStream >> _pad2; + dataStream >> _requestID; +} + + +bool StartResumeReliablePdu::operator ==(const StartResumeReliablePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementWithReliabilityFamilyPdu::operator==(rhs); + + if( ! (_realWorldTime == rhs._realWorldTime) ) ivarsEqual = false; + if( ! (_simulationTime == rhs._simulationTime) ) ivarsEqual = false; + if( ! (_requiredReliabilityService == rhs._requiredReliabilityService) ) ivarsEqual = false; + if( ! (_pad1 == rhs._pad1) ) ivarsEqual = false; + if( ! (_pad2 == rhs._pad2) ) ivarsEqual = false; + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int StartResumeReliablePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementWithReliabilityFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _realWorldTime.getMarshalledSize(); // _realWorldTime + marshalSize = marshalSize + _simulationTime.getMarshalledSize(); // _simulationTime + marshalSize = marshalSize + 1; // _requiredReliabilityService + marshalSize = marshalSize + 2; // _pad1 + marshalSize = marshalSize + 1; // _pad2 + marshalSize = marshalSize + 4; // _requestID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/StartResumeReliablePdu.h b/cpp/DIS/StartResumeReliablePdu.h new file mode 100644 index 00000000..3428949f --- /dev/null +++ b/cpp/DIS/StartResumeReliablePdu.h @@ -0,0 +1,105 @@ +#ifndef STARTRESUMERELIABLEPDU_H +#define STARTRESUMERELIABLEPDU_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.12.3: Start resume simulation, relaible. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO StartResumeReliablePdu : public SimulationManagementWithReliabilityFamilyPdu +{ +protected: + /** time in real world for this operation to happen */ + ClockTime _realWorldTime; + + /** time in simulation for the simulation to resume */ + ClockTime _simulationTime; + + /** level of reliability service used for this transaction */ + unsigned char _requiredReliabilityService; + + /** padding */ + unsigned short _pad1; + + /** padding */ + unsigned char _pad2; + + /** Request ID */ + unsigned int _requestID; + + + public: + StartResumeReliablePdu(); + virtual ~StartResumeReliablePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + ClockTime& getRealWorldTime(); + const ClockTime& getRealWorldTime() const; + void setRealWorldTime(const ClockTime &pX); + + ClockTime& getSimulationTime(); + const ClockTime& getSimulationTime() const; + void setSimulationTime(const ClockTime &pX); + + unsigned char getRequiredReliabilityService() const; + void setRequiredReliabilityService(unsigned char pX); + + unsigned short getPad1() const; + void setPad1(unsigned short pX); + + unsigned char getPad2() const; + void setPad2(unsigned char pX); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const StartResumeReliablePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/StopFreezePdu.cpp b/cpp/DIS/StopFreezePdu.cpp new file mode 100644 index 00000000..c7bc2731 --- /dev/null +++ b/cpp/DIS/StopFreezePdu.cpp @@ -0,0 +1,153 @@ +#include + +using namespace DIS; + + +StopFreezePdu::StopFreezePdu() : SimulationManagementFamilyPdu(), + _realWorldTime(), + _reason(0), + _frozenBehavior(0), + _padding1(0), + _requestID(0) +{ + setPduType( 14 ); +} + +StopFreezePdu::~StopFreezePdu() +{ +} + +ClockTime& StopFreezePdu::getRealWorldTime() +{ + return _realWorldTime; +} + +const ClockTime& StopFreezePdu::getRealWorldTime() const +{ + return _realWorldTime; +} + +void StopFreezePdu::setRealWorldTime(const ClockTime &pX) +{ + _realWorldTime = pX; +} + +unsigned char StopFreezePdu::getReason() const +{ + return _reason; +} + +void StopFreezePdu::setReason(unsigned char pX) +{ + _reason = pX; +} + +unsigned char StopFreezePdu::getFrozenBehavior() const +{ + return _frozenBehavior; +} + +void StopFreezePdu::setFrozenBehavior(unsigned char pX) +{ + _frozenBehavior = pX; +} + +short StopFreezePdu::getPadding1() const +{ + return _padding1; +} + +void StopFreezePdu::setPadding1(short pX) +{ + _padding1 = pX; +} + +unsigned int StopFreezePdu::getRequestID() const +{ + return _requestID; +} + +void StopFreezePdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +void StopFreezePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _realWorldTime.marshal(dataStream); + dataStream << _reason; + dataStream << _frozenBehavior; + dataStream << _padding1; + dataStream << _requestID; +} + +void StopFreezePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _realWorldTime.unmarshal(dataStream); + dataStream >> _reason; + dataStream >> _frozenBehavior; + dataStream >> _padding1; + dataStream >> _requestID; +} + + +bool StopFreezePdu::operator ==(const StopFreezePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementFamilyPdu::operator==(rhs); + + if( ! (_realWorldTime == rhs._realWorldTime) ) ivarsEqual = false; + if( ! (_reason == rhs._reason) ) ivarsEqual = false; + if( ! (_frozenBehavior == rhs._frozenBehavior) ) ivarsEqual = false; + if( ! (_padding1 == rhs._padding1) ) ivarsEqual = false; + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int StopFreezePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _realWorldTime.getMarshalledSize(); // _realWorldTime + marshalSize = marshalSize + 1; // _reason + marshalSize = marshalSize + 1; // _frozenBehavior + marshalSize = marshalSize + 2; // _padding1 + marshalSize = marshalSize + 4; // _requestID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/StopFreezePdu.h b/cpp/DIS/StopFreezePdu.h new file mode 100644 index 00000000..8ba61383 --- /dev/null +++ b/cpp/DIS/StopFreezePdu.h @@ -0,0 +1,97 @@ +#ifndef STOPFREEZEPDU_H +#define STOPFREEZEPDU_H + +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.2.3.4. Stop or freeze an exercise. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO StopFreezePdu : public SimulationManagementFamilyPdu +{ +protected: + /** UTC time at which the simulation shall stop or freeze */ + ClockTime _realWorldTime; + + /** Reason the simulation was stopped or frozen */ + unsigned char _reason; + + /** Internal behavior of the simulation and its appearance while frozento the other participants */ + unsigned char _frozenBehavior; + + /** padding */ + short _padding1; + + /** Request ID that is unique */ + unsigned int _requestID; + + + public: + StopFreezePdu(); + virtual ~StopFreezePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + ClockTime& getRealWorldTime(); + const ClockTime& getRealWorldTime() const; + void setRealWorldTime(const ClockTime &pX); + + unsigned char getReason() const; + void setReason(unsigned char pX); + + unsigned char getFrozenBehavior() const; + void setFrozenBehavior(unsigned char pX); + + short getPadding1() const; + void setPadding1(short pX); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const StopFreezePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/StopFreezeReliablePdu.cpp b/cpp/DIS/StopFreezeReliablePdu.cpp new file mode 100644 index 00000000..d9131984 --- /dev/null +++ b/cpp/DIS/StopFreezeReliablePdu.cpp @@ -0,0 +1,168 @@ +#include + +using namespace DIS; + + +StopFreezeReliablePdu::StopFreezeReliablePdu() : SimulationManagementWithReliabilityFamilyPdu(), + _realWorldTime(), + _reason(0), + _frozenBehavior(0), + _requiredReliablityService(0), + _pad1(0), + _requestID(0) +{ + setPduType( 54 ); +} + +StopFreezeReliablePdu::~StopFreezeReliablePdu() +{ +} + +ClockTime& StopFreezeReliablePdu::getRealWorldTime() +{ + return _realWorldTime; +} + +const ClockTime& StopFreezeReliablePdu::getRealWorldTime() const +{ + return _realWorldTime; +} + +void StopFreezeReliablePdu::setRealWorldTime(const ClockTime &pX) +{ + _realWorldTime = pX; +} + +unsigned char StopFreezeReliablePdu::getReason() const +{ + return _reason; +} + +void StopFreezeReliablePdu::setReason(unsigned char pX) +{ + _reason = pX; +} + +unsigned char StopFreezeReliablePdu::getFrozenBehavior() const +{ + return _frozenBehavior; +} + +void StopFreezeReliablePdu::setFrozenBehavior(unsigned char pX) +{ + _frozenBehavior = pX; +} + +unsigned char StopFreezeReliablePdu::getRequiredReliablityService() const +{ + return _requiredReliablityService; +} + +void StopFreezeReliablePdu::setRequiredReliablityService(unsigned char pX) +{ + _requiredReliablityService = pX; +} + +unsigned char StopFreezeReliablePdu::getPad1() const +{ + return _pad1; +} + +void StopFreezeReliablePdu::setPad1(unsigned char pX) +{ + _pad1 = pX; +} + +unsigned int StopFreezeReliablePdu::getRequestID() const +{ + return _requestID; +} + +void StopFreezeReliablePdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +void StopFreezeReliablePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementWithReliabilityFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _realWorldTime.marshal(dataStream); + dataStream << _reason; + dataStream << _frozenBehavior; + dataStream << _requiredReliablityService; + dataStream << _pad1; + dataStream << _requestID; +} + +void StopFreezeReliablePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementWithReliabilityFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _realWorldTime.unmarshal(dataStream); + dataStream >> _reason; + dataStream >> _frozenBehavior; + dataStream >> _requiredReliablityService; + dataStream >> _pad1; + dataStream >> _requestID; +} + + +bool StopFreezeReliablePdu::operator ==(const StopFreezeReliablePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementWithReliabilityFamilyPdu::operator==(rhs); + + if( ! (_realWorldTime == rhs._realWorldTime) ) ivarsEqual = false; + if( ! (_reason == rhs._reason) ) ivarsEqual = false; + if( ! (_frozenBehavior == rhs._frozenBehavior) ) ivarsEqual = false; + if( ! (_requiredReliablityService == rhs._requiredReliablityService) ) ivarsEqual = false; + if( ! (_pad1 == rhs._pad1) ) ivarsEqual = false; + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int StopFreezeReliablePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementWithReliabilityFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _realWorldTime.getMarshalledSize(); // _realWorldTime + marshalSize = marshalSize + 1; // _reason + marshalSize = marshalSize + 1; // _frozenBehavior + marshalSize = marshalSize + 1; // _requiredReliablityService + marshalSize = marshalSize + 1; // _pad1 + marshalSize = marshalSize + 4; // _requestID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/StopFreezeReliablePdu.h b/cpp/DIS/StopFreezeReliablePdu.h new file mode 100644 index 00000000..04ce5e72 --- /dev/null +++ b/cpp/DIS/StopFreezeReliablePdu.h @@ -0,0 +1,103 @@ +#ifndef STOPFREEZERELIABLEPDU_H +#define STOPFREEZERELIABLEPDU_H + +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.12.4: Stop freeze simulation, relaible. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO StopFreezeReliablePdu : public SimulationManagementWithReliabilityFamilyPdu +{ +protected: + /** time in real world for this operation to happen */ + ClockTime _realWorldTime; + + /** Reason for stopping/freezing simulation */ + unsigned char _reason; + + /** internal behvior of the simulation while frozen */ + unsigned char _frozenBehavior; + + /** reliablity level */ + unsigned char _requiredReliablityService; + + /** padding */ + unsigned char _pad1; + + /** Request ID */ + unsigned int _requestID; + + + public: + StopFreezeReliablePdu(); + virtual ~StopFreezeReliablePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + ClockTime& getRealWorldTime(); + const ClockTime& getRealWorldTime() const; + void setRealWorldTime(const ClockTime &pX); + + unsigned char getReason() const; + void setReason(unsigned char pX); + + unsigned char getFrozenBehavior() const; + void setFrozenBehavior(unsigned char pX); + + unsigned char getRequiredReliablityService() const; + void setRequiredReliablityService(unsigned char pX); + + unsigned char getPad1() const; + void setPad1(unsigned char pX); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const StopFreezeReliablePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/SupplyQuantity.cpp b/cpp/DIS/SupplyQuantity.cpp new file mode 100644 index 00000000..1c08d38d --- /dev/null +++ b/cpp/DIS/SupplyQuantity.cpp @@ -0,0 +1,102 @@ +#include + +using namespace DIS; + + +SupplyQuantity::SupplyQuantity(): + _supplyType(), + _quantity(0) +{ +} + +SupplyQuantity::~SupplyQuantity() +{ +} + +EntityType& SupplyQuantity::getSupplyType() +{ + return _supplyType; +} + +const EntityType& SupplyQuantity::getSupplyType() const +{ + return _supplyType; +} + +void SupplyQuantity::setSupplyType(const EntityType &pX) +{ + _supplyType = pX; +} + +unsigned char SupplyQuantity::getQuantity() const +{ + return _quantity; +} + +void SupplyQuantity::setQuantity(unsigned char pX) +{ + _quantity = pX; +} + +void SupplyQuantity::marshal(DataStream& dataStream) const +{ + _supplyType.marshal(dataStream); + dataStream << _quantity; +} + +void SupplyQuantity::unmarshal(DataStream& dataStream) +{ + _supplyType.unmarshal(dataStream); + dataStream >> _quantity; +} + + +bool SupplyQuantity::operator ==(const SupplyQuantity& rhs) const + { + bool ivarsEqual = true; + + if( ! (_supplyType == rhs._supplyType) ) ivarsEqual = false; + if( ! (_quantity == rhs._quantity) ) ivarsEqual = false; + + return ivarsEqual; + } + +int SupplyQuantity::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _supplyType.getMarshalledSize(); // _supplyType + marshalSize = marshalSize + 1; // _quantity + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/SupplyQuantity.h b/cpp/DIS/SupplyQuantity.h new file mode 100644 index 00000000..75910af7 --- /dev/null +++ b/cpp/DIS/SupplyQuantity.h @@ -0,0 +1,78 @@ +#ifndef SUPPLYQUANTITY_H +#define SUPPLYQUANTITY_H + +#include +#include +#include + + +namespace DIS +{ +// Section 5.2.30. A supply, and the amount of that supply. Similar to an entity kind but with the addition of a quantity. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO SupplyQuantity +{ +protected: + /** Type of supply */ + EntityType _supplyType; + + /** quantity to be supplied */ + unsigned char _quantity; + + + public: + SupplyQuantity(); + virtual ~SupplyQuantity(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityType& getSupplyType(); + const EntityType& getSupplyType() const; + void setSupplyType(const EntityType &pX); + + unsigned char getQuantity() const; + void setQuantity(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const SupplyQuantity& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/SyntheticEnvironmentFamilyPdu.cpp b/cpp/DIS/SyntheticEnvironmentFamilyPdu.cpp new file mode 100644 index 00000000..4756a9fa --- /dev/null +++ b/cpp/DIS/SyntheticEnvironmentFamilyPdu.cpp @@ -0,0 +1,74 @@ +#include + +using namespace DIS; + + +SyntheticEnvironmentFamilyPdu::SyntheticEnvironmentFamilyPdu() : Pdu() + +{ + setProtocolFamily( 9 ); +} + +SyntheticEnvironmentFamilyPdu::~SyntheticEnvironmentFamilyPdu() +{ +} + +void SyntheticEnvironmentFamilyPdu::marshal(DataStream& dataStream) const +{ + Pdu::marshal(dataStream); // Marshal information in superclass first +} + +void SyntheticEnvironmentFamilyPdu::unmarshal(DataStream& dataStream) +{ + Pdu::unmarshal(dataStream); // unmarshal information in superclass first +} + + +bool SyntheticEnvironmentFamilyPdu::operator ==(const SyntheticEnvironmentFamilyPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = Pdu::operator==(rhs); + + + return ivarsEqual; + } + +int SyntheticEnvironmentFamilyPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = Pdu::getMarshalledSize(); + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/SyntheticEnvironmentFamilyPdu.h b/cpp/DIS/SyntheticEnvironmentFamilyPdu.h new file mode 100644 index 00000000..b567f3b6 --- /dev/null +++ b/cpp/DIS/SyntheticEnvironmentFamilyPdu.h @@ -0,0 +1,65 @@ +#ifndef SYNTHETICENVIRONMENTFAMILYPDU_H +#define SYNTHETICENVIRONMENTFAMILYPDU_H + +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.11: Abstract superclass for synthetic environment PDUs + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO SyntheticEnvironmentFamilyPdu : public Pdu +{ +protected: + + public: + SyntheticEnvironmentFamilyPdu(); + virtual ~SyntheticEnvironmentFamilyPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + +virtual int getMarshalledSize() const; + + bool operator ==(const SyntheticEnvironmentFamilyPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/SystemID.cpp b/cpp/DIS/SystemID.cpp new file mode 100644 index 00000000..93338e33 --- /dev/null +++ b/cpp/DIS/SystemID.cpp @@ -0,0 +1,127 @@ +#include + +using namespace DIS; + + +SystemID::SystemID(): + _systemType(0), + _systemName(0), + _systemMode(0), + _changeOptions(0) +{ +} + +SystemID::~SystemID() +{ +} + +unsigned short SystemID::getSystemType() const +{ + return _systemType; +} + +void SystemID::setSystemType(unsigned short pX) +{ + _systemType = pX; +} + +unsigned short SystemID::getSystemName() const +{ + return _systemName; +} + +void SystemID::setSystemName(unsigned short pX) +{ + _systemName = pX; +} + +unsigned char SystemID::getSystemMode() const +{ + return _systemMode; +} + +void SystemID::setSystemMode(unsigned char pX) +{ + _systemMode = pX; +} + +unsigned char SystemID::getChangeOptions() const +{ + return _changeOptions; +} + +void SystemID::setChangeOptions(unsigned char pX) +{ + _changeOptions = pX; +} + +void SystemID::marshal(DataStream& dataStream) const +{ + dataStream << _systemType; + dataStream << _systemName; + dataStream << _systemMode; + dataStream << _changeOptions; +} + +void SystemID::unmarshal(DataStream& dataStream) +{ + dataStream >> _systemType; + dataStream >> _systemName; + dataStream >> _systemMode; + dataStream >> _changeOptions; +} + + +bool SystemID::operator ==(const SystemID& rhs) const + { + bool ivarsEqual = true; + + if( ! (_systemType == rhs._systemType) ) ivarsEqual = false; + if( ! (_systemName == rhs._systemName) ) ivarsEqual = false; + if( ! (_systemMode == rhs._systemMode) ) ivarsEqual = false; + if( ! (_changeOptions == rhs._changeOptions) ) ivarsEqual = false; + + return ivarsEqual; + } + +int SystemID::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2; // _systemType + marshalSize = marshalSize + 2; // _systemName + marshalSize = marshalSize + 1; // _systemMode + marshalSize = marshalSize + 1; // _changeOptions + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/SystemID.h b/cpp/DIS/SystemID.h new file mode 100644 index 00000000..d168184f --- /dev/null +++ b/cpp/DIS/SystemID.h @@ -0,0 +1,88 @@ +#ifndef SYSTEMID_H +#define SYSTEMID_H + +#include +#include + + +namespace DIS +{ +// 5.2.58. Used in IFF ATC PDU + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO SystemID +{ +protected: + /** System Type */ + unsigned short _systemType; + + /** System name, an enumeration */ + unsigned short _systemName; + + /** System mode */ + unsigned char _systemMode; + + /** Change Options */ + unsigned char _changeOptions; + + + public: + SystemID(); + virtual ~SystemID(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getSystemType() const; + void setSystemType(unsigned short pX); + + unsigned short getSystemName() const; + void setSystemName(unsigned short pX); + + unsigned char getSystemMode() const; + void setSystemMode(unsigned char pX); + + unsigned char getChangeOptions() const; + void setChangeOptions(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const SystemID& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/TrackJamTarget.cpp b/cpp/DIS/TrackJamTarget.cpp new file mode 100644 index 00000000..9f97d21c --- /dev/null +++ b/cpp/DIS/TrackJamTarget.cpp @@ -0,0 +1,117 @@ +#include + +using namespace DIS; + + +TrackJamTarget::TrackJamTarget(): + _trackJam(), + _emitterID(0), + _beamID(0) +{ +} + +TrackJamTarget::~TrackJamTarget() +{ +} + +EntityID& TrackJamTarget::getTrackJam() +{ + return _trackJam; +} + +const EntityID& TrackJamTarget::getTrackJam() const +{ + return _trackJam; +} + +void TrackJamTarget::setTrackJam(const EntityID &pX) +{ + _trackJam = pX; +} + +unsigned char TrackJamTarget::getEmitterID() const +{ + return _emitterID; +} + +void TrackJamTarget::setEmitterID(unsigned char pX) +{ + _emitterID = pX; +} + +unsigned char TrackJamTarget::getBeamID() const +{ + return _beamID; +} + +void TrackJamTarget::setBeamID(unsigned char pX) +{ + _beamID = pX; +} + +void TrackJamTarget::marshal(DataStream& dataStream) const +{ + _trackJam.marshal(dataStream); + dataStream << _emitterID; + dataStream << _beamID; +} + +void TrackJamTarget::unmarshal(DataStream& dataStream) +{ + _trackJam.unmarshal(dataStream); + dataStream >> _emitterID; + dataStream >> _beamID; +} + + +bool TrackJamTarget::operator ==(const TrackJamTarget& rhs) const + { + bool ivarsEqual = true; + + if( ! (_trackJam == rhs._trackJam) ) ivarsEqual = false; + if( ! (_emitterID == rhs._emitterID) ) ivarsEqual = false; + if( ! (_beamID == rhs._beamID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int TrackJamTarget::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _trackJam.getMarshalledSize(); // _trackJam + marshalSize = marshalSize + 1; // _emitterID + marshalSize = marshalSize + 1; // _beamID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/TrackJamTarget.h b/cpp/DIS/TrackJamTarget.h new file mode 100644 index 00000000..c5341847 --- /dev/null +++ b/cpp/DIS/TrackJamTarget.h @@ -0,0 +1,84 @@ +#ifndef TRACKJAMTARGET_H +#define TRACKJAMTARGET_H + +#include +#include +#include + + +namespace DIS +{ +// One track/jam target + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO TrackJamTarget +{ +protected: + /** track/jam target */ + EntityID _trackJam; + + /** Emitter ID */ + unsigned char _emitterID; + + /** beam ID */ + unsigned char _beamID; + + + public: + TrackJamTarget(); + virtual ~TrackJamTarget(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getTrackJam(); + const EntityID& getTrackJam() const; + void setTrackJam(const EntityID &pX); + + unsigned char getEmitterID() const; + void setEmitterID(unsigned char pX); + + unsigned char getBeamID() const; + void setBeamID(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const TrackJamTarget& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/TransferControlRequestPdu.cpp b/cpp/DIS/TransferControlRequestPdu.cpp new file mode 100644 index 00000000..64cfe910 --- /dev/null +++ b/cpp/DIS/TransferControlRequestPdu.cpp @@ -0,0 +1,231 @@ +#include + +using namespace DIS; + + +TransferControlRequestPdu::TransferControlRequestPdu() : EntityManagementFamilyPdu(), + _orginatingEntityID(), + _recevingEntityID(), + _requestID(0), + _requiredReliabilityService(0), + _tranferType(0), + _transferEntityID(), + _numberOfRecordSets(0) +{ + setPduType( 35 ); +} + +TransferControlRequestPdu::~TransferControlRequestPdu() +{ + _recordSets.clear(); +} + +EntityID& TransferControlRequestPdu::getOrginatingEntityID() +{ + return _orginatingEntityID; +} + +const EntityID& TransferControlRequestPdu::getOrginatingEntityID() const +{ + return _orginatingEntityID; +} + +void TransferControlRequestPdu::setOrginatingEntityID(const EntityID &pX) +{ + _orginatingEntityID = pX; +} + +EntityID& TransferControlRequestPdu::getRecevingEntityID() +{ + return _recevingEntityID; +} + +const EntityID& TransferControlRequestPdu::getRecevingEntityID() const +{ + return _recevingEntityID; +} + +void TransferControlRequestPdu::setRecevingEntityID(const EntityID &pX) +{ + _recevingEntityID = pX; +} + +unsigned int TransferControlRequestPdu::getRequestID() const +{ + return _requestID; +} + +void TransferControlRequestPdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +unsigned char TransferControlRequestPdu::getRequiredReliabilityService() const +{ + return _requiredReliabilityService; +} + +void TransferControlRequestPdu::setRequiredReliabilityService(unsigned char pX) +{ + _requiredReliabilityService = pX; +} + +unsigned char TransferControlRequestPdu::getTranferType() const +{ + return _tranferType; +} + +void TransferControlRequestPdu::setTranferType(unsigned char pX) +{ + _tranferType = pX; +} + +EntityID& TransferControlRequestPdu::getTransferEntityID() +{ + return _transferEntityID; +} + +const EntityID& TransferControlRequestPdu::getTransferEntityID() const +{ + return _transferEntityID; +} + +void TransferControlRequestPdu::setTransferEntityID(const EntityID &pX) +{ + _transferEntityID = pX; +} + +unsigned char TransferControlRequestPdu::getNumberOfRecordSets() const +{ + return _recordSets.size(); +} + +std::vector& TransferControlRequestPdu::getRecordSets() +{ + return _recordSets; +} + +const std::vector& TransferControlRequestPdu::getRecordSets() const +{ + return _recordSets; +} + +void TransferControlRequestPdu::setRecordSets(const std::vector& pX) +{ + _recordSets = pX; +} + +void TransferControlRequestPdu::marshal(DataStream& dataStream) const +{ + EntityManagementFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _orginatingEntityID.marshal(dataStream); + _recevingEntityID.marshal(dataStream); + dataStream << _requestID; + dataStream << _requiredReliabilityService; + dataStream << _tranferType; + _transferEntityID.marshal(dataStream); + dataStream << ( unsigned char )_recordSets.size(); + + for(size_t idx = 0; idx < _recordSets.size(); idx++) + { + RecordSet x = _recordSets[idx]; + x.marshal(dataStream); + } + +} + +void TransferControlRequestPdu::unmarshal(DataStream& dataStream) +{ + EntityManagementFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _orginatingEntityID.unmarshal(dataStream); + _recevingEntityID.unmarshal(dataStream); + dataStream >> _requestID; + dataStream >> _requiredReliabilityService; + dataStream >> _tranferType; + _transferEntityID.unmarshal(dataStream); + dataStream >> _numberOfRecordSets; + + _recordSets.clear(); + for(size_t idx = 0; idx < _numberOfRecordSets; idx++) + { + RecordSet x; + x.unmarshal(dataStream); + _recordSets.push_back(x); + } +} + + +bool TransferControlRequestPdu::operator ==(const TransferControlRequestPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = EntityManagementFamilyPdu::operator==(rhs); + + if( ! (_orginatingEntityID == rhs._orginatingEntityID) ) ivarsEqual = false; + if( ! (_recevingEntityID == rhs._recevingEntityID) ) ivarsEqual = false; + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + if( ! (_requiredReliabilityService == rhs._requiredReliabilityService) ) ivarsEqual = false; + if( ! (_tranferType == rhs._tranferType) ) ivarsEqual = false; + if( ! (_transferEntityID == rhs._transferEntityID) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _recordSets.size(); idx++) + { + if( ! ( _recordSets[idx] == rhs._recordSets[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int TransferControlRequestPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = EntityManagementFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _orginatingEntityID.getMarshalledSize(); // _orginatingEntityID + marshalSize = marshalSize + _recevingEntityID.getMarshalledSize(); // _recevingEntityID + marshalSize = marshalSize + 4; // _requestID + marshalSize = marshalSize + 1; // _requiredReliabilityService + marshalSize = marshalSize + 1; // _tranferType + marshalSize = marshalSize + _transferEntityID.getMarshalledSize(); // _transferEntityID + marshalSize = marshalSize + 1; // _numberOfRecordSets + + for(int idx=0; idx < _recordSets.size(); idx++) + { + RecordSet listElement = _recordSets[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/TransferControlRequestPdu.h b/cpp/DIS/TransferControlRequestPdu.h new file mode 100644 index 00000000..6d1fc577 --- /dev/null +++ b/cpp/DIS/TransferControlRequestPdu.h @@ -0,0 +1,121 @@ +#ifndef TRANSFERCONTROLREQUESTPDU_H +#define TRANSFERCONTROLREQUESTPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.9.3 Information initiating the dyanic allocation and control of simulation entities between two simulation applications. Requires manual cleanup. The padding between record sets is variable. UNFINISHED + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO TransferControlRequestPdu : public EntityManagementFamilyPdu +{ +protected: + /** ID of entity originating request */ + EntityID _orginatingEntityID; + + /** ID of entity receiving request */ + EntityID _recevingEntityID; + + /** ID ofrequest */ + unsigned int _requestID; + + /** required level of reliabliity service. */ + unsigned char _requiredReliabilityService; + + /** type of transfer desired */ + unsigned char _tranferType; + + /** The entity for which control is being requested to transfer */ + EntityID _transferEntityID; + + /** number of record sets to transfer */ + unsigned char _numberOfRecordSets; + + /** ^^^This is wrong--the RecordSet class needs more work */ + std::vector _recordSets; + + + public: + TransferControlRequestPdu(); + virtual ~TransferControlRequestPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getOrginatingEntityID(); + const EntityID& getOrginatingEntityID() const; + void setOrginatingEntityID(const EntityID &pX); + + EntityID& getRecevingEntityID(); + const EntityID& getRecevingEntityID() const; + void setRecevingEntityID(const EntityID &pX); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + unsigned char getRequiredReliabilityService() const; + void setRequiredReliabilityService(unsigned char pX); + + unsigned char getTranferType() const; + void setTranferType(unsigned char pX); + + EntityID& getTransferEntityID(); + const EntityID& getTransferEntityID() const; + void setTransferEntityID(const EntityID &pX); + + unsigned char getNumberOfRecordSets() const; + + std::vector& getRecordSets(); + const std::vector& getRecordSets() const; + void setRecordSets(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const TransferControlRequestPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/TransmitterPdu.cpp b/cpp/DIS/TransmitterPdu.cpp new file mode 100644 index 00000000..a67f6780 --- /dev/null +++ b/cpp/DIS/TransmitterPdu.cpp @@ -0,0 +1,424 @@ +#include + +using namespace DIS; + + +TransmitterPdu::TransmitterPdu() : RadioCommunicationsFamilyPdu(), + _radioEntityType(), + _transmitState(0), + _inputSource(0), + _padding1(0), + _antennaLocation(), + _relativeAntennaLocation(), + _antennaPatternType(0), + _antennaPatternCount(0), + _frequency(0), + _transmitFrequencyBandwidth(0.0), + _power(0.0), + _modulationType(), + _cryptoSystem(0), + _cryptoKeyId(0), + _modulationParameterCount(0), + _padding2(0), + _padding3(0) +{ + setPduType( 25 ); +} + +TransmitterPdu::~TransmitterPdu() +{ + _modulationParametersList.clear(); + _antennaPatternList.clear(); +} + +RadioEntityType& TransmitterPdu::getRadioEntityType() +{ + return _radioEntityType; +} + +const RadioEntityType& TransmitterPdu::getRadioEntityType() const +{ + return _radioEntityType; +} + +void TransmitterPdu::setRadioEntityType(const RadioEntityType &pX) +{ + _radioEntityType = pX; +} + +unsigned char TransmitterPdu::getTransmitState() const +{ + return _transmitState; +} + +void TransmitterPdu::setTransmitState(unsigned char pX) +{ + _transmitState = pX; +} + +unsigned char TransmitterPdu::getInputSource() const +{ + return _inputSource; +} + +void TransmitterPdu::setInputSource(unsigned char pX) +{ + _inputSource = pX; +} + +unsigned short TransmitterPdu::getPadding1() const +{ + return _padding1; +} + +void TransmitterPdu::setPadding1(unsigned short pX) +{ + _padding1 = pX; +} + +Vector3Double& TransmitterPdu::getAntennaLocation() +{ + return _antennaLocation; +} + +const Vector3Double& TransmitterPdu::getAntennaLocation() const +{ + return _antennaLocation; +} + +void TransmitterPdu::setAntennaLocation(const Vector3Double &pX) +{ + _antennaLocation = pX; +} + +Vector3Float& TransmitterPdu::getRelativeAntennaLocation() +{ + return _relativeAntennaLocation; +} + +const Vector3Float& TransmitterPdu::getRelativeAntennaLocation() const +{ + return _relativeAntennaLocation; +} + +void TransmitterPdu::setRelativeAntennaLocation(const Vector3Float &pX) +{ + _relativeAntennaLocation = pX; +} + +unsigned short TransmitterPdu::getAntennaPatternType() const +{ + return _antennaPatternType; +} + +void TransmitterPdu::setAntennaPatternType(unsigned short pX) +{ + _antennaPatternType = pX; +} + +unsigned short TransmitterPdu::getAntennaPatternCount() const +{ + return _antennaPatternList.size(); +} + +long TransmitterPdu::getFrequency() const +{ + return _frequency; +} + +void TransmitterPdu::setFrequency(long pX) +{ + _frequency = pX; +} + +float TransmitterPdu::getTransmitFrequencyBandwidth() const +{ + return _transmitFrequencyBandwidth; +} + +void TransmitterPdu::setTransmitFrequencyBandwidth(float pX) +{ + _transmitFrequencyBandwidth = pX; +} + +float TransmitterPdu::getPower() const +{ + return _power; +} + +void TransmitterPdu::setPower(float pX) +{ + _power = pX; +} + +ModulationType& TransmitterPdu::getModulationType() +{ + return _modulationType; +} + +const ModulationType& TransmitterPdu::getModulationType() const +{ + return _modulationType; +} + +void TransmitterPdu::setModulationType(const ModulationType &pX) +{ + _modulationType = pX; +} + +unsigned short TransmitterPdu::getCryptoSystem() const +{ + return _cryptoSystem; +} + +void TransmitterPdu::setCryptoSystem(unsigned short pX) +{ + _cryptoSystem = pX; +} + +unsigned short TransmitterPdu::getCryptoKeyId() const +{ + return _cryptoKeyId; +} + +void TransmitterPdu::setCryptoKeyId(unsigned short pX) +{ + _cryptoKeyId = pX; +} + +unsigned char TransmitterPdu::getModulationParameterCount() const +{ + return _modulationParametersList.size(); +} + +unsigned short TransmitterPdu::getPadding2() const +{ + return _padding2; +} + +void TransmitterPdu::setPadding2(unsigned short pX) +{ + _padding2 = pX; +} + +unsigned char TransmitterPdu::getPadding3() const +{ + return _padding3; +} + +void TransmitterPdu::setPadding3(unsigned char pX) +{ + _padding3 = pX; +} + +std::vector& TransmitterPdu::getModulationParametersList() +{ + return _modulationParametersList; +} + +const std::vector& TransmitterPdu::getModulationParametersList() const +{ + return _modulationParametersList; +} + +void TransmitterPdu::setModulationParametersList(const std::vector& pX) +{ + _modulationParametersList = pX; +} + +std::vector& TransmitterPdu::getAntennaPatternList() +{ + return _antennaPatternList; +} + +const std::vector& TransmitterPdu::getAntennaPatternList() const +{ + return _antennaPatternList; +} + +void TransmitterPdu::setAntennaPatternList(const std::vector& pX) +{ + _antennaPatternList = pX; +} + +void TransmitterPdu::marshal(DataStream& dataStream) const +{ + RadioCommunicationsFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _radioEntityType.marshal(dataStream); + dataStream << _transmitState; + dataStream << _inputSource; + dataStream << _padding1; + _antennaLocation.marshal(dataStream); + _relativeAntennaLocation.marshal(dataStream); + dataStream << _antennaPatternType; + dataStream << ( unsigned short )_antennaPatternList.size(); + dataStream << _frequency; + dataStream << _transmitFrequencyBandwidth; + dataStream << _power; + _modulationType.marshal(dataStream); + dataStream << _cryptoSystem; + dataStream << _cryptoKeyId; + dataStream << ( unsigned char )_modulationParametersList.size(); + dataStream << _padding2; + dataStream << _padding3; + + for(size_t idx = 0; idx < _modulationParametersList.size(); idx++) + { + Vector3Float x = _modulationParametersList[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _antennaPatternList.size(); idx++) + { + Vector3Float x = _antennaPatternList[idx]; + x.marshal(dataStream); + } + +} + +void TransmitterPdu::unmarshal(DataStream& dataStream) +{ + RadioCommunicationsFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _radioEntityType.unmarshal(dataStream); + dataStream >> _transmitState; + dataStream >> _inputSource; + dataStream >> _padding1; + _antennaLocation.unmarshal(dataStream); + _relativeAntennaLocation.unmarshal(dataStream); + dataStream >> _antennaPatternType; + dataStream >> _antennaPatternCount; + dataStream >> _frequency; + dataStream >> _transmitFrequencyBandwidth; + dataStream >> _power; + _modulationType.unmarshal(dataStream); + dataStream >> _cryptoSystem; + dataStream >> _cryptoKeyId; + dataStream >> _modulationParameterCount; + dataStream >> _padding2; + dataStream >> _padding3; + + _modulationParametersList.clear(); + for(size_t idx = 0; idx < _modulationParameterCount; idx++) + { + Vector3Float x; + x.unmarshal(dataStream); + _modulationParametersList.push_back(x); + } + + _antennaPatternList.clear(); + for(size_t idx = 0; idx < _antennaPatternCount; idx++) + { + Vector3Float x; + x.unmarshal(dataStream); + _antennaPatternList.push_back(x); + } +} + + +bool TransmitterPdu::operator ==(const TransmitterPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = RadioCommunicationsFamilyPdu::operator==(rhs); + + if( ! (_radioEntityType == rhs._radioEntityType) ) ivarsEqual = false; + if( ! (_transmitState == rhs._transmitState) ) ivarsEqual = false; + if( ! (_inputSource == rhs._inputSource) ) ivarsEqual = false; + if( ! (_padding1 == rhs._padding1) ) ivarsEqual = false; + if( ! (_antennaLocation == rhs._antennaLocation) ) ivarsEqual = false; + if( ! (_relativeAntennaLocation == rhs._relativeAntennaLocation) ) ivarsEqual = false; + if( ! (_antennaPatternType == rhs._antennaPatternType) ) ivarsEqual = false; + if( ! (_frequency == rhs._frequency) ) ivarsEqual = false; + if( ! (_transmitFrequencyBandwidth == rhs._transmitFrequencyBandwidth) ) ivarsEqual = false; + if( ! (_power == rhs._power) ) ivarsEqual = false; + if( ! (_modulationType == rhs._modulationType) ) ivarsEqual = false; + if( ! (_cryptoSystem == rhs._cryptoSystem) ) ivarsEqual = false; + if( ! (_cryptoKeyId == rhs._cryptoKeyId) ) ivarsEqual = false; + if( ! (_padding2 == rhs._padding2) ) ivarsEqual = false; + if( ! (_padding3 == rhs._padding3) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _modulationParametersList.size(); idx++) + { + if( ! ( _modulationParametersList[idx] == rhs._modulationParametersList[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _antennaPatternList.size(); idx++) + { + if( ! ( _antennaPatternList[idx] == rhs._antennaPatternList[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int TransmitterPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = RadioCommunicationsFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _radioEntityType.getMarshalledSize(); // _radioEntityType + marshalSize = marshalSize + 1; // _transmitState + marshalSize = marshalSize + 1; // _inputSource + marshalSize = marshalSize + 2; // _padding1 + marshalSize = marshalSize + _antennaLocation.getMarshalledSize(); // _antennaLocation + marshalSize = marshalSize + _relativeAntennaLocation.getMarshalledSize(); // _relativeAntennaLocation + marshalSize = marshalSize + 2; // _antennaPatternType + marshalSize = marshalSize + 2; // _antennaPatternCount + marshalSize = marshalSize + 8; // _frequency + marshalSize = marshalSize + 4; // _transmitFrequencyBandwidth + marshalSize = marshalSize + 4; // _power + marshalSize = marshalSize + _modulationType.getMarshalledSize(); // _modulationType + marshalSize = marshalSize + 2; // _cryptoSystem + marshalSize = marshalSize + 2; // _cryptoKeyId + marshalSize = marshalSize + 1; // _modulationParameterCount + marshalSize = marshalSize + 2; // _padding2 + marshalSize = marshalSize + 1; // _padding3 + + for(int idx=0; idx < _modulationParametersList.size(); idx++) + { + Vector3Float listElement = _modulationParametersList[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _antennaPatternList.size(); idx++) + { + Vector3Float listElement = _antennaPatternList[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/TransmitterPdu.h b/cpp/DIS/TransmitterPdu.h new file mode 100644 index 00000000..312eabca --- /dev/null +++ b/cpp/DIS/TransmitterPdu.h @@ -0,0 +1,190 @@ +#ifndef TRANSMITTERPDU_H +#define TRANSMITTERPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.8.1. Detailed information about a radio transmitter. This PDU requires manually written code to complete, since the modulation parameters are of variable length. UNFINISHED + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO TransmitterPdu : public RadioCommunicationsFamilyPdu +{ +protected: + /** linear accelleration of entity */ + RadioEntityType _radioEntityType; + + /** transmit state */ + unsigned char _transmitState; + + /** input source */ + unsigned char _inputSource; + + /** padding */ + unsigned short _padding1; + + /** Location of antenna */ + Vector3Double _antennaLocation; + + /** relative location of antenna */ + Vector3Float _relativeAntennaLocation; + + /** antenna pattern type */ + unsigned short _antennaPatternType; + + /** atenna pattern length */ + unsigned short _antennaPatternCount; + + /** frequency */ + long _frequency; + + /** transmit frequency Bandwidth */ + float _transmitFrequencyBandwidth; + + /** transmission power */ + float _power; + + /** modulation */ + ModulationType _modulationType; + + /** crypto system enumeration */ + unsigned short _cryptoSystem; + + /** crypto system key identifer */ + unsigned short _cryptoKeyId; + + /** how many modulation parameters we have */ + unsigned char _modulationParameterCount; + + /** padding2 */ + unsigned short _padding2; + + /** padding3 */ + unsigned char _padding3; + + /** variable length list of modulation parameters */ + std::vector _modulationParametersList; + + /** variable length list of antenna pattern records */ + std::vector _antennaPatternList; + + + public: + TransmitterPdu(); + virtual ~TransmitterPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + RadioEntityType& getRadioEntityType(); + const RadioEntityType& getRadioEntityType() const; + void setRadioEntityType(const RadioEntityType &pX); + + unsigned char getTransmitState() const; + void setTransmitState(unsigned char pX); + + unsigned char getInputSource() const; + void setInputSource(unsigned char pX); + + unsigned short getPadding1() const; + void setPadding1(unsigned short pX); + + Vector3Double& getAntennaLocation(); + const Vector3Double& getAntennaLocation() const; + void setAntennaLocation(const Vector3Double &pX); + + Vector3Float& getRelativeAntennaLocation(); + const Vector3Float& getRelativeAntennaLocation() const; + void setRelativeAntennaLocation(const Vector3Float &pX); + + unsigned short getAntennaPatternType() const; + void setAntennaPatternType(unsigned short pX); + + unsigned short getAntennaPatternCount() const; + + long getFrequency() const; + void setFrequency(long pX); + + float getTransmitFrequencyBandwidth() const; + void setTransmitFrequencyBandwidth(float pX); + + float getPower() const; + void setPower(float pX); + + ModulationType& getModulationType(); + const ModulationType& getModulationType() const; + void setModulationType(const ModulationType &pX); + + unsigned short getCryptoSystem() const; + void setCryptoSystem(unsigned short pX); + + unsigned short getCryptoKeyId() const; + void setCryptoKeyId(unsigned short pX); + + unsigned char getModulationParameterCount() const; + + unsigned short getPadding2() const; + void setPadding2(unsigned short pX); + + unsigned char getPadding3() const; + void setPadding3(unsigned char pX); + + std::vector& getModulationParametersList(); + const std::vector& getModulationParametersList() const; + void setModulationParametersList(const std::vector& pX); + + std::vector& getAntennaPatternList(); + const std::vector& getAntennaPatternList() const; + void setAntennaPatternList(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const TransmitterPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/TwoByteChunk.cpp b/cpp/DIS/TwoByteChunk.cpp new file mode 100644 index 00000000..adc35615 --- /dev/null +++ b/cpp/DIS/TwoByteChunk.cpp @@ -0,0 +1,110 @@ +#include + +using namespace DIS; + + +TwoByteChunk::TwoByteChunk() +{ + // Initialize fixed length array + for(int lengthotherParameters= 0; lengthotherParameters < 2; lengthotherParameters++) + { + _otherParameters[lengthotherParameters] = 0; + } + +} + +TwoByteChunk::~TwoByteChunk() +{ +} + +char* TwoByteChunk::getOtherParameters() +{ + return _otherParameters; +} + +const char* TwoByteChunk::getOtherParameters() const +{ + return _otherParameters; +} + +void TwoByteChunk::setOtherParameters(const char* x) +{ + for(int i = 0; i < 2; i++) + { + _otherParameters[i] = x[i]; + } +} + +void TwoByteChunk::marshal(DataStream& dataStream) const +{ + + for(size_t idx = 0; idx < 2; idx++) + { + dataStream << _otherParameters[idx]; + } + +} + +void TwoByteChunk::unmarshal(DataStream& dataStream) +{ + + for(size_t idx = 0; idx < 2; idx++) + { + dataStream >> _otherParameters[idx]; + } + +} + + +bool TwoByteChunk::operator ==(const TwoByteChunk& rhs) const + { + bool ivarsEqual = true; + + + for(char idx = 0; idx < 2; idx++) + { + if(!(_otherParameters[idx] == rhs._otherParameters[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int TwoByteChunk::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2 * 1; // _otherParameters + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/TwoByteChunk.h b/cpp/DIS/TwoByteChunk.h new file mode 100644 index 00000000..5d17f0c6 --- /dev/null +++ b/cpp/DIS/TwoByteChunk.h @@ -0,0 +1,71 @@ +#ifndef TWOBYTECHUNK_H +#define TWOBYTECHUNK_H + +#include +#include + + +namespace DIS +{ +// 16 bit piece of data + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO TwoByteChunk +{ +protected: + /** two bytes of arbitrary data */ + char _otherParameters[2]; + + + public: + TwoByteChunk(); + virtual ~TwoByteChunk(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + char* getOtherParameters(); + const char* getOtherParameters() const; + void setOtherParameters( const char* pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const TwoByteChunk& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/UaPdu.cpp b/cpp/DIS/UaPdu.cpp new file mode 100644 index 00000000..ad3efefe --- /dev/null +++ b/cpp/DIS/UaPdu.cpp @@ -0,0 +1,332 @@ +#include + +using namespace DIS; + + +UaPdu::UaPdu() : DistributedEmissionsFamilyPdu(), + _emittingEntityID(), + _eventID(), + _stateChangeIndicator(0), + _pad(0), + _passiveParameterIndex(0), + _propulsionPlantConfiguration(0), + _numberOfShafts(0), + _numberOfAPAs(0), + _numberOfUAEmitterSystems(0) +{ + setPduType( 29 ); +} + +UaPdu::~UaPdu() +{ + _shaftRPMs.clear(); + _apaData.clear(); + _emitterSystems.clear(); +} + +EntityID& UaPdu::getEmittingEntityID() +{ + return _emittingEntityID; +} + +const EntityID& UaPdu::getEmittingEntityID() const +{ + return _emittingEntityID; +} + +void UaPdu::setEmittingEntityID(const EntityID &pX) +{ + _emittingEntityID = pX; +} + +EventID& UaPdu::getEventID() +{ + return _eventID; +} + +const EventID& UaPdu::getEventID() const +{ + return _eventID; +} + +void UaPdu::setEventID(const EventID &pX) +{ + _eventID = pX; +} + +char UaPdu::getStateChangeIndicator() const +{ + return _stateChangeIndicator; +} + +void UaPdu::setStateChangeIndicator(char pX) +{ + _stateChangeIndicator = pX; +} + +char UaPdu::getPad() const +{ + return _pad; +} + +void UaPdu::setPad(char pX) +{ + _pad = pX; +} + +unsigned short UaPdu::getPassiveParameterIndex() const +{ + return _passiveParameterIndex; +} + +void UaPdu::setPassiveParameterIndex(unsigned short pX) +{ + _passiveParameterIndex = pX; +} + +unsigned char UaPdu::getPropulsionPlantConfiguration() const +{ + return _propulsionPlantConfiguration; +} + +void UaPdu::setPropulsionPlantConfiguration(unsigned char pX) +{ + _propulsionPlantConfiguration = pX; +} + +unsigned char UaPdu::getNumberOfShafts() const +{ + return _shaftRPMs.size(); +} + +unsigned char UaPdu::getNumberOfAPAs() const +{ + return _apaData.size(); +} + +unsigned char UaPdu::getNumberOfUAEmitterSystems() const +{ + return _emitterSystems.size(); +} + +std::vector& UaPdu::getShaftRPMs() +{ + return _shaftRPMs; +} + +const std::vector& UaPdu::getShaftRPMs() const +{ + return _shaftRPMs; +} + +void UaPdu::setShaftRPMs(const std::vector& pX) +{ + _shaftRPMs = pX; +} + +std::vector& UaPdu::getApaData() +{ + return _apaData; +} + +const std::vector& UaPdu::getApaData() const +{ + return _apaData; +} + +void UaPdu::setApaData(const std::vector& pX) +{ + _apaData = pX; +} + +std::vector& UaPdu::getEmitterSystems() +{ + return _emitterSystems; +} + +const std::vector& UaPdu::getEmitterSystems() const +{ + return _emitterSystems; +} + +void UaPdu::setEmitterSystems(const std::vector& pX) +{ + _emitterSystems = pX; +} + +void UaPdu::marshal(DataStream& dataStream) const +{ + DistributedEmissionsFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _emittingEntityID.marshal(dataStream); + _eventID.marshal(dataStream); + dataStream << _stateChangeIndicator; + dataStream << _pad; + dataStream << _passiveParameterIndex; + dataStream << _propulsionPlantConfiguration; + dataStream << ( unsigned char )_shaftRPMs.size(); + dataStream << ( unsigned char )_apaData.size(); + dataStream << ( unsigned char )_emitterSystems.size(); + + for(size_t idx = 0; idx < _shaftRPMs.size(); idx++) + { + ShaftRPMs x = _shaftRPMs[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _apaData.size(); idx++) + { + ApaData x = _apaData[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _emitterSystems.size(); idx++) + { + AcousticEmitterSystemData x = _emitterSystems[idx]; + x.marshal(dataStream); + } + +} + +void UaPdu::unmarshal(DataStream& dataStream) +{ + DistributedEmissionsFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _emittingEntityID.unmarshal(dataStream); + _eventID.unmarshal(dataStream); + dataStream >> _stateChangeIndicator; + dataStream >> _pad; + dataStream >> _passiveParameterIndex; + dataStream >> _propulsionPlantConfiguration; + dataStream >> _numberOfShafts; + dataStream >> _numberOfAPAs; + dataStream >> _numberOfUAEmitterSystems; + + _shaftRPMs.clear(); + for(size_t idx = 0; idx < _numberOfShafts; idx++) + { + ShaftRPMs x; + x.unmarshal(dataStream); + _shaftRPMs.push_back(x); + } + + _apaData.clear(); + for(size_t idx = 0; idx < _numberOfAPAs; idx++) + { + ApaData x; + x.unmarshal(dataStream); + _apaData.push_back(x); + } + + _emitterSystems.clear(); + for(size_t idx = 0; idx < _numberOfUAEmitterSystems; idx++) + { + AcousticEmitterSystemData x; + x.unmarshal(dataStream); + _emitterSystems.push_back(x); + } +} + + +bool UaPdu::operator ==(const UaPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = DistributedEmissionsFamilyPdu::operator==(rhs); + + if( ! (_emittingEntityID == rhs._emittingEntityID) ) ivarsEqual = false; + if( ! (_eventID == rhs._eventID) ) ivarsEqual = false; + if( ! (_stateChangeIndicator == rhs._stateChangeIndicator) ) ivarsEqual = false; + if( ! (_pad == rhs._pad) ) ivarsEqual = false; + if( ! (_passiveParameterIndex == rhs._passiveParameterIndex) ) ivarsEqual = false; + if( ! (_propulsionPlantConfiguration == rhs._propulsionPlantConfiguration) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _shaftRPMs.size(); idx++) + { + if( ! ( _shaftRPMs[idx] == rhs._shaftRPMs[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _apaData.size(); idx++) + { + if( ! ( _apaData[idx] == rhs._apaData[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _emitterSystems.size(); idx++) + { + if( ! ( _emitterSystems[idx] == rhs._emitterSystems[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int UaPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = DistributedEmissionsFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _emittingEntityID.getMarshalledSize(); // _emittingEntityID + marshalSize = marshalSize + _eventID.getMarshalledSize(); // _eventID + marshalSize = marshalSize + 1; // _stateChangeIndicator + marshalSize = marshalSize + 1; // _pad + marshalSize = marshalSize + 2; // _passiveParameterIndex + marshalSize = marshalSize + 1; // _propulsionPlantConfiguration + marshalSize = marshalSize + 1; // _numberOfShafts + marshalSize = marshalSize + 1; // _numberOfAPAs + marshalSize = marshalSize + 1; // _numberOfUAEmitterSystems + + for(int idx=0; idx < _shaftRPMs.size(); idx++) + { + ShaftRPMs listElement = _shaftRPMs[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _apaData.size(); idx++) + { + ApaData listElement = _apaData[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _emitterSystems.size(); idx++) + { + AcousticEmitterSystemData listElement = _emitterSystems[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/UaPdu.h b/cpp/DIS/UaPdu.h new file mode 100644 index 00000000..a978e824 --- /dev/null +++ b/cpp/DIS/UaPdu.h @@ -0,0 +1,144 @@ +#ifndef UAPDU_H +#define UAPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.7.3. Information about underwater acoustic emmissions. This requires manual cleanup. The beam data records should ALL be a the finish, rather than attached to each emitter system. UNFINISHED + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO UaPdu : public DistributedEmissionsFamilyPdu +{ +protected: + /** ID of the entity that is the source of the emission */ + EntityID _emittingEntityID; + + /** ID of event */ + EventID _eventID; + + /** This field shall be used to indicate whether the data in the UA PDU represent a state update or data that have changed since issuance of the last UA PDU */ + char _stateChangeIndicator; + + /** padding */ + char _pad; + + /** This field indicates which database record (or file) shall be used in the definition of passive signature (unintentional) emissions of the entity. The indicated database record (or file) shall define all noise generated as a function of propulsion plant configurations and associated auxiliaries. */ + unsigned short _passiveParameterIndex; + + /** This field shall specify the entity propulsion plant configuration. This field is used to determine the passive signature characteristics of an entity. */ + unsigned char _propulsionPlantConfiguration; + + /** This field shall represent the number of shafts on a platform */ + unsigned char _numberOfShafts; + + /** This field shall indicate the number of APAs described in the current UA PDU */ + unsigned char _numberOfAPAs; + + /** This field shall specify the number of UA emitter systems being described in the current UA PDU */ + unsigned char _numberOfUAEmitterSystems; + + /** shaft RPM values */ + std::vector _shaftRPMs; + + /** apaData */ + std::vector _apaData; + + std::vector _emitterSystems; + + + public: + UaPdu(); + virtual ~UaPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getEmittingEntityID(); + const EntityID& getEmittingEntityID() const; + void setEmittingEntityID(const EntityID &pX); + + EventID& getEventID(); + const EventID& getEventID() const; + void setEventID(const EventID &pX); + + char getStateChangeIndicator() const; + void setStateChangeIndicator(char pX); + + char getPad() const; + void setPad(char pX); + + unsigned short getPassiveParameterIndex() const; + void setPassiveParameterIndex(unsigned short pX); + + unsigned char getPropulsionPlantConfiguration() const; + void setPropulsionPlantConfiguration(unsigned char pX); + + unsigned char getNumberOfShafts() const; + + unsigned char getNumberOfAPAs() const; + + unsigned char getNumberOfUAEmitterSystems() const; + + std::vector& getShaftRPMs(); + const std::vector& getShaftRPMs() const; + void setShaftRPMs(const std::vector& pX); + + std::vector& getApaData(); + const std::vector& getApaData() const; + void setApaData(const std::vector& pX); + + std::vector& getEmitterSystems(); + const std::vector& getEmitterSystems() const; + void setEmitterSystems(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const UaPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/VariableDatum.cpp b/cpp/DIS/VariableDatum.cpp new file mode 100644 index 00000000..99f769e5 --- /dev/null +++ b/cpp/DIS/VariableDatum.cpp @@ -0,0 +1,135 @@ +#include + +using namespace DIS; + + +VariableDatum::VariableDatum(): + _variableDatumID(0), + _variableDatumLength(0) +{ +} + +VariableDatum::~VariableDatum() +{ + _variableDatums.clear(); +} + +unsigned int VariableDatum::getVariableDatumID() const +{ + return _variableDatumID; +} + +void VariableDatum::setVariableDatumID(unsigned int pX) +{ + _variableDatumID = pX; +} + +unsigned int VariableDatum::getVariableDatumLength() const +{ + return _variableDatums.size(); +} + +std::vector& VariableDatum::getVariableDatums() +{ + return _variableDatums; +} + +const std::vector& VariableDatum::getVariableDatums() const +{ + return _variableDatums; +} + +void VariableDatum::setVariableDatums(const std::vector& pX) +{ + _variableDatums = pX; +} + +void VariableDatum::marshal(DataStream& dataStream) const +{ + dataStream << _variableDatumID; + dataStream << ( unsigned int )_variableDatums.size(); + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { + EightByteChunk x = _variableDatums[idx]; + x.marshal(dataStream); + } + +} + +void VariableDatum::unmarshal(DataStream& dataStream) +{ + dataStream >> _variableDatumID; + dataStream >> _variableDatumLength; + + _variableDatums.clear(); + for(size_t idx = 0; idx < _variableDatumLength; idx++) + { + EightByteChunk x; + x.unmarshal(dataStream); + _variableDatums.push_back(x); + } +} + + +bool VariableDatum::operator ==(const VariableDatum& rhs) const + { + bool ivarsEqual = true; + + if( ! (_variableDatumID == rhs._variableDatumID) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { + if( ! ( _variableDatums[idx] == rhs._variableDatums[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int VariableDatum::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _variableDatumID + marshalSize = marshalSize + 4; // _variableDatumLength + + for(int idx=0; idx < _variableDatums.size(); idx++) + { + EightByteChunk listElement = _variableDatums[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/VariableDatum.h b/cpp/DIS/VariableDatum.h new file mode 100644 index 00000000..1452dc9e --- /dev/null +++ b/cpp/DIS/VariableDatum.h @@ -0,0 +1,84 @@ +#ifndef VARIABLEDATUM_H +#define VARIABLEDATUM_H + +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.2.32. Variable Datum Record + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO VariableDatum +{ +protected: + /** ID of the variable datum */ + unsigned int _variableDatumID; + + /** length of the variable datums */ + unsigned int _variableDatumLength; + + /** variable length list of 64-bit datums */ + std::vector _variableDatums; + + + public: + VariableDatum(); + virtual ~VariableDatum(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getVariableDatumID() const; + void setVariableDatumID(unsigned int pX); + + unsigned int getVariableDatumLength() const; + + std::vector& getVariableDatums(); + const std::vector& getVariableDatums() const; + void setVariableDatums(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const VariableDatum& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/Vector3Double.cpp b/cpp/DIS/Vector3Double.cpp new file mode 100644 index 00000000..0c7bbe0b --- /dev/null +++ b/cpp/DIS/Vector3Double.cpp @@ -0,0 +1,112 @@ +#include + +using namespace DIS; + + +Vector3Double::Vector3Double(): + _x(0.0), + _y(0.0), + _z(0.0) +{ +} + +Vector3Double::~Vector3Double() +{ +} + +double Vector3Double::getX() const +{ + return _x; +} + +void Vector3Double::setX(double pX) +{ + _x = pX; +} + +double Vector3Double::getY() const +{ + return _y; +} + +void Vector3Double::setY(double pX) +{ + _y = pX; +} + +double Vector3Double::getZ() const +{ + return _z; +} + +void Vector3Double::setZ(double pX) +{ + _z = pX; +} + +void Vector3Double::marshal(DataStream& dataStream) const +{ + dataStream << _x; + dataStream << _y; + dataStream << _z; +} + +void Vector3Double::unmarshal(DataStream& dataStream) +{ + dataStream >> _x; + dataStream >> _y; + dataStream >> _z; +} + + +bool Vector3Double::operator ==(const Vector3Double& rhs) const + { + bool ivarsEqual = true; + + if( ! (_x == rhs._x) ) ivarsEqual = false; + if( ! (_y == rhs._y) ) ivarsEqual = false; + if( ! (_z == rhs._z) ) ivarsEqual = false; + + return ivarsEqual; + } + +int Vector3Double::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 8; // _x + marshalSize = marshalSize + 8; // _y + marshalSize = marshalSize + 8; // _z + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/Vector3Double.h b/cpp/DIS/Vector3Double.h new file mode 100644 index 00000000..d5cdce25 --- /dev/null +++ b/cpp/DIS/Vector3Double.h @@ -0,0 +1,82 @@ +#ifndef VECTOR3DOUBLE_H +#define VECTOR3DOUBLE_H + +#include +#include + + +namespace DIS +{ +// Section 5.3.34. Three double precision floating point values, x, y, and z + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO Vector3Double +{ +protected: + /** X value */ + double _x; + + /** Y value */ + double _y; + + /** Z value */ + double _z; + + + public: + Vector3Double(); + virtual ~Vector3Double(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + double getX() const; + void setX(double pX); + + double getY() const; + void setY(double pX); + + double getZ() const; + void setZ(double pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const Vector3Double& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/Vector3Float.cpp b/cpp/DIS/Vector3Float.cpp new file mode 100644 index 00000000..5cf6ad94 --- /dev/null +++ b/cpp/DIS/Vector3Float.cpp @@ -0,0 +1,112 @@ +#include + +using namespace DIS; + + +Vector3Float::Vector3Float(): + _x(0.0), + _y(0.0), + _z(0.0) +{ +} + +Vector3Float::~Vector3Float() +{ +} + +float Vector3Float::getX() const +{ + return _x; +} + +void Vector3Float::setX(float pX) +{ + _x = pX; +} + +float Vector3Float::getY() const +{ + return _y; +} + +void Vector3Float::setY(float pX) +{ + _y = pX; +} + +float Vector3Float::getZ() const +{ + return _z; +} + +void Vector3Float::setZ(float pX) +{ + _z = pX; +} + +void Vector3Float::marshal(DataStream& dataStream) const +{ + dataStream << _x; + dataStream << _y; + dataStream << _z; +} + +void Vector3Float::unmarshal(DataStream& dataStream) +{ + dataStream >> _x; + dataStream >> _y; + dataStream >> _z; +} + + +bool Vector3Float::operator ==(const Vector3Float& rhs) const + { + bool ivarsEqual = true; + + if( ! (_x == rhs._x) ) ivarsEqual = false; + if( ! (_y == rhs._y) ) ivarsEqual = false; + if( ! (_z == rhs._z) ) ivarsEqual = false; + + return ivarsEqual; + } + +int Vector3Float::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _x + marshalSize = marshalSize + 4; // _y + marshalSize = marshalSize + 4; // _z + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/Vector3Float.h b/cpp/DIS/Vector3Float.h new file mode 100644 index 00000000..e169c9fa --- /dev/null +++ b/cpp/DIS/Vector3Float.h @@ -0,0 +1,82 @@ +#ifndef VECTOR3FLOAT_H +#define VECTOR3FLOAT_H + +#include +#include + + +namespace DIS +{ +// Section 5.2.33. Three floating point values, x, y, and z + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO Vector3Float +{ +protected: + /** X value */ + float _x; + + /** y Value */ + float _y; + + /** Z value */ + float _z; + + + public: + Vector3Float(); + virtual ~Vector3Float(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + float getX() const; + void setX(float pX); + + float getY() const; + void setY(float pX); + + float getZ() const; + void setZ(float pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const Vector3Float& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/VectoringNozzleSystemData.cpp b/cpp/DIS/VectoringNozzleSystemData.cpp new file mode 100644 index 00000000..2ec797ac --- /dev/null +++ b/cpp/DIS/VectoringNozzleSystemData.cpp @@ -0,0 +1,97 @@ +#include + +using namespace DIS; + + +VectoringNozzleSystemData::VectoringNozzleSystemData(): + _horizontalDeflectionAngle(0.0), + _verticalDeflectionAngle(0.0) +{ +} + +VectoringNozzleSystemData::~VectoringNozzleSystemData() +{ +} + +float VectoringNozzleSystemData::getHorizontalDeflectionAngle() const +{ + return _horizontalDeflectionAngle; +} + +void VectoringNozzleSystemData::setHorizontalDeflectionAngle(float pX) +{ + _horizontalDeflectionAngle = pX; +} + +float VectoringNozzleSystemData::getVerticalDeflectionAngle() const +{ + return _verticalDeflectionAngle; +} + +void VectoringNozzleSystemData::setVerticalDeflectionAngle(float pX) +{ + _verticalDeflectionAngle = pX; +} + +void VectoringNozzleSystemData::marshal(DataStream& dataStream) const +{ + dataStream << _horizontalDeflectionAngle; + dataStream << _verticalDeflectionAngle; +} + +void VectoringNozzleSystemData::unmarshal(DataStream& dataStream) +{ + dataStream >> _horizontalDeflectionAngle; + dataStream >> _verticalDeflectionAngle; +} + + +bool VectoringNozzleSystemData::operator ==(const VectoringNozzleSystemData& rhs) const + { + bool ivarsEqual = true; + + if( ! (_horizontalDeflectionAngle == rhs._horizontalDeflectionAngle) ) ivarsEqual = false; + if( ! (_verticalDeflectionAngle == rhs._verticalDeflectionAngle) ) ivarsEqual = false; + + return ivarsEqual; + } + +int VectoringNozzleSystemData::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _horizontalDeflectionAngle + marshalSize = marshalSize + 4; // _verticalDeflectionAngle + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/VectoringNozzleSystemData.h b/cpp/DIS/VectoringNozzleSystemData.h new file mode 100644 index 00000000..045ce9a7 --- /dev/null +++ b/cpp/DIS/VectoringNozzleSystemData.h @@ -0,0 +1,76 @@ +#ifndef VECTORINGNOZZLESYSTEMDATA_H +#define VECTORINGNOZZLESYSTEMDATA_H + +#include +#include + + +namespace DIS +{ +// Data about a vectoring nozzle system + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO VectoringNozzleSystemData +{ +protected: + /** horizontal deflection angle */ + float _horizontalDeflectionAngle; + + /** vertical deflection angle */ + float _verticalDeflectionAngle; + + + public: + VectoringNozzleSystemData(); + virtual ~VectoringNozzleSystemData(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + float getHorizontalDeflectionAngle() const; + void setHorizontalDeflectionAngle(float pX); + + float getVerticalDeflectionAngle() const; + void setVerticalDeflectionAngle(float pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const VectoringNozzleSystemData& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/WarfareFamilyPdu.cpp b/cpp/DIS/WarfareFamilyPdu.cpp new file mode 100644 index 00000000..6da65e1f --- /dev/null +++ b/cpp/DIS/WarfareFamilyPdu.cpp @@ -0,0 +1,113 @@ +#include + +using namespace DIS; + + +WarfareFamilyPdu::WarfareFamilyPdu() : Pdu(), + _firingEntityID(), + _targetEntityID() +{ + setProtocolFamily( 2 ); +} + +WarfareFamilyPdu::~WarfareFamilyPdu() +{ +} + +EntityID& WarfareFamilyPdu::getFiringEntityID() +{ + return _firingEntityID; +} + +const EntityID& WarfareFamilyPdu::getFiringEntityID() const +{ + return _firingEntityID; +} + +void WarfareFamilyPdu::setFiringEntityID(const EntityID &pX) +{ + _firingEntityID = pX; +} + +EntityID& WarfareFamilyPdu::getTargetEntityID() +{ + return _targetEntityID; +} + +const EntityID& WarfareFamilyPdu::getTargetEntityID() const +{ + return _targetEntityID; +} + +void WarfareFamilyPdu::setTargetEntityID(const EntityID &pX) +{ + _targetEntityID = pX; +} + +void WarfareFamilyPdu::marshal(DataStream& dataStream) const +{ + Pdu::marshal(dataStream); // Marshal information in superclass first + _firingEntityID.marshal(dataStream); + _targetEntityID.marshal(dataStream); +} + +void WarfareFamilyPdu::unmarshal(DataStream& dataStream) +{ + Pdu::unmarshal(dataStream); // unmarshal information in superclass first + _firingEntityID.unmarshal(dataStream); + _targetEntityID.unmarshal(dataStream); +} + + +bool WarfareFamilyPdu::operator ==(const WarfareFamilyPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = Pdu::operator==(rhs); + + if( ! (_firingEntityID == rhs._firingEntityID) ) ivarsEqual = false; + if( ! (_targetEntityID == rhs._targetEntityID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int WarfareFamilyPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = Pdu::getMarshalledSize(); + marshalSize = marshalSize + _firingEntityID.getMarshalledSize(); // _firingEntityID + marshalSize = marshalSize + _targetEntityID.getMarshalledSize(); // _targetEntityID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/WarfareFamilyPdu.h b/cpp/DIS/WarfareFamilyPdu.h new file mode 100644 index 00000000..b992aba9 --- /dev/null +++ b/cpp/DIS/WarfareFamilyPdu.h @@ -0,0 +1,81 @@ +#ifndef WARFAREFAMILYPDU_H +#define WARFAREFAMILYPDU_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.4. abstract superclass for fire and detonation pdus that have shared information. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO WarfareFamilyPdu : public Pdu +{ +protected: + /** ID of the entity that shot */ + EntityID _firingEntityID; + + /** ID of the entity that is being shot at */ + EntityID _targetEntityID; + + + public: + WarfareFamilyPdu(); + virtual ~WarfareFamilyPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getFiringEntityID(); + const EntityID& getFiringEntityID() const; + void setFiringEntityID(const EntityID &pX); + + EntityID& getTargetEntityID(); + const EntityID& getTargetEntityID() const; + void setTargetEntityID(const EntityID &pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const WarfareFamilyPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS/msLibMacro.h b/cpp/DIS/msLibMacro.h new file mode 100644 index 00000000..aa1c3011 --- /dev/null +++ b/cpp/DIS/msLibMacro.h @@ -0,0 +1,12 @@ +#ifndef MSLIBMACRO_H +#define MSLIBMACRO_H +#if defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW32__) || defined( __BCPLUSPLUS__) || defined( __MWERKS__) +# ifdef EXPORT_LIBRARY +# define EXPORT_MACRO __declspec(dllexport) +# else +# define EXPORT_MACRO __declspec(dllimport) +# endif +#else +# define EXPORT_MACRO +#endif +#endif diff --git a/cpp/DIS/symbolic_names.h b/cpp/DIS/symbolic_names.h new file mode 100644 index 00000000..c3fce3fa --- /dev/null +++ b/cpp/DIS/symbolic_names.h @@ -0,0 +1,96 @@ +#ifndef SYMBOLIC_NAMES_H_INCLUDED +#define SYMBOLIC_NAMES_H_INCLUDED + +#include + +/** + * Symbolic names as defined in 5.1.4 + */ +namespace DIS { +const unsigned int AGG_HRT_BEAT_TIMER = 30U; //s +const unsigned int AGG_RESPONSE_DFLT = 10U; //s +const unsigned short ALL_AGGS = 0xFFFFU; +const unsigned short ALL_APPLIC = 0xFFFFU; +const unsigned short ALL_ENTITIES = 0xFFFFU; +const unsigned short ALL_OBJECTS = 0xFFFFU; +const unsigned short ALL_SITES = 0xFFFFU; +const unsigned int APPEAR_HRT_BEAT_TIMER = 60U; //se +const unsigned int COLLISION_ELASTIC_TO = 5U; //s +const unsigned int COLLISION_THRSH_DFLT = 1U; //m/s + +const unsigned int DRA_ORIENT_THRSH_DFLT = 3U; //degrees +const unsigned int DRA_POS_THRSH_DFLT = 1U; //m +const unsigned int EE_AZ_THRSH_DFLT = 1U; //degrees +const unsigned int EE_EL_THRSH_DFLT = 1U; //degrees + +const unsigned int EP_DIMENSION_THRSH_DFLT = 1U; //m +const unsigned short EP_NO_SEQUENCE = 0xFFFFU; +const unsigned int EP_POS_THRSH_DFLT = 1U; //m shift +const unsigned int EP_STATE_THRSH_DFLT = 10U; //% +const unsigned int GD_HRT_BEAT_TIMER = 15U; //min +const unsigned int HRT_BEAT_MOVE_TIMER = 2U; //s +const float HRT_BEAT_MPLIER = 2.4f; +const unsigned int HRT_BEAT_TIMER = 5U; //s +const unsigned int IFF_ATC_NAVAIDS_DFLT = 10U; //s +const unsigned int IFF_ATC_NAVAIDS_CLAT = 2U; //s +const unsigned int LE_HRT_BEAT_TIMER = 30; //s +//MINEFIELD_CHANGE_DFLT between 0 and MINEFIELD_DATA_DFLT +const unsigned int MINEFIELD_DATA_DFLT = 5U; //s +const unsigned int MINEFIELD_DATA_TIMEOUT_DLFT = 5U; //s +const unsigned int MINEFIELD_DFLT = 5U; //s +const unsigned int MINEFIELD_RESPONSE_DFLT = 1U; //s + +const unsigned short NO_AGG = 0U; +const unsigned short NO_APPLIC = 0U; +const unsigned short NO_ENTITY = 0U; + +const unsigned int NO_FIRE_MISSION = 0U; + +const unsigned short NO_OBJECT = 0U; +const unsigned short NO_SITE = 0U; + +const unsigned int REPAR_REC_T1_DFLT = 5U; //s +const unsigned int REPAR_SUP_T1_DFLT = 12U; //s +const unsigned int REPAR_SUP_T2_DFLT = 12U; //s +const unsigned int RESUP_REC_T1_DFLT = 5U; //s +const unsigned int RESUP_REC_T2_DFLT = 55U; //s +const unsigned int RESUP_SUP_T1_DFLT = 1U; //min +const unsigned short RQST_ASSIGN_ID = 0xFFFEU; +const unsigned int SEES_NDA_THRSH_DFLT = 2U; //degrees in the axis of deflection +const unsigned int SEES_PS_THRSH_DFLT = 10U; //% of the maximum value of the Power Setting +const unsigned int SEES_RPM_DELTA_THRSH_DFLT = 5U; //% of the maximum engine speed in RPM +const unsigned int SEES_STATE_UPDATE_DFLT = 3U; //min +const unsigned int SM_REL_RETRY_CNT_DFLT = 3U; +const unsigned int SM_REL_RETRY_DELAY_DFLT = 2U; //s + +const unsigned int TARGETS_IN_TJ_FIELD_DFLT = 10U; +const unsigned int TI_TIMER1_DFLT = 2U; //s +const unsigned int TI_TIMER2_DFLT = 12U; //s +const unsigned int TR_TIMER1_DFLT = 5U; //s +const unsigned int TR_TIMER2_DFLT = 60U; //s +const unsigned int TRANS_ORIENT_THRSH_DFLT = 180U; //degrees +const unsigned int TRANS_POS_THRSH_DFLT = 500U; //m +const unsigned int UA_LOCATION_CHANGE_DELTA = 10U; //m +const unsigned int UA_ORIENTATION_CHANGE_DELTA = 2U; //degrees +const unsigned int UA_SRPM_CHANGE_DELTA = 5U; //% of maximum shaft speed in RPM +const unsigned int UA_SRPM_ROC_CHANGE_DELTA = 10U; //% of maximum rate of change +const unsigned int UA_STATE_UPDATE_HRT_BEAT_TIMER = 3U; //min + + +/** If you want to have the EntityID constants below, you + * need to add the constructor EntityID(unsigned short,unsigned short,unsigned short) + * and recompile open-dis + * + */ +/* +const DIS::EntityID D_SPOT_NO_ENTITY(NO_SITE, NO_APPLIC, NO_ENTITY); +const DIS::EntityID ENTITY_ID_UNKNOWN(NO_SITE, NO_APPLIC, NO_ENTITY); +const DIS::EntityID MUNITION_NOT_TRACKED(NO_SITE, NO_APPLIC, NO_ENTITY); +const DIS::EntityID NO_ENTITY_IMPACTED(NO_SITE, NO_APPLIC, NO_ENTITY); +const DIS::EntityID NO_LOCATION(NO_SITE, NO_APPLIC, NO_ENTITY); +const DIS::EntityID NO_SPECIFIC_ENTITY(NO_SITE, NO_APPLIC, NO_ENTITY); +const DIS::EntityID TARGET_ID_UNKNOWN(NO_SITE, NO_APPLIC, NO_ENTITY); +*/ +} + +#endif // SYMBOLIC_NAMES_H_INCLUDED diff --git a/cpp/DIS7/AcknowledgePdu.cpp b/cpp/DIS7/AcknowledgePdu.cpp new file mode 100644 index 00000000..4ae6db87 --- /dev/null +++ b/cpp/DIS7/AcknowledgePdu.cpp @@ -0,0 +1,158 @@ +#include + +using namespace DIS; + + +AcknowledgePdu::AcknowledgePdu() : SimulationManagementFamilyPdu(), + _originatingID(), + _receivingID(), + _acknowledgeFlag(0), + _responseFlag(0), + _requestID(0) +{ + setPduType( 15 ); +} + +AcknowledgePdu::~AcknowledgePdu() +{ +} + +EntityID& AcknowledgePdu::getOriginatingID() +{ + return _originatingID; +} + +const EntityID& AcknowledgePdu::getOriginatingID() const +{ + return _originatingID; +} + +void AcknowledgePdu::setOriginatingID(const EntityID &pX) +{ + _originatingID = pX; +} + +EntityID& AcknowledgePdu::getReceivingID() +{ + return _receivingID; +} + +const EntityID& AcknowledgePdu::getReceivingID() const +{ + return _receivingID; +} + +void AcknowledgePdu::setReceivingID(const EntityID &pX) +{ + _receivingID = pX; +} + +unsigned short AcknowledgePdu::getAcknowledgeFlag() const +{ + return _acknowledgeFlag; +} + +void AcknowledgePdu::setAcknowledgeFlag(unsigned short pX) +{ + _acknowledgeFlag = pX; +} + +unsigned short AcknowledgePdu::getResponseFlag() const +{ + return _responseFlag; +} + +void AcknowledgePdu::setResponseFlag(unsigned short pX) +{ + _responseFlag = pX; +} + +unsigned int AcknowledgePdu::getRequestID() const +{ + return _requestID; +} + +void AcknowledgePdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +void AcknowledgePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _originatingID.marshal(dataStream); + _receivingID.marshal(dataStream); + dataStream << _acknowledgeFlag; + dataStream << _responseFlag; + dataStream << _requestID; +} + +void AcknowledgePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _originatingID.unmarshal(dataStream); + _receivingID.unmarshal(dataStream); + dataStream >> _acknowledgeFlag; + dataStream >> _responseFlag; + dataStream >> _requestID; +} + + +bool AcknowledgePdu::operator ==(const AcknowledgePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementFamilyPdu::operator==(rhs); + + if( ! (_originatingID == rhs._originatingID) ) ivarsEqual = false; + if( ! (_receivingID == rhs._receivingID) ) ivarsEqual = false; + if( ! (_acknowledgeFlag == rhs._acknowledgeFlag) ) ivarsEqual = false; + if( ! (_responseFlag == rhs._responseFlag) ) ivarsEqual = false; + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int AcknowledgePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _originatingID.getMarshalledSize(); // _originatingID + marshalSize = marshalSize + _receivingID.getMarshalledSize(); // _receivingID + marshalSize = marshalSize + 2; // _acknowledgeFlag + marshalSize = marshalSize + 2; // _responseFlag + marshalSize = marshalSize + 4; // _requestID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/AcknowledgePdu.h b/cpp/DIS7/AcknowledgePdu.h new file mode 100644 index 00000000..83ab1e9f --- /dev/null +++ b/cpp/DIS7/AcknowledgePdu.h @@ -0,0 +1,99 @@ +#ifndef ACKNOWLEDGEPDU_H +#define ACKNOWLEDGEPDU_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 7.5.6. Acknowledge the receipt of a start/resume, stop/freeze, or RemoveEntityPDU. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO AcknowledgePdu : public SimulationManagementFamilyPdu +{ +protected: + /** Identifier for originating entity(or simulation) */ + EntityID _originatingID; + + /** Identifier for the receiving entity(or simulation) */ + EntityID _receivingID; + + /** type of message being acknowledged */ + unsigned short _acknowledgeFlag; + + /** Whether or not the receiving entity was able to comply with the request */ + unsigned short _responseFlag; + + /** Request ID that is unique */ + unsigned int _requestID; + + + public: + AcknowledgePdu(); + virtual ~AcknowledgePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getOriginatingID(); + const EntityID& getOriginatingID() const; + void setOriginatingID(const EntityID &pX); + + EntityID& getReceivingID(); + const EntityID& getReceivingID() const; + void setReceivingID(const EntityID &pX); + + unsigned short getAcknowledgeFlag() const; + void setAcknowledgeFlag(unsigned short pX); + + unsigned short getResponseFlag() const; + void setResponseFlag(unsigned short pX); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const AcknowledgePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/AcknowledgeReliablePdu.cpp b/cpp/DIS7/AcknowledgeReliablePdu.cpp new file mode 100644 index 00000000..d935bb92 --- /dev/null +++ b/cpp/DIS7/AcknowledgeReliablePdu.cpp @@ -0,0 +1,118 @@ +#include + +using namespace DIS; + + +AcknowledgeReliablePdu::AcknowledgeReliablePdu() : SimulationManagementWithReliabilityFamilyPdu(), + _acknowledgeFlag(0), + _responseFlag(0), + _requestID(0) +{ + setPduType( 55 ); +} + +AcknowledgeReliablePdu::~AcknowledgeReliablePdu() +{ +} + +unsigned short AcknowledgeReliablePdu::getAcknowledgeFlag() const +{ + return _acknowledgeFlag; +} + +void AcknowledgeReliablePdu::setAcknowledgeFlag(unsigned short pX) +{ + _acknowledgeFlag = pX; +} + +unsigned short AcknowledgeReliablePdu::getResponseFlag() const +{ + return _responseFlag; +} + +void AcknowledgeReliablePdu::setResponseFlag(unsigned short pX) +{ + _responseFlag = pX; +} + +unsigned int AcknowledgeReliablePdu::getRequestID() const +{ + return _requestID; +} + +void AcknowledgeReliablePdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +void AcknowledgeReliablePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementWithReliabilityFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _acknowledgeFlag; + dataStream << _responseFlag; + dataStream << _requestID; +} + +void AcknowledgeReliablePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementWithReliabilityFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _acknowledgeFlag; + dataStream >> _responseFlag; + dataStream >> _requestID; +} + + +bool AcknowledgeReliablePdu::operator ==(const AcknowledgeReliablePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementWithReliabilityFamilyPdu::operator==(rhs); + + if( ! (_acknowledgeFlag == rhs._acknowledgeFlag) ) ivarsEqual = false; + if( ! (_responseFlag == rhs._responseFlag) ) ivarsEqual = false; + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int AcknowledgeReliablePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementWithReliabilityFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 2; // _acknowledgeFlag + marshalSize = marshalSize + 2; // _responseFlag + marshalSize = marshalSize + 4; // _requestID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/AcknowledgeReliablePdu.h b/cpp/DIS7/AcknowledgeReliablePdu.h new file mode 100644 index 00000000..614cbfb8 --- /dev/null +++ b/cpp/DIS7/AcknowledgeReliablePdu.h @@ -0,0 +1,83 @@ +#ifndef ACKNOWLEDGERELIABLEPDU_H +#define ACKNOWLEDGERELIABLEPDU_H + +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.12.5: Ack receipt of a start-resume, stop-freeze, create-entity or remove enitty (reliable) pdus. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO AcknowledgeReliablePdu : public SimulationManagementWithReliabilityFamilyPdu +{ +protected: + /** ack flags */ + unsigned short _acknowledgeFlag; + + /** response flags */ + unsigned short _responseFlag; + + /** Request ID */ + unsigned int _requestID; + + + public: + AcknowledgeReliablePdu(); + virtual ~AcknowledgeReliablePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getAcknowledgeFlag() const; + void setAcknowledgeFlag(unsigned short pX); + + unsigned short getResponseFlag() const; + void setResponseFlag(unsigned short pX); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const AcknowledgeReliablePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/AcousticEmitter.cpp b/cpp/DIS7/AcousticEmitter.cpp new file mode 100644 index 00000000..27c39c8b --- /dev/null +++ b/cpp/DIS7/AcousticEmitter.cpp @@ -0,0 +1,112 @@ +#include + +using namespace DIS; + + +AcousticEmitter::AcousticEmitter(): + _acousticName(0), + _function(0), + _acousticIdNumber(0) +{ +} + +AcousticEmitter::~AcousticEmitter() +{ +} + +unsigned short AcousticEmitter::getAcousticName() const +{ + return _acousticName; +} + +void AcousticEmitter::setAcousticName(unsigned short pX) +{ + _acousticName = pX; +} + +unsigned char AcousticEmitter::getFunction() const +{ + return _function; +} + +void AcousticEmitter::setFunction(unsigned char pX) +{ + _function = pX; +} + +unsigned char AcousticEmitter::getAcousticIdNumber() const +{ + return _acousticIdNumber; +} + +void AcousticEmitter::setAcousticIdNumber(unsigned char pX) +{ + _acousticIdNumber = pX; +} + +void AcousticEmitter::marshal(DataStream& dataStream) const +{ + dataStream << _acousticName; + dataStream << _function; + dataStream << _acousticIdNumber; +} + +void AcousticEmitter::unmarshal(DataStream& dataStream) +{ + dataStream >> _acousticName; + dataStream >> _function; + dataStream >> _acousticIdNumber; +} + + +bool AcousticEmitter::operator ==(const AcousticEmitter& rhs) const + { + bool ivarsEqual = true; + + if( ! (_acousticName == rhs._acousticName) ) ivarsEqual = false; + if( ! (_function == rhs._function) ) ivarsEqual = false; + if( ! (_acousticIdNumber == rhs._acousticIdNumber) ) ivarsEqual = false; + + return ivarsEqual; + } + +int AcousticEmitter::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2; // _acousticName + marshalSize = marshalSize + 1; // _function + marshalSize = marshalSize + 1; // _acousticIdNumber + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/AcousticEmitter.h b/cpp/DIS7/AcousticEmitter.h new file mode 100644 index 00000000..fcdff192 --- /dev/null +++ b/cpp/DIS7/AcousticEmitter.h @@ -0,0 +1,82 @@ +#ifndef ACOUSTICEMITTER_H +#define ACOUSTICEMITTER_H + +#include +#include + + +namespace DIS +{ +// information about a specific UA emmtter. Section 6.2.2. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO AcousticEmitter +{ +protected: + /** the system for a particular UA emitter, and an enumeration */ + unsigned short _acousticName; + + /** The function of the acoustic system */ + unsigned char _function; + + /** The UA emitter identification number relative to a specific system */ + unsigned char _acousticIdNumber; + + + public: + AcousticEmitter(); + virtual ~AcousticEmitter(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getAcousticName() const; + void setAcousticName(unsigned short pX); + + unsigned char getFunction() const; + void setFunction(unsigned char pX); + + unsigned char getAcousticIdNumber() const; + void setAcousticIdNumber(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const AcousticEmitter& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ActionRequestPdu.cpp b/cpp/DIS7/ActionRequestPdu.cpp new file mode 100644 index 00000000..4cf6a633 --- /dev/null +++ b/cpp/DIS7/ActionRequestPdu.cpp @@ -0,0 +1,249 @@ +#include + +using namespace DIS; + + +ActionRequestPdu::ActionRequestPdu() : SimulationManagementFamilyPdu(), + _originatingID(), + _receivingID(), + _requestID(0), + _actionID(0), + _numberOfFixedDatumRecords(0), + _numberOfVariableDatumRecords(0) +{ + setPduType( 16 ); +} + +ActionRequestPdu::~ActionRequestPdu() +{ + _fixedDatums.clear(); + _variableDatums.clear(); +} + +EntityID& ActionRequestPdu::getOriginatingID() +{ + return _originatingID; +} + +const EntityID& ActionRequestPdu::getOriginatingID() const +{ + return _originatingID; +} + +void ActionRequestPdu::setOriginatingID(const EntityID &pX) +{ + _originatingID = pX; +} + +EntityID& ActionRequestPdu::getReceivingID() +{ + return _receivingID; +} + +const EntityID& ActionRequestPdu::getReceivingID() const +{ + return _receivingID; +} + +void ActionRequestPdu::setReceivingID(const EntityID &pX) +{ + _receivingID = pX; +} + +unsigned int ActionRequestPdu::getRequestID() const +{ + return _requestID; +} + +void ActionRequestPdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +unsigned int ActionRequestPdu::getActionID() const +{ + return _actionID; +} + +void ActionRequestPdu::setActionID(unsigned int pX) +{ + _actionID = pX; +} + +unsigned int ActionRequestPdu::getNumberOfFixedDatumRecords() const +{ + return _fixedDatums.size(); +} + +unsigned int ActionRequestPdu::getNumberOfVariableDatumRecords() const +{ + return _variableDatums.size(); +} + +std::vector& ActionRequestPdu::getFixedDatums() +{ + return _fixedDatums; +} + +const std::vector& ActionRequestPdu::getFixedDatums() const +{ + return _fixedDatums; +} + +void ActionRequestPdu::setFixedDatums(const std::vector& pX) +{ + _fixedDatums = pX; +} + +std::vector& ActionRequestPdu::getVariableDatums() +{ + return _variableDatums; +} + +const std::vector& ActionRequestPdu::getVariableDatums() const +{ + return _variableDatums; +} + +void ActionRequestPdu::setVariableDatums(const std::vector& pX) +{ + _variableDatums = pX; +} + +void ActionRequestPdu::marshal(DataStream& dataStream) const +{ + SimulationManagementFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _originatingID.marshal(dataStream); + _receivingID.marshal(dataStream); + dataStream << _requestID; + dataStream << _actionID; + dataStream << ( unsigned int )_fixedDatums.size(); + dataStream << ( unsigned int )_variableDatums.size(); + + for(size_t idx = 0; idx < _fixedDatums.size(); idx++) + { + FixedDatum x = _fixedDatums[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { + VariableDatum x = _variableDatums[idx]; + x.marshal(dataStream); + } + +} + +void ActionRequestPdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _originatingID.unmarshal(dataStream); + _receivingID.unmarshal(dataStream); + dataStream >> _requestID; + dataStream >> _actionID; + dataStream >> _numberOfFixedDatumRecords; + dataStream >> _numberOfVariableDatumRecords; + + _fixedDatums.clear(); + for(size_t idx = 0; idx < _numberOfFixedDatumRecords; idx++) + { + FixedDatum x; + x.unmarshal(dataStream); + _fixedDatums.push_back(x); + } + + _variableDatums.clear(); + for(size_t idx = 0; idx < _numberOfVariableDatumRecords; idx++) + { + VariableDatum x; + x.unmarshal(dataStream); + _variableDatums.push_back(x); + } +} + + +bool ActionRequestPdu::operator ==(const ActionRequestPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementFamilyPdu::operator==(rhs); + + if( ! (_originatingID == rhs._originatingID) ) ivarsEqual = false; + if( ! (_receivingID == rhs._receivingID) ) ivarsEqual = false; + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + if( ! (_actionID == rhs._actionID) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _fixedDatums.size(); idx++) + { + if( ! ( _fixedDatums[idx] == rhs._fixedDatums[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { + if( ! ( _variableDatums[idx] == rhs._variableDatums[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int ActionRequestPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _originatingID.getMarshalledSize(); // _originatingID + marshalSize = marshalSize + _receivingID.getMarshalledSize(); // _receivingID + marshalSize = marshalSize + 4; // _requestID + marshalSize = marshalSize + 4; // _actionID + marshalSize = marshalSize + 4; // _numberOfFixedDatumRecords + marshalSize = marshalSize + 4; // _numberOfVariableDatumRecords + + for(int idx=0; idx < _fixedDatums.size(); idx++) + { + FixedDatum listElement = _fixedDatums[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _variableDatums.size(); idx++) + { + VariableDatum listElement = _variableDatums[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ActionRequestPdu.h b/cpp/DIS7/ActionRequestPdu.h new file mode 100644 index 00000000..41f81825 --- /dev/null +++ b/cpp/DIS7/ActionRequestPdu.h @@ -0,0 +1,120 @@ +#ifndef ACTIONREQUESTPDU_H +#define ACTIONREQUESTPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 7.5.7. Request from simulation manager to a managed entity to perform a specified action. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ActionRequestPdu : public SimulationManagementFamilyPdu +{ +protected: + /** Identifier for originating entity(or simulation) */ + EntityID _originatingID; + + /** Identifier for the receiving entity(or simulation) */ + EntityID _receivingID; + + /** identifies the request being made by the simulaton manager */ + unsigned int _requestID; + + /** identifies the particular action being requested(see Section 7 of SISO-REF-010). */ + unsigned int _actionID; + + /** Number of fixed datum records */ + unsigned int _numberOfFixedDatumRecords; + + /** Number of variable datum records */ + unsigned int _numberOfVariableDatumRecords; + + /** variable length list of fixed datums */ + std::vector _fixedDatums; + + /** variable length list of variable length datums */ + std::vector _variableDatums; + + + public: + ActionRequestPdu(); + virtual ~ActionRequestPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getOriginatingID(); + const EntityID& getOriginatingID() const; + void setOriginatingID(const EntityID &pX); + + EntityID& getReceivingID(); + const EntityID& getReceivingID() const; + void setReceivingID(const EntityID &pX); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + unsigned int getActionID() const; + void setActionID(unsigned int pX); + + unsigned int getNumberOfFixedDatumRecords() const; + + unsigned int getNumberOfVariableDatumRecords() const; + + std::vector& getFixedDatums(); + const std::vector& getFixedDatums() const; + void setFixedDatums(const std::vector& pX); + + std::vector& getVariableDatums(); + const std::vector& getVariableDatums() const; + void setVariableDatums(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ActionRequestPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ActionRequestReliablePdu.cpp b/cpp/DIS7/ActionRequestReliablePdu.cpp new file mode 100644 index 00000000..aed563b8 --- /dev/null +++ b/cpp/DIS7/ActionRequestReliablePdu.cpp @@ -0,0 +1,254 @@ +#include + +using namespace DIS; + + +ActionRequestReliablePdu::ActionRequestReliablePdu() : SimulationManagementWithReliabilityFamilyPdu(), + _requiredReliabilityService(0), + _pad1(0), + _pad2(0), + _requestID(0), + _actionID(0), + _numberOfFixedDatumRecords(0), + _numberOfVariableDatumRecords(0) +{ + setPduType( 56 ); +} + +ActionRequestReliablePdu::~ActionRequestReliablePdu() +{ + _fixedDatumRecords.clear(); + _variableDatumRecords.clear(); +} + +unsigned char ActionRequestReliablePdu::getRequiredReliabilityService() const +{ + return _requiredReliabilityService; +} + +void ActionRequestReliablePdu::setRequiredReliabilityService(unsigned char pX) +{ + _requiredReliabilityService = pX; +} + +unsigned short ActionRequestReliablePdu::getPad1() const +{ + return _pad1; +} + +void ActionRequestReliablePdu::setPad1(unsigned short pX) +{ + _pad1 = pX; +} + +unsigned char ActionRequestReliablePdu::getPad2() const +{ + return _pad2; +} + +void ActionRequestReliablePdu::setPad2(unsigned char pX) +{ + _pad2 = pX; +} + +unsigned int ActionRequestReliablePdu::getRequestID() const +{ + return _requestID; +} + +void ActionRequestReliablePdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +unsigned int ActionRequestReliablePdu::getActionID() const +{ + return _actionID; +} + +void ActionRequestReliablePdu::setActionID(unsigned int pX) +{ + _actionID = pX; +} + +unsigned int ActionRequestReliablePdu::getNumberOfFixedDatumRecords() const +{ + return _fixedDatumRecords.size(); +} + +unsigned int ActionRequestReliablePdu::getNumberOfVariableDatumRecords() const +{ + return _variableDatumRecords.size(); +} + +std::vector& ActionRequestReliablePdu::getFixedDatumRecords() +{ + return _fixedDatumRecords; +} + +const std::vector& ActionRequestReliablePdu::getFixedDatumRecords() const +{ + return _fixedDatumRecords; +} + +void ActionRequestReliablePdu::setFixedDatumRecords(const std::vector& pX) +{ + _fixedDatumRecords = pX; +} + +std::vector& ActionRequestReliablePdu::getVariableDatumRecords() +{ + return _variableDatumRecords; +} + +const std::vector& ActionRequestReliablePdu::getVariableDatumRecords() const +{ + return _variableDatumRecords; +} + +void ActionRequestReliablePdu::setVariableDatumRecords(const std::vector& pX) +{ + _variableDatumRecords = pX; +} + +void ActionRequestReliablePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementWithReliabilityFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _requiredReliabilityService; + dataStream << _pad1; + dataStream << _pad2; + dataStream << _requestID; + dataStream << _actionID; + dataStream << ( unsigned int )_fixedDatumRecords.size(); + dataStream << ( unsigned int )_variableDatumRecords.size(); + + for(size_t idx = 0; idx < _fixedDatumRecords.size(); idx++) + { + FixedDatum x = _fixedDatumRecords[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _variableDatumRecords.size(); idx++) + { + VariableDatum x = _variableDatumRecords[idx]; + x.marshal(dataStream); + } + +} + +void ActionRequestReliablePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementWithReliabilityFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _requiredReliabilityService; + dataStream >> _pad1; + dataStream >> _pad2; + dataStream >> _requestID; + dataStream >> _actionID; + dataStream >> _numberOfFixedDatumRecords; + dataStream >> _numberOfVariableDatumRecords; + + _fixedDatumRecords.clear(); + for(size_t idx = 0; idx < _numberOfFixedDatumRecords; idx++) + { + FixedDatum x; + x.unmarshal(dataStream); + _fixedDatumRecords.push_back(x); + } + + _variableDatumRecords.clear(); + for(size_t idx = 0; idx < _numberOfVariableDatumRecords; idx++) + { + VariableDatum x; + x.unmarshal(dataStream); + _variableDatumRecords.push_back(x); + } +} + + +bool ActionRequestReliablePdu::operator ==(const ActionRequestReliablePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementWithReliabilityFamilyPdu::operator==(rhs); + + if( ! (_requiredReliabilityService == rhs._requiredReliabilityService) ) ivarsEqual = false; + if( ! (_pad1 == rhs._pad1) ) ivarsEqual = false; + if( ! (_pad2 == rhs._pad2) ) ivarsEqual = false; + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + if( ! (_actionID == rhs._actionID) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _fixedDatumRecords.size(); idx++) + { + if( ! ( _fixedDatumRecords[idx] == rhs._fixedDatumRecords[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _variableDatumRecords.size(); idx++) + { + if( ! ( _variableDatumRecords[idx] == rhs._variableDatumRecords[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int ActionRequestReliablePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementWithReliabilityFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 1; // _requiredReliabilityService + marshalSize = marshalSize + 2; // _pad1 + marshalSize = marshalSize + 1; // _pad2 + marshalSize = marshalSize + 4; // _requestID + marshalSize = marshalSize + 4; // _actionID + marshalSize = marshalSize + 4; // _numberOfFixedDatumRecords + marshalSize = marshalSize + 4; // _numberOfVariableDatumRecords + + for(int idx=0; idx < _fixedDatumRecords.size(); idx++) + { + FixedDatum listElement = _fixedDatumRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _variableDatumRecords.size(); idx++) + { + VariableDatum listElement = _variableDatumRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ActionRequestReliablePdu.h b/cpp/DIS7/ActionRequestReliablePdu.h new file mode 100644 index 00000000..e9424a31 --- /dev/null +++ b/cpp/DIS7/ActionRequestReliablePdu.h @@ -0,0 +1,122 @@ +#ifndef ACTIONREQUESTRELIABLEPDU_H +#define ACTIONREQUESTRELIABLEPDU_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.12.6: request from a simulation manager to a managed entity to perform a specified action. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ActionRequestReliablePdu : public SimulationManagementWithReliabilityFamilyPdu +{ +protected: + /** level of reliability service used for this transaction */ + unsigned char _requiredReliabilityService; + + /** padding */ + unsigned short _pad1; + + /** padding */ + unsigned char _pad2; + + /** request ID */ + unsigned int _requestID; + + /** request ID */ + unsigned int _actionID; + + /** Fixed datum record count */ + unsigned int _numberOfFixedDatumRecords; + + /** variable datum record count */ + unsigned int _numberOfVariableDatumRecords; + + /** Fixed datum records */ + std::vector _fixedDatumRecords; + + /** Variable datum records */ + std::vector _variableDatumRecords; + + + public: + ActionRequestReliablePdu(); + virtual ~ActionRequestReliablePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getRequiredReliabilityService() const; + void setRequiredReliabilityService(unsigned char pX); + + unsigned short getPad1() const; + void setPad1(unsigned short pX); + + unsigned char getPad2() const; + void setPad2(unsigned char pX); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + unsigned int getActionID() const; + void setActionID(unsigned int pX); + + unsigned int getNumberOfFixedDatumRecords() const; + + unsigned int getNumberOfVariableDatumRecords() const; + + std::vector& getFixedDatumRecords(); + const std::vector& getFixedDatumRecords() const; + void setFixedDatumRecords(const std::vector& pX); + + std::vector& getVariableDatumRecords(); + const std::vector& getVariableDatumRecords() const; + void setVariableDatumRecords(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ActionRequestReliablePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ActionResponsePdu.cpp b/cpp/DIS7/ActionResponsePdu.cpp new file mode 100644 index 00000000..528e9c87 --- /dev/null +++ b/cpp/DIS7/ActionResponsePdu.cpp @@ -0,0 +1,249 @@ +#include + +using namespace DIS; + + +ActionResponsePdu::ActionResponsePdu() : SimulationManagementFamilyPdu(), + _originatingID(), + _receivingID(), + _requestID(0), + _requestStatus(0), + _numberOfFixedDatumRecords(0), + _numberOfVariableDatumRecords(0) +{ + setPduType( 17 ); +} + +ActionResponsePdu::~ActionResponsePdu() +{ + _fixedDatums.clear(); + _variableDatums.clear(); +} + +EntityID& ActionResponsePdu::getOriginatingID() +{ + return _originatingID; +} + +const EntityID& ActionResponsePdu::getOriginatingID() const +{ + return _originatingID; +} + +void ActionResponsePdu::setOriginatingID(const EntityID &pX) +{ + _originatingID = pX; +} + +EntityID& ActionResponsePdu::getReceivingID() +{ + return _receivingID; +} + +const EntityID& ActionResponsePdu::getReceivingID() const +{ + return _receivingID; +} + +void ActionResponsePdu::setReceivingID(const EntityID &pX) +{ + _receivingID = pX; +} + +unsigned int ActionResponsePdu::getRequestID() const +{ + return _requestID; +} + +void ActionResponsePdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +unsigned int ActionResponsePdu::getRequestStatus() const +{ + return _requestStatus; +} + +void ActionResponsePdu::setRequestStatus(unsigned int pX) +{ + _requestStatus = pX; +} + +unsigned int ActionResponsePdu::getNumberOfFixedDatumRecords() const +{ + return _fixedDatums.size(); +} + +unsigned int ActionResponsePdu::getNumberOfVariableDatumRecords() const +{ + return _variableDatums.size(); +} + +std::vector& ActionResponsePdu::getFixedDatums() +{ + return _fixedDatums; +} + +const std::vector& ActionResponsePdu::getFixedDatums() const +{ + return _fixedDatums; +} + +void ActionResponsePdu::setFixedDatums(const std::vector& pX) +{ + _fixedDatums = pX; +} + +std::vector& ActionResponsePdu::getVariableDatums() +{ + return _variableDatums; +} + +const std::vector& ActionResponsePdu::getVariableDatums() const +{ + return _variableDatums; +} + +void ActionResponsePdu::setVariableDatums(const std::vector& pX) +{ + _variableDatums = pX; +} + +void ActionResponsePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _originatingID.marshal(dataStream); + _receivingID.marshal(dataStream); + dataStream << _requestID; + dataStream << _requestStatus; + dataStream << ( unsigned int )_fixedDatums.size(); + dataStream << ( unsigned int )_variableDatums.size(); + + for(size_t idx = 0; idx < _fixedDatums.size(); idx++) + { + FixedDatum x = _fixedDatums[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { + VariableDatum x = _variableDatums[idx]; + x.marshal(dataStream); + } + +} + +void ActionResponsePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _originatingID.unmarshal(dataStream); + _receivingID.unmarshal(dataStream); + dataStream >> _requestID; + dataStream >> _requestStatus; + dataStream >> _numberOfFixedDatumRecords; + dataStream >> _numberOfVariableDatumRecords; + + _fixedDatums.clear(); + for(size_t idx = 0; idx < _numberOfFixedDatumRecords; idx++) + { + FixedDatum x; + x.unmarshal(dataStream); + _fixedDatums.push_back(x); + } + + _variableDatums.clear(); + for(size_t idx = 0; idx < _numberOfVariableDatumRecords; idx++) + { + VariableDatum x; + x.unmarshal(dataStream); + _variableDatums.push_back(x); + } +} + + +bool ActionResponsePdu::operator ==(const ActionResponsePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementFamilyPdu::operator==(rhs); + + if( ! (_originatingID == rhs._originatingID) ) ivarsEqual = false; + if( ! (_receivingID == rhs._receivingID) ) ivarsEqual = false; + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + if( ! (_requestStatus == rhs._requestStatus) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _fixedDatums.size(); idx++) + { + if( ! ( _fixedDatums[idx] == rhs._fixedDatums[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { + if( ! ( _variableDatums[idx] == rhs._variableDatums[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int ActionResponsePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _originatingID.getMarshalledSize(); // _originatingID + marshalSize = marshalSize + _receivingID.getMarshalledSize(); // _receivingID + marshalSize = marshalSize + 4; // _requestID + marshalSize = marshalSize + 4; // _requestStatus + marshalSize = marshalSize + 4; // _numberOfFixedDatumRecords + marshalSize = marshalSize + 4; // _numberOfVariableDatumRecords + + for(int idx=0; idx < _fixedDatums.size(); idx++) + { + FixedDatum listElement = _fixedDatums[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _variableDatums.size(); idx++) + { + VariableDatum listElement = _variableDatums[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ActionResponsePdu.h b/cpp/DIS7/ActionResponsePdu.h new file mode 100644 index 00000000..43e15176 --- /dev/null +++ b/cpp/DIS7/ActionResponsePdu.h @@ -0,0 +1,120 @@ +#ifndef ACTIONRESPONSEPDU_H +#define ACTIONRESPONSEPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 7.5.8. response to an action request PDU. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ActionResponsePdu : public SimulationManagementFamilyPdu +{ +protected: + /** Identifier for originating entity(or simulation) */ + EntityID _originatingID; + + /** Identifier for the receiving entity(or simulation) */ + EntityID _receivingID; + + /** Request ID that is unique */ + unsigned int _requestID; + + /** Status of response */ + unsigned int _requestStatus; + + /** Number of fixed datum records */ + unsigned int _numberOfFixedDatumRecords; + + /** Number of variable datum records */ + unsigned int _numberOfVariableDatumRecords; + + /** variable length list of fixed datums */ + std::vector _fixedDatums; + + /** variable length list of variable length datums */ + std::vector _variableDatums; + + + public: + ActionResponsePdu(); + virtual ~ActionResponsePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getOriginatingID(); + const EntityID& getOriginatingID() const; + void setOriginatingID(const EntityID &pX); + + EntityID& getReceivingID(); + const EntityID& getReceivingID() const; + void setReceivingID(const EntityID &pX); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + unsigned int getRequestStatus() const; + void setRequestStatus(unsigned int pX); + + unsigned int getNumberOfFixedDatumRecords() const; + + unsigned int getNumberOfVariableDatumRecords() const; + + std::vector& getFixedDatums(); + const std::vector& getFixedDatums() const; + void setFixedDatums(const std::vector& pX); + + std::vector& getVariableDatums(); + const std::vector& getVariableDatums() const; + void setVariableDatums(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ActionResponsePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ActionResponseReliablePdu.cpp b/cpp/DIS7/ActionResponseReliablePdu.cpp new file mode 100644 index 00000000..2bb14f03 --- /dev/null +++ b/cpp/DIS7/ActionResponseReliablePdu.cpp @@ -0,0 +1,209 @@ +#include + +using namespace DIS; + + +ActionResponseReliablePdu::ActionResponseReliablePdu() : SimulationManagementWithReliabilityFamilyPdu(), + _requestID(0), + _responseStatus(0), + _numberOfFixedDatumRecords(0), + _numberOfVariableDatumRecords(0) +{ + setPduType( 57 ); +} + +ActionResponseReliablePdu::~ActionResponseReliablePdu() +{ + _fixedDatumRecords.clear(); + _variableDatumRecords.clear(); +} + +unsigned int ActionResponseReliablePdu::getRequestID() const +{ + return _requestID; +} + +void ActionResponseReliablePdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +unsigned int ActionResponseReliablePdu::getResponseStatus() const +{ + return _responseStatus; +} + +void ActionResponseReliablePdu::setResponseStatus(unsigned int pX) +{ + _responseStatus = pX; +} + +unsigned int ActionResponseReliablePdu::getNumberOfFixedDatumRecords() const +{ + return _fixedDatumRecords.size(); +} + +unsigned int ActionResponseReliablePdu::getNumberOfVariableDatumRecords() const +{ + return _variableDatumRecords.size(); +} + +std::vector& ActionResponseReliablePdu::getFixedDatumRecords() +{ + return _fixedDatumRecords; +} + +const std::vector& ActionResponseReliablePdu::getFixedDatumRecords() const +{ + return _fixedDatumRecords; +} + +void ActionResponseReliablePdu::setFixedDatumRecords(const std::vector& pX) +{ + _fixedDatumRecords = pX; +} + +std::vector& ActionResponseReliablePdu::getVariableDatumRecords() +{ + return _variableDatumRecords; +} + +const std::vector& ActionResponseReliablePdu::getVariableDatumRecords() const +{ + return _variableDatumRecords; +} + +void ActionResponseReliablePdu::setVariableDatumRecords(const std::vector& pX) +{ + _variableDatumRecords = pX; +} + +void ActionResponseReliablePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementWithReliabilityFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _requestID; + dataStream << _responseStatus; + dataStream << ( unsigned int )_fixedDatumRecords.size(); + dataStream << ( unsigned int )_variableDatumRecords.size(); + + for(size_t idx = 0; idx < _fixedDatumRecords.size(); idx++) + { + FixedDatum x = _fixedDatumRecords[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _variableDatumRecords.size(); idx++) + { + VariableDatum x = _variableDatumRecords[idx]; + x.marshal(dataStream); + } + +} + +void ActionResponseReliablePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementWithReliabilityFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _requestID; + dataStream >> _responseStatus; + dataStream >> _numberOfFixedDatumRecords; + dataStream >> _numberOfVariableDatumRecords; + + _fixedDatumRecords.clear(); + for(size_t idx = 0; idx < _numberOfFixedDatumRecords; idx++) + { + FixedDatum x; + x.unmarshal(dataStream); + _fixedDatumRecords.push_back(x); + } + + _variableDatumRecords.clear(); + for(size_t idx = 0; idx < _numberOfVariableDatumRecords; idx++) + { + VariableDatum x; + x.unmarshal(dataStream); + _variableDatumRecords.push_back(x); + } +} + + +bool ActionResponseReliablePdu::operator ==(const ActionResponseReliablePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementWithReliabilityFamilyPdu::operator==(rhs); + + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + if( ! (_responseStatus == rhs._responseStatus) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _fixedDatumRecords.size(); idx++) + { + if( ! ( _fixedDatumRecords[idx] == rhs._fixedDatumRecords[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _variableDatumRecords.size(); idx++) + { + if( ! ( _variableDatumRecords[idx] == rhs._variableDatumRecords[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int ActionResponseReliablePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementWithReliabilityFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 4; // _requestID + marshalSize = marshalSize + 4; // _responseStatus + marshalSize = marshalSize + 4; // _numberOfFixedDatumRecords + marshalSize = marshalSize + 4; // _numberOfVariableDatumRecords + + for(int idx=0; idx < _fixedDatumRecords.size(); idx++) + { + FixedDatum listElement = _fixedDatumRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _variableDatumRecords.size(); idx++) + { + VariableDatum listElement = _variableDatumRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ActionResponseReliablePdu.h b/cpp/DIS7/ActionResponseReliablePdu.h new file mode 100644 index 00000000..b60b45c3 --- /dev/null +++ b/cpp/DIS7/ActionResponseReliablePdu.h @@ -0,0 +1,104 @@ +#ifndef ACTIONRESPONSERELIABLEPDU_H +#define ACTIONRESPONSERELIABLEPDU_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.12.7: Response from an entity to an action request PDU. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ActionResponseReliablePdu : public SimulationManagementWithReliabilityFamilyPdu +{ +protected: + /** request ID */ + unsigned int _requestID; + + /** status of response */ + unsigned int _responseStatus; + + /** Fixed datum record count */ + unsigned int _numberOfFixedDatumRecords; + + /** variable datum record count */ + unsigned int _numberOfVariableDatumRecords; + + /** Fixed datum records */ + std::vector _fixedDatumRecords; + + /** Variable datum records */ + std::vector _variableDatumRecords; + + + public: + ActionResponseReliablePdu(); + virtual ~ActionResponseReliablePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + unsigned int getResponseStatus() const; + void setResponseStatus(unsigned int pX); + + unsigned int getNumberOfFixedDatumRecords() const; + + unsigned int getNumberOfVariableDatumRecords() const; + + std::vector& getFixedDatumRecords(); + const std::vector& getFixedDatumRecords() const; + void setFixedDatumRecords(const std::vector& pX); + + std::vector& getVariableDatumRecords(); + const std::vector& getVariableDatumRecords() const; + void setVariableDatumRecords(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ActionResponseReliablePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/AggregateIdentifier.cpp b/cpp/DIS7/AggregateIdentifier.cpp new file mode 100644 index 00000000..2210f4e4 --- /dev/null +++ b/cpp/DIS7/AggregateIdentifier.cpp @@ -0,0 +1,102 @@ +#include + +using namespace DIS; + + +AggregateIdentifier::AggregateIdentifier(): + _simulationAddress(), + _aggregateID(0) +{ +} + +AggregateIdentifier::~AggregateIdentifier() +{ +} + +SimulationAddress& AggregateIdentifier::getSimulationAddress() +{ + return _simulationAddress; +} + +const SimulationAddress& AggregateIdentifier::getSimulationAddress() const +{ + return _simulationAddress; +} + +void AggregateIdentifier::setSimulationAddress(const SimulationAddress &pX) +{ + _simulationAddress = pX; +} + +unsigned short AggregateIdentifier::getAggregateID() const +{ + return _aggregateID; +} + +void AggregateIdentifier::setAggregateID(unsigned short pX) +{ + _aggregateID = pX; +} + +void AggregateIdentifier::marshal(DataStream& dataStream) const +{ + _simulationAddress.marshal(dataStream); + dataStream << _aggregateID; +} + +void AggregateIdentifier::unmarshal(DataStream& dataStream) +{ + _simulationAddress.unmarshal(dataStream); + dataStream >> _aggregateID; +} + + +bool AggregateIdentifier::operator ==(const AggregateIdentifier& rhs) const + { + bool ivarsEqual = true; + + if( ! (_simulationAddress == rhs._simulationAddress) ) ivarsEqual = false; + if( ! (_aggregateID == rhs._aggregateID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int AggregateIdentifier::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _simulationAddress.getMarshalledSize(); // _simulationAddress + marshalSize = marshalSize + 2; // _aggregateID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/AggregateIdentifier.h b/cpp/DIS7/AggregateIdentifier.h new file mode 100644 index 00000000..ab196096 --- /dev/null +++ b/cpp/DIS7/AggregateIdentifier.h @@ -0,0 +1,78 @@ +#ifndef AGGREGATEIDENTIFIER_H +#define AGGREGATEIDENTIFIER_H + +#include +#include +#include + + +namespace DIS +{ +// The unique designation of each aggrgate in an exercise is specified by an aggregate identifier record. The aggregate ID is not an entity and shall not be treated as such. Section 6.2.3. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO AggregateIdentifier +{ +protected: + /** Simulation address, ie site and application, the first two fields of the entity ID */ + SimulationAddress _simulationAddress; + + /** the aggregate ID */ + unsigned short _aggregateID; + + + public: + AggregateIdentifier(); + virtual ~AggregateIdentifier(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + SimulationAddress& getSimulationAddress(); + const SimulationAddress& getSimulationAddress() const; + void setSimulationAddress(const SimulationAddress &pX); + + unsigned short getAggregateID() const; + void setAggregateID(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const AggregateIdentifier& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/AggregateMarking.cpp b/cpp/DIS7/AggregateMarking.cpp new file mode 100644 index 00000000..0fd33308 --- /dev/null +++ b/cpp/DIS7/AggregateMarking.cpp @@ -0,0 +1,125 @@ +#include + +using namespace DIS; + + +AggregateMarking::AggregateMarking(): + _characterSet(0) +{ + // Initialize fixed length array + for(int lengthcharacters= 0; lengthcharacters < 31; lengthcharacters++) + { + _characters[lengthcharacters] = 0; + } + +} + +AggregateMarking::~AggregateMarking() +{ +} + +unsigned char AggregateMarking::getCharacterSet() const +{ + return _characterSet; +} + +void AggregateMarking::setCharacterSet(unsigned char pX) +{ + _characterSet = pX; +} + +unsigned char* AggregateMarking::getCharacters() +{ + return _characters; +} + +const unsigned char* AggregateMarking::getCharacters() const +{ + return _characters; +} + +void AggregateMarking::setCharacters(const unsigned char* x) +{ + for(int i = 0; i < 31; i++) + { + _characters[i] = x[i]; + } +} + +void AggregateMarking::marshal(DataStream& dataStream) const +{ + dataStream << _characterSet; + + for(size_t idx = 0; idx < 31; idx++) + { + dataStream << _characters[idx]; + } + +} + +void AggregateMarking::unmarshal(DataStream& dataStream) +{ + dataStream >> _characterSet; + + for(size_t idx = 0; idx < 31; idx++) + { + dataStream >> _characters[idx]; + } + +} + + +bool AggregateMarking::operator ==(const AggregateMarking& rhs) const + { + bool ivarsEqual = true; + + if( ! (_characterSet == rhs._characterSet) ) ivarsEqual = false; + + for(unsigned char idx = 0; idx < 31; idx++) + { + if(!(_characters[idx] == rhs._characters[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int AggregateMarking::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _characterSet + marshalSize = marshalSize + 31 * 1; // _characters + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/AggregateMarking.h b/cpp/DIS7/AggregateMarking.h new file mode 100644 index 00000000..94686eca --- /dev/null +++ b/cpp/DIS7/AggregateMarking.h @@ -0,0 +1,77 @@ +#ifndef AGGREGATEMARKING_H +#define AGGREGATEMARKING_H + +#include +#include + + +namespace DIS +{ +// Specifies the character set used in the first byte, followed by up to 31 characters of text data. Section 6.2.4. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO AggregateMarking +{ +protected: + /** The character set */ + unsigned char _characterSet; + + /** The characters */ + unsigned char _characters[31]; + + + public: + AggregateMarking(); + virtual ~AggregateMarking(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getCharacterSet() const; + void setCharacterSet(unsigned char pX); + + unsigned char* getCharacters(); + const unsigned char* getCharacters() const; + void setCharacters( const unsigned char* pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const AggregateMarking& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/AggregateType.cpp b/cpp/DIS7/AggregateType.cpp new file mode 100644 index 00000000..6c1151ea --- /dev/null +++ b/cpp/DIS7/AggregateType.cpp @@ -0,0 +1,172 @@ +#include + +using namespace DIS; + + +AggregateType::AggregateType(): + _aggregateKind(0), + _domain(0), + _country(0), + _category(0), + _subcategory(0), + _specific(0), + _extra(0) +{ +} + +AggregateType::~AggregateType() +{ +} + +unsigned char AggregateType::getAggregateKind() const +{ + return _aggregateKind; +} + +void AggregateType::setAggregateKind(unsigned char pX) +{ + _aggregateKind = pX; +} + +unsigned char AggregateType::getDomain() const +{ + return _domain; +} + +void AggregateType::setDomain(unsigned char pX) +{ + _domain = pX; +} + +unsigned short AggregateType::getCountry() const +{ + return _country; +} + +void AggregateType::setCountry(unsigned short pX) +{ + _country = pX; +} + +unsigned char AggregateType::getCategory() const +{ + return _category; +} + +void AggregateType::setCategory(unsigned char pX) +{ + _category = pX; +} + +unsigned char AggregateType::getSubcategory() const +{ + return _subcategory; +} + +void AggregateType::setSubcategory(unsigned char pX) +{ + _subcategory = pX; +} + +unsigned char AggregateType::getSpecific() const +{ + return _specific; +} + +void AggregateType::setSpecific(unsigned char pX) +{ + _specific = pX; +} + +unsigned char AggregateType::getExtra() const +{ + return _extra; +} + +void AggregateType::setExtra(unsigned char pX) +{ + _extra = pX; +} + +void AggregateType::marshal(DataStream& dataStream) const +{ + dataStream << _aggregateKind; + dataStream << _domain; + dataStream << _country; + dataStream << _category; + dataStream << _subcategory; + dataStream << _specific; + dataStream << _extra; +} + +void AggregateType::unmarshal(DataStream& dataStream) +{ + dataStream >> _aggregateKind; + dataStream >> _domain; + dataStream >> _country; + dataStream >> _category; + dataStream >> _subcategory; + dataStream >> _specific; + dataStream >> _extra; +} + + +bool AggregateType::operator ==(const AggregateType& rhs) const + { + bool ivarsEqual = true; + + if( ! (_aggregateKind == rhs._aggregateKind) ) ivarsEqual = false; + if( ! (_domain == rhs._domain) ) ivarsEqual = false; + if( ! (_country == rhs._country) ) ivarsEqual = false; + if( ! (_category == rhs._category) ) ivarsEqual = false; + if( ! (_subcategory == rhs._subcategory) ) ivarsEqual = false; + if( ! (_specific == rhs._specific) ) ivarsEqual = false; + if( ! (_extra == rhs._extra) ) ivarsEqual = false; + + return ivarsEqual; + } + +int AggregateType::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _aggregateKind + marshalSize = marshalSize + 1; // _domain + marshalSize = marshalSize + 2; // _country + marshalSize = marshalSize + 1; // _category + marshalSize = marshalSize + 1; // _subcategory + marshalSize = marshalSize + 1; // _specific + marshalSize = marshalSize + 1; // _extra + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/AggregateType.h b/cpp/DIS7/AggregateType.h new file mode 100644 index 00000000..28e17d4c --- /dev/null +++ b/cpp/DIS7/AggregateType.h @@ -0,0 +1,105 @@ +#ifndef AGGREGATETYPE_H +#define AGGREGATETYPE_H + +#include +#include + + +namespace DIS +{ +// Identifies the type and organization of an aggregate. Section 6.2.5 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO AggregateType +{ +protected: + /** Grouping criterion used to group the aggregate. Enumeration from EBV document */ + unsigned char _aggregateKind; + + /** Domain of entity (air, surface, subsurface, space, etc) Zero means domain does not apply. */ + unsigned char _domain; + + /** country to which the design of the entity is attributed */ + unsigned short _country; + + /** category of entity */ + unsigned char _category; + + /** subcategory of entity */ + unsigned char _subcategory; + + /** specific info based on subcategory field */ + unsigned char _specific; + + unsigned char _extra; + + + public: + AggregateType(); + virtual ~AggregateType(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getAggregateKind() const; + void setAggregateKind(unsigned char pX); + + unsigned char getDomain() const; + void setDomain(unsigned char pX); + + unsigned short getCountry() const; + void setCountry(unsigned short pX); + + unsigned char getCategory() const; + void setCategory(unsigned char pX); + + unsigned char getSubcategory() const; + void setSubcategory(unsigned char pX); + + unsigned char getSpecific() const; + void setSpecific(unsigned char pX); + + unsigned char getExtra() const; + void setExtra(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const AggregateType& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/AngleDeception.cpp b/cpp/DIS7/AngleDeception.cpp new file mode 100644 index 00000000..147f48b8 --- /dev/null +++ b/cpp/DIS7/AngleDeception.cpp @@ -0,0 +1,307 @@ +#include + +using namespace DIS; + + +AngleDeception::AngleDeception(): + _recordType(3501), + _recordLength(48), + _padding(0), + _emitterNumber(0), + _beamNumber(0), + _stateIndicator(0), + _padding2(0), + _azimuthOffset(0.0), + _azimuthWidth(0.0), + _azimuthPullRate(0.0), + _azimuthPullAcceleration(0.0), + _elevationOffset(0.0), + _elevationWidth(0.0), + _elevationPullRate(0.0), + _elevationPullAcceleration(0.0), + _padding3(0) +{ +} + +AngleDeception::~AngleDeception() +{ +} + +unsigned int AngleDeception::getRecordType() const +{ + return _recordType; +} + +void AngleDeception::setRecordType(unsigned int pX) +{ + _recordType = pX; +} + +unsigned short AngleDeception::getRecordLength() const +{ + return _recordLength; +} + +void AngleDeception::setRecordLength(unsigned short pX) +{ + _recordLength = pX; +} + +unsigned short AngleDeception::getPadding() const +{ + return _padding; +} + +void AngleDeception::setPadding(unsigned short pX) +{ + _padding = pX; +} + +unsigned char AngleDeception::getEmitterNumber() const +{ + return _emitterNumber; +} + +void AngleDeception::setEmitterNumber(unsigned char pX) +{ + _emitterNumber = pX; +} + +unsigned char AngleDeception::getBeamNumber() const +{ + return _beamNumber; +} + +void AngleDeception::setBeamNumber(unsigned char pX) +{ + _beamNumber = pX; +} + +unsigned char AngleDeception::getStateIndicator() const +{ + return _stateIndicator; +} + +void AngleDeception::setStateIndicator(unsigned char pX) +{ + _stateIndicator = pX; +} + +unsigned int AngleDeception::getPadding2() const +{ + return _padding2; +} + +void AngleDeception::setPadding2(unsigned int pX) +{ + _padding2 = pX; +} + +float AngleDeception::getAzimuthOffset() const +{ + return _azimuthOffset; +} + +void AngleDeception::setAzimuthOffset(float pX) +{ + _azimuthOffset = pX; +} + +float AngleDeception::getAzimuthWidth() const +{ + return _azimuthWidth; +} + +void AngleDeception::setAzimuthWidth(float pX) +{ + _azimuthWidth = pX; +} + +float AngleDeception::getAzimuthPullRate() const +{ + return _azimuthPullRate; +} + +void AngleDeception::setAzimuthPullRate(float pX) +{ + _azimuthPullRate = pX; +} + +float AngleDeception::getAzimuthPullAcceleration() const +{ + return _azimuthPullAcceleration; +} + +void AngleDeception::setAzimuthPullAcceleration(float pX) +{ + _azimuthPullAcceleration = pX; +} + +float AngleDeception::getElevationOffset() const +{ + return _elevationOffset; +} + +void AngleDeception::setElevationOffset(float pX) +{ + _elevationOffset = pX; +} + +float AngleDeception::getElevationWidth() const +{ + return _elevationWidth; +} + +void AngleDeception::setElevationWidth(float pX) +{ + _elevationWidth = pX; +} + +float AngleDeception::getElevationPullRate() const +{ + return _elevationPullRate; +} + +void AngleDeception::setElevationPullRate(float pX) +{ + _elevationPullRate = pX; +} + +float AngleDeception::getElevationPullAcceleration() const +{ + return _elevationPullAcceleration; +} + +void AngleDeception::setElevationPullAcceleration(float pX) +{ + _elevationPullAcceleration = pX; +} + +unsigned int AngleDeception::getPadding3() const +{ + return _padding3; +} + +void AngleDeception::setPadding3(unsigned int pX) +{ + _padding3 = pX; +} + +void AngleDeception::marshal(DataStream& dataStream) const +{ + dataStream << _recordType; + dataStream << _recordLength; + dataStream << _padding; + dataStream << _emitterNumber; + dataStream << _beamNumber; + dataStream << _stateIndicator; + dataStream << _padding2; + dataStream << _azimuthOffset; + dataStream << _azimuthWidth; + dataStream << _azimuthPullRate; + dataStream << _azimuthPullAcceleration; + dataStream << _elevationOffset; + dataStream << _elevationWidth; + dataStream << _elevationPullRate; + dataStream << _elevationPullAcceleration; + dataStream << _padding3; +} + +void AngleDeception::unmarshal(DataStream& dataStream) +{ + dataStream >> _recordType; + dataStream >> _recordLength; + dataStream >> _padding; + dataStream >> _emitterNumber; + dataStream >> _beamNumber; + dataStream >> _stateIndicator; + dataStream >> _padding2; + dataStream >> _azimuthOffset; + dataStream >> _azimuthWidth; + dataStream >> _azimuthPullRate; + dataStream >> _azimuthPullAcceleration; + dataStream >> _elevationOffset; + dataStream >> _elevationWidth; + dataStream >> _elevationPullRate; + dataStream >> _elevationPullAcceleration; + dataStream >> _padding3; +} + + +bool AngleDeception::operator ==(const AngleDeception& rhs) const + { + bool ivarsEqual = true; + + if( ! (_recordType == rhs._recordType) ) ivarsEqual = false; + if( ! (_recordLength == rhs._recordLength) ) ivarsEqual = false; + if( ! (_padding == rhs._padding) ) ivarsEqual = false; + if( ! (_emitterNumber == rhs._emitterNumber) ) ivarsEqual = false; + if( ! (_beamNumber == rhs._beamNumber) ) ivarsEqual = false; + if( ! (_stateIndicator == rhs._stateIndicator) ) ivarsEqual = false; + if( ! (_padding2 == rhs._padding2) ) ivarsEqual = false; + if( ! (_azimuthOffset == rhs._azimuthOffset) ) ivarsEqual = false; + if( ! (_azimuthWidth == rhs._azimuthWidth) ) ivarsEqual = false; + if( ! (_azimuthPullRate == rhs._azimuthPullRate) ) ivarsEqual = false; + if( ! (_azimuthPullAcceleration == rhs._azimuthPullAcceleration) ) ivarsEqual = false; + if( ! (_elevationOffset == rhs._elevationOffset) ) ivarsEqual = false; + if( ! (_elevationWidth == rhs._elevationWidth) ) ivarsEqual = false; + if( ! (_elevationPullRate == rhs._elevationPullRate) ) ivarsEqual = false; + if( ! (_elevationPullAcceleration == rhs._elevationPullAcceleration) ) ivarsEqual = false; + if( ! (_padding3 == rhs._padding3) ) ivarsEqual = false; + + return ivarsEqual; + } + +int AngleDeception::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _recordType + marshalSize = marshalSize + 2; // _recordLength + marshalSize = marshalSize + 2; // _padding + marshalSize = marshalSize + 1; // _emitterNumber + marshalSize = marshalSize + 1; // _beamNumber + marshalSize = marshalSize + 1; // _stateIndicator + marshalSize = marshalSize + 4; // _padding2 + marshalSize = marshalSize + 4; // _azimuthOffset + marshalSize = marshalSize + 4; // _azimuthWidth + marshalSize = marshalSize + 4; // _azimuthPullRate + marshalSize = marshalSize + 4; // _azimuthPullAcceleration + marshalSize = marshalSize + 4; // _elevationOffset + marshalSize = marshalSize + 4; // _elevationWidth + marshalSize = marshalSize + 4; // _elevationPullRate + marshalSize = marshalSize + 4; // _elevationPullAcceleration + marshalSize = marshalSize + 4; // _padding3 + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/AngleDeception.h b/cpp/DIS7/AngleDeception.h new file mode 100644 index 00000000..b4667192 --- /dev/null +++ b/cpp/DIS7/AngleDeception.h @@ -0,0 +1,144 @@ +#ifndef ANGLEDECEPTION_H +#define ANGLEDECEPTION_H + +#include +#include + + +namespace DIS +{ +// The Angle Deception attribute record may be used to communicate discrete values that are associated with angle deception jamming that cannot be referenced to an emitter mode. The values provided in the record records (provided in the associated Electromagnetic Emission PDU). (The victim radar beams are those that are targeted by the jammer.) Section 6.2.12.2 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO AngleDeception +{ +protected: + unsigned int _recordType; + + unsigned short _recordLength; + + unsigned short _padding; + + unsigned char _emitterNumber; + + unsigned char _beamNumber; + + unsigned char _stateIndicator; + + unsigned int _padding2; + + float _azimuthOffset; + + float _azimuthWidth; + + float _azimuthPullRate; + + float _azimuthPullAcceleration; + + float _elevationOffset; + + float _elevationWidth; + + float _elevationPullRate; + + float _elevationPullAcceleration; + + unsigned int _padding3; + + + public: + AngleDeception(); + virtual ~AngleDeception(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getRecordType() const; + void setRecordType(unsigned int pX); + + unsigned short getRecordLength() const; + void setRecordLength(unsigned short pX); + + unsigned short getPadding() const; + void setPadding(unsigned short pX); + + unsigned char getEmitterNumber() const; + void setEmitterNumber(unsigned char pX); + + unsigned char getBeamNumber() const; + void setBeamNumber(unsigned char pX); + + unsigned char getStateIndicator() const; + void setStateIndicator(unsigned char pX); + + unsigned int getPadding2() const; + void setPadding2(unsigned int pX); + + float getAzimuthOffset() const; + void setAzimuthOffset(float pX); + + float getAzimuthWidth() const; + void setAzimuthWidth(float pX); + + float getAzimuthPullRate() const; + void setAzimuthPullRate(float pX); + + float getAzimuthPullAcceleration() const; + void setAzimuthPullAcceleration(float pX); + + float getElevationOffset() const; + void setElevationOffset(float pX); + + float getElevationWidth() const; + void setElevationWidth(float pX); + + float getElevationPullRate() const; + void setElevationPullRate(float pX); + + float getElevationPullAcceleration() const; + void setElevationPullAcceleration(float pX); + + unsigned int getPadding3() const; + void setPadding3(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const AngleDeception& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/AngularVelocityVector.cpp b/cpp/DIS7/AngularVelocityVector.cpp new file mode 100644 index 00000000..46a7b0bf --- /dev/null +++ b/cpp/DIS7/AngularVelocityVector.cpp @@ -0,0 +1,112 @@ +#include + +using namespace DIS; + + +AngularVelocityVector::AngularVelocityVector(): + _x(0), + _y(0), + _z(0) +{ +} + +AngularVelocityVector::~AngularVelocityVector() +{ +} + +float AngularVelocityVector::getX() const +{ + return _x; +} + +void AngularVelocityVector::setX(float pX) +{ + _x = pX; +} + +float AngularVelocityVector::getY() const +{ + return _y; +} + +void AngularVelocityVector::setY(float pX) +{ + _y = pX; +} + +float AngularVelocityVector::getZ() const +{ + return _z; +} + +void AngularVelocityVector::setZ(float pX) +{ + _z = pX; +} + +void AngularVelocityVector::marshal(DataStream& dataStream) const +{ + dataStream << _x; + dataStream << _y; + dataStream << _z; +} + +void AngularVelocityVector::unmarshal(DataStream& dataStream) +{ + dataStream >> _x; + dataStream >> _y; + dataStream >> _z; +} + + +bool AngularVelocityVector::operator ==(const AngularVelocityVector& rhs) const + { + bool ivarsEqual = true; + + if( ! (_x == rhs._x) ) ivarsEqual = false; + if( ! (_y == rhs._y) ) ivarsEqual = false; + if( ! (_z == rhs._z) ) ivarsEqual = false; + + return ivarsEqual; + } + +int AngularVelocityVector::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _x + marshalSize = marshalSize + 4; // _y + marshalSize = marshalSize + 4; // _z + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/AngularVelocityVector.h b/cpp/DIS7/AngularVelocityVector.h new file mode 100644 index 00000000..4915a097 --- /dev/null +++ b/cpp/DIS7/AngularVelocityVector.h @@ -0,0 +1,82 @@ +#ifndef ANGULARVELOCITYVECTOR_H +#define ANGULARVELOCITYVECTOR_H + +#include +#include + + +namespace DIS +{ +// Angular velocity measured in radians per second out each of the entity's own coordinate axes. Order of measurement is angular velocity around the x, y, and z axis of the entity. The positive direction is determined by the right hand rule. Section 6.2.7 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO AngularVelocityVector +{ +protected: + /** velocity about the x axis */ + float _x; + + /** velocity about the y axis */ + float _y; + + /** velocity about the zaxis */ + float _z; + + + public: + AngularVelocityVector(); + virtual ~AngularVelocityVector(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + float getX() const; + void setX(float pX); + + float getY() const; + void setY(float pX); + + float getZ() const; + void setZ(float pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const AngularVelocityVector& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/AntennaLocation.cpp b/cpp/DIS7/AntennaLocation.cpp new file mode 100644 index 00000000..08847538 --- /dev/null +++ b/cpp/DIS7/AntennaLocation.cpp @@ -0,0 +1,107 @@ +#include + +using namespace DIS; + + +AntennaLocation::AntennaLocation(): + _antennaLocation(), + _relativeAntennaLocation() +{ +} + +AntennaLocation::~AntennaLocation() +{ +} + +Vector3Double& AntennaLocation::getAntennaLocation() +{ + return _antennaLocation; +} + +const Vector3Double& AntennaLocation::getAntennaLocation() const +{ + return _antennaLocation; +} + +void AntennaLocation::setAntennaLocation(const Vector3Double &pX) +{ + _antennaLocation = pX; +} + +Vector3Float& AntennaLocation::getRelativeAntennaLocation() +{ + return _relativeAntennaLocation; +} + +const Vector3Float& AntennaLocation::getRelativeAntennaLocation() const +{ + return _relativeAntennaLocation; +} + +void AntennaLocation::setRelativeAntennaLocation(const Vector3Float &pX) +{ + _relativeAntennaLocation = pX; +} + +void AntennaLocation::marshal(DataStream& dataStream) const +{ + _antennaLocation.marshal(dataStream); + _relativeAntennaLocation.marshal(dataStream); +} + +void AntennaLocation::unmarshal(DataStream& dataStream) +{ + _antennaLocation.unmarshal(dataStream); + _relativeAntennaLocation.unmarshal(dataStream); +} + + +bool AntennaLocation::operator ==(const AntennaLocation& rhs) const + { + bool ivarsEqual = true; + + if( ! (_antennaLocation == rhs._antennaLocation) ) ivarsEqual = false; + if( ! (_relativeAntennaLocation == rhs._relativeAntennaLocation) ) ivarsEqual = false; + + return ivarsEqual; + } + +int AntennaLocation::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _antennaLocation.getMarshalledSize(); // _antennaLocation + marshalSize = marshalSize + _relativeAntennaLocation.getMarshalledSize(); // _relativeAntennaLocation + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/AntennaLocation.h b/cpp/DIS7/AntennaLocation.h new file mode 100644 index 00000000..29283bbc --- /dev/null +++ b/cpp/DIS7/AntennaLocation.h @@ -0,0 +1,80 @@ +#ifndef ANTENNALOCATION_H +#define ANTENNALOCATION_H + +#include +#include +#include +#include + + +namespace DIS +{ +// Location of the radiating portion of the antenna, specified in world coordinates and entity coordinates. Section 6.2.8 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO AntennaLocation +{ +protected: + /** Location of the radiating portion of the antenna in world coordinates */ + Vector3Double _antennaLocation; + + /** Location of the radiating portion of the antenna in entity coordinates */ + Vector3Float _relativeAntennaLocation; + + + public: + AntennaLocation(); + virtual ~AntennaLocation(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + Vector3Double& getAntennaLocation(); + const Vector3Double& getAntennaLocation() const; + void setAntennaLocation(const Vector3Double &pX); + + Vector3Float& getRelativeAntennaLocation(); + const Vector3Float& getRelativeAntennaLocation() const; + void setRelativeAntennaLocation(const Vector3Float &pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const AntennaLocation& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ArealObjectStatePdu.cpp b/cpp/DIS7/ArealObjectStatePdu.cpp new file mode 100644 index 00000000..2768259d --- /dev/null +++ b/cpp/DIS7/ArealObjectStatePdu.cpp @@ -0,0 +1,301 @@ +#include + +using namespace DIS; + + +ArealObjectStatePdu::ArealObjectStatePdu() : SyntheticEnvironmentFamilyPdu(), + _objectID(), + _referencedObjectID(), + _updateNumber(0), + _forceID(0), + _modifications(0), + _objectType(), + _specificObjectAppearance(0), + _generalObjectAppearance(0), + _numberOfPoints(0), + _requesterID(), + _receivingID() +{ + setPduType( 45 ); +} + +ArealObjectStatePdu::~ArealObjectStatePdu() +{ + _objectLocation.clear(); +} + +EntityID& ArealObjectStatePdu::getObjectID() +{ + return _objectID; +} + +const EntityID& ArealObjectStatePdu::getObjectID() const +{ + return _objectID; +} + +void ArealObjectStatePdu::setObjectID(const EntityID &pX) +{ + _objectID = pX; +} + +EntityID& ArealObjectStatePdu::getReferencedObjectID() +{ + return _referencedObjectID; +} + +const EntityID& ArealObjectStatePdu::getReferencedObjectID() const +{ + return _referencedObjectID; +} + +void ArealObjectStatePdu::setReferencedObjectID(const EntityID &pX) +{ + _referencedObjectID = pX; +} + +unsigned short ArealObjectStatePdu::getUpdateNumber() const +{ + return _updateNumber; +} + +void ArealObjectStatePdu::setUpdateNumber(unsigned short pX) +{ + _updateNumber = pX; +} + +unsigned char ArealObjectStatePdu::getForceID() const +{ + return _forceID; +} + +void ArealObjectStatePdu::setForceID(unsigned char pX) +{ + _forceID = pX; +} + +unsigned char ArealObjectStatePdu::getModifications() const +{ + return _modifications; +} + +void ArealObjectStatePdu::setModifications(unsigned char pX) +{ + _modifications = pX; +} + +EntityType& ArealObjectStatePdu::getObjectType() +{ + return _objectType; +} + +const EntityType& ArealObjectStatePdu::getObjectType() const +{ + return _objectType; +} + +void ArealObjectStatePdu::setObjectType(const EntityType &pX) +{ + _objectType = pX; +} + +unsigned int ArealObjectStatePdu::getSpecificObjectAppearance() const +{ + return _specificObjectAppearance; +} + +void ArealObjectStatePdu::setSpecificObjectAppearance(unsigned int pX) +{ + _specificObjectAppearance = pX; +} + +unsigned short ArealObjectStatePdu::getGeneralObjectAppearance() const +{ + return _generalObjectAppearance; +} + +void ArealObjectStatePdu::setGeneralObjectAppearance(unsigned short pX) +{ + _generalObjectAppearance = pX; +} + +unsigned short ArealObjectStatePdu::getNumberOfPoints() const +{ + return _objectLocation.size(); +} + +SimulationAddress& ArealObjectStatePdu::getRequesterID() +{ + return _requesterID; +} + +const SimulationAddress& ArealObjectStatePdu::getRequesterID() const +{ + return _requesterID; +} + +void ArealObjectStatePdu::setRequesterID(const SimulationAddress &pX) +{ + _requesterID = pX; +} + +SimulationAddress& ArealObjectStatePdu::getReceivingID() +{ + return _receivingID; +} + +const SimulationAddress& ArealObjectStatePdu::getReceivingID() const +{ + return _receivingID; +} + +void ArealObjectStatePdu::setReceivingID(const SimulationAddress &pX) +{ + _receivingID = pX; +} + +std::vector& ArealObjectStatePdu::getObjectLocation() +{ + return _objectLocation; +} + +const std::vector& ArealObjectStatePdu::getObjectLocation() const +{ + return _objectLocation; +} + +void ArealObjectStatePdu::setObjectLocation(const std::vector& pX) +{ + _objectLocation = pX; +} + +void ArealObjectStatePdu::marshal(DataStream& dataStream) const +{ + SyntheticEnvironmentFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _objectID.marshal(dataStream); + _referencedObjectID.marshal(dataStream); + dataStream << _updateNumber; + dataStream << _forceID; + dataStream << _modifications; + _objectType.marshal(dataStream); + dataStream << _specificObjectAppearance; + dataStream << _generalObjectAppearance; + dataStream << ( unsigned short )_objectLocation.size(); + _requesterID.marshal(dataStream); + _receivingID.marshal(dataStream); + + for(size_t idx = 0; idx < _objectLocation.size(); idx++) + { + Vector3Double x = _objectLocation[idx]; + x.marshal(dataStream); + } + +} + +void ArealObjectStatePdu::unmarshal(DataStream& dataStream) +{ + SyntheticEnvironmentFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _objectID.unmarshal(dataStream); + _referencedObjectID.unmarshal(dataStream); + dataStream >> _updateNumber; + dataStream >> _forceID; + dataStream >> _modifications; + _objectType.unmarshal(dataStream); + dataStream >> _specificObjectAppearance; + dataStream >> _generalObjectAppearance; + dataStream >> _numberOfPoints; + _requesterID.unmarshal(dataStream); + _receivingID.unmarshal(dataStream); + + _objectLocation.clear(); + for(size_t idx = 0; idx < _numberOfPoints; idx++) + { + Vector3Double x; + x.unmarshal(dataStream); + _objectLocation.push_back(x); + } +} + + +bool ArealObjectStatePdu::operator ==(const ArealObjectStatePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SyntheticEnvironmentFamilyPdu::operator==(rhs); + + if( ! (_objectID == rhs._objectID) ) ivarsEqual = false; + if( ! (_referencedObjectID == rhs._referencedObjectID) ) ivarsEqual = false; + if( ! (_updateNumber == rhs._updateNumber) ) ivarsEqual = false; + if( ! (_forceID == rhs._forceID) ) ivarsEqual = false; + if( ! (_modifications == rhs._modifications) ) ivarsEqual = false; + if( ! (_objectType == rhs._objectType) ) ivarsEqual = false; + if( ! (_specificObjectAppearance == rhs._specificObjectAppearance) ) ivarsEqual = false; + if( ! (_generalObjectAppearance == rhs._generalObjectAppearance) ) ivarsEqual = false; + if( ! (_requesterID == rhs._requesterID) ) ivarsEqual = false; + if( ! (_receivingID == rhs._receivingID) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _objectLocation.size(); idx++) + { + if( ! ( _objectLocation[idx] == rhs._objectLocation[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int ArealObjectStatePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SyntheticEnvironmentFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _objectID.getMarshalledSize(); // _objectID + marshalSize = marshalSize + _referencedObjectID.getMarshalledSize(); // _referencedObjectID + marshalSize = marshalSize + 2; // _updateNumber + marshalSize = marshalSize + 1; // _forceID + marshalSize = marshalSize + 1; // _modifications + marshalSize = marshalSize + _objectType.getMarshalledSize(); // _objectType + marshalSize = marshalSize + 4; // _specificObjectAppearance + marshalSize = marshalSize + 2; // _generalObjectAppearance + marshalSize = marshalSize + 2; // _numberOfPoints + marshalSize = marshalSize + _requesterID.getMarshalledSize(); // _requesterID + marshalSize = marshalSize + _receivingID.getMarshalledSize(); // _receivingID + + for(int idx=0; idx < _objectLocation.size(); idx++) + { + Vector3Double listElement = _objectLocation[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ArealObjectStatePdu.h b/cpp/DIS7/ArealObjectStatePdu.h new file mode 100644 index 00000000..0937458a --- /dev/null +++ b/cpp/DIS7/ArealObjectStatePdu.h @@ -0,0 +1,149 @@ +#ifndef AREALOBJECTSTATEPDU_H +#define AREALOBJECTSTATEPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Information about the addition/modification of an oobject that is geometrically anchored to the terrain with a set of three or more points that come to a closure. Section 7.10.6 COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ArealObjectStatePdu : public SyntheticEnvironmentFamilyPdu +{ +protected: + /** Object in synthetic environment */ + EntityID _objectID; + + /** Object with which this point object is associated */ + EntityID _referencedObjectID; + + /** unique update number of each state transition of an object */ + unsigned short _updateNumber; + + /** force ID */ + unsigned char _forceID; + + /** modifications enumeration */ + unsigned char _modifications; + + /** Object type */ + EntityType _objectType; + + /** Object appearance */ + unsigned int _specificObjectAppearance; + + /** Object appearance */ + unsigned short _generalObjectAppearance; + + /** Number of points */ + unsigned short _numberOfPoints; + + /** requesterID */ + SimulationAddress _requesterID; + + /** receiver ID */ + SimulationAddress _receivingID; + + /** location of object */ + std::vector _objectLocation; + + + public: + ArealObjectStatePdu(); + virtual ~ArealObjectStatePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getObjectID(); + const EntityID& getObjectID() const; + void setObjectID(const EntityID &pX); + + EntityID& getReferencedObjectID(); + const EntityID& getReferencedObjectID() const; + void setReferencedObjectID(const EntityID &pX); + + unsigned short getUpdateNumber() const; + void setUpdateNumber(unsigned short pX); + + unsigned char getForceID() const; + void setForceID(unsigned char pX); + + unsigned char getModifications() const; + void setModifications(unsigned char pX); + + EntityType& getObjectType(); + const EntityType& getObjectType() const; + void setObjectType(const EntityType &pX); + + unsigned int getSpecificObjectAppearance() const; + void setSpecificObjectAppearance(unsigned int pX); + + unsigned short getGeneralObjectAppearance() const; + void setGeneralObjectAppearance(unsigned short pX); + + unsigned short getNumberOfPoints() const; + + SimulationAddress& getRequesterID(); + const SimulationAddress& getRequesterID() const; + void setRequesterID(const SimulationAddress &pX); + + SimulationAddress& getReceivingID(); + const SimulationAddress& getReceivingID() const; + void setReceivingID(const SimulationAddress &pX); + + std::vector& getObjectLocation(); + const std::vector& getObjectLocation() const; + void setObjectLocation(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ArealObjectStatePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ArticulatedParts.cpp b/cpp/DIS7/ArticulatedParts.cpp new file mode 100644 index 00000000..ea653616 --- /dev/null +++ b/cpp/DIS7/ArticulatedParts.cpp @@ -0,0 +1,142 @@ +#include + +using namespace DIS; + + +ArticulatedParts::ArticulatedParts(): + _recordType(0), + _changeIndicator(0), + _partAttachedTo(0), + _parameterType(0), + _parameterValue(0) +{ +} + +ArticulatedParts::~ArticulatedParts() +{ +} + +unsigned char ArticulatedParts::getRecordType() const +{ + return _recordType; +} + +void ArticulatedParts::setRecordType(unsigned char pX) +{ + _recordType = pX; +} + +unsigned char ArticulatedParts::getChangeIndicator() const +{ + return _changeIndicator; +} + +void ArticulatedParts::setChangeIndicator(unsigned char pX) +{ + _changeIndicator = pX; +} + +unsigned short ArticulatedParts::getPartAttachedTo() const +{ + return _partAttachedTo; +} + +void ArticulatedParts::setPartAttachedTo(unsigned short pX) +{ + _partAttachedTo = pX; +} + +unsigned int ArticulatedParts::getParameterType() const +{ + return _parameterType; +} + +void ArticulatedParts::setParameterType(unsigned int pX) +{ + _parameterType = pX; +} + +long ArticulatedParts::getParameterValue() const +{ + return _parameterValue; +} + +void ArticulatedParts::setParameterValue(long pX) +{ + _parameterValue = pX; +} + +void ArticulatedParts::marshal(DataStream& dataStream) const +{ + dataStream << _recordType; + dataStream << _changeIndicator; + dataStream << _partAttachedTo; + dataStream << _parameterType; + dataStream << _parameterValue; +} + +void ArticulatedParts::unmarshal(DataStream& dataStream) +{ + dataStream >> _recordType; + dataStream >> _changeIndicator; + dataStream >> _partAttachedTo; + dataStream >> _parameterType; + dataStream >> _parameterValue; +} + + +bool ArticulatedParts::operator ==(const ArticulatedParts& rhs) const + { + bool ivarsEqual = true; + + if( ! (_recordType == rhs._recordType) ) ivarsEqual = false; + if( ! (_changeIndicator == rhs._changeIndicator) ) ivarsEqual = false; + if( ! (_partAttachedTo == rhs._partAttachedTo) ) ivarsEqual = false; + if( ! (_parameterType == rhs._parameterType) ) ivarsEqual = false; + if( ! (_parameterValue == rhs._parameterValue) ) ivarsEqual = false; + + return ivarsEqual; + } + +int ArticulatedParts::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _recordType + marshalSize = marshalSize + 1; // _changeIndicator + marshalSize = marshalSize + 2; // _partAttachedTo + marshalSize = marshalSize + 4; // _parameterType + marshalSize = marshalSize + 8; // _parameterValue + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ArticulatedParts.h b/cpp/DIS7/ArticulatedParts.h new file mode 100644 index 00000000..c09939fe --- /dev/null +++ b/cpp/DIS7/ArticulatedParts.h @@ -0,0 +1,94 @@ +#ifndef ARTICULATEDPARTS_H +#define ARTICULATEDPARTS_H + +#include +#include + + +namespace DIS +{ +// articulated parts for movable parts and a combination of moveable/attached parts of an entity. Section 6.2.93.2 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ArticulatedParts +{ +protected: + /** the identification of the Variable Parameter record. Enumeration from EBV */ + unsigned char _recordType; + + /** indicate the change of any parameter for any articulated part. Starts at zero, incremented for each change */ + unsigned char _changeIndicator; + + /** the identification of the articulated part to which this articulation parameter is attached. This field shall be specified by a 16-bit unsigned integer. This field shall contain the value zero if the articulated part is attached directly to the entity. */ + unsigned short _partAttachedTo; + + /** the type of parameter represented, 32 bit enumeration */ + unsigned int _parameterType; + + /** The definition of the 64 bits shall be determined based on the type of parameter specified in the Parameter Type field */ + long _parameterValue; + + + public: + ArticulatedParts(); + virtual ~ArticulatedParts(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getRecordType() const; + void setRecordType(unsigned char pX); + + unsigned char getChangeIndicator() const; + void setChangeIndicator(unsigned char pX); + + unsigned short getPartAttachedTo() const; + void setPartAttachedTo(unsigned short pX); + + unsigned int getParameterType() const; + void setParameterType(unsigned int pX); + + long getParameterValue() const; + void setParameterValue(long pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ArticulatedParts& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/Association.cpp b/cpp/DIS7/Association.cpp new file mode 100644 index 00000000..ca3acdfb --- /dev/null +++ b/cpp/DIS7/Association.cpp @@ -0,0 +1,137 @@ +#include + +using namespace DIS; + + +Association::Association(): + _associationType(0), + _padding4(0), + _associatedEntityID(), + _associatedLocation() +{ +} + +Association::~Association() +{ +} + +unsigned char Association::getAssociationType() const +{ + return _associationType; +} + +void Association::setAssociationType(unsigned char pX) +{ + _associationType = pX; +} + +unsigned char Association::getPadding4() const +{ + return _padding4; +} + +void Association::setPadding4(unsigned char pX) +{ + _padding4 = pX; +} + +EntityID& Association::getAssociatedEntityID() +{ + return _associatedEntityID; +} + +const EntityID& Association::getAssociatedEntityID() const +{ + return _associatedEntityID; +} + +void Association::setAssociatedEntityID(const EntityID &pX) +{ + _associatedEntityID = pX; +} + +Vector3Double& Association::getAssociatedLocation() +{ + return _associatedLocation; +} + +const Vector3Double& Association::getAssociatedLocation() const +{ + return _associatedLocation; +} + +void Association::setAssociatedLocation(const Vector3Double &pX) +{ + _associatedLocation = pX; +} + +void Association::marshal(DataStream& dataStream) const +{ + dataStream << _associationType; + dataStream << _padding4; + _associatedEntityID.marshal(dataStream); + _associatedLocation.marshal(dataStream); +} + +void Association::unmarshal(DataStream& dataStream) +{ + dataStream >> _associationType; + dataStream >> _padding4; + _associatedEntityID.unmarshal(dataStream); + _associatedLocation.unmarshal(dataStream); +} + + +bool Association::operator ==(const Association& rhs) const + { + bool ivarsEqual = true; + + if( ! (_associationType == rhs._associationType) ) ivarsEqual = false; + if( ! (_padding4 == rhs._padding4) ) ivarsEqual = false; + if( ! (_associatedEntityID == rhs._associatedEntityID) ) ivarsEqual = false; + if( ! (_associatedLocation == rhs._associatedLocation) ) ivarsEqual = false; + + return ivarsEqual; + } + +int Association::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _associationType + marshalSize = marshalSize + 1; // _padding4 + marshalSize = marshalSize + _associatedEntityID.getMarshalledSize(); // _associatedEntityID + marshalSize = marshalSize + _associatedLocation.getMarshalledSize(); // _associatedLocation + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/Association.h b/cpp/DIS7/Association.h new file mode 100644 index 00000000..0bc5c298 --- /dev/null +++ b/cpp/DIS7/Association.h @@ -0,0 +1,90 @@ +#ifndef ASSOCIATION_H +#define ASSOCIATION_H + +#include +#include +#include +#include + + +namespace DIS +{ +// An entity's associations with other entities and/or locations. For each association, this record shall specify the type of the association, the associated entity's EntityID and/or the associated location's world coordinates. This record may be used (optionally) in a transfer transaction to send internal state data from the divesting simulation to the acquiring simulation (see 5.9.4). This record may also be used for other purposes. Section 6.2.10 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO Association +{ +protected: + unsigned char _associationType; + + unsigned char _padding4; + + /** identity of associated entity. If none, NO_SPECIFIC_ENTITY */ + EntityID _associatedEntityID; + + /** location, in world coordinates */ + Vector3Double _associatedLocation; + + + public: + Association(); + virtual ~Association(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getAssociationType() const; + void setAssociationType(unsigned char pX); + + unsigned char getPadding4() const; + void setPadding4(unsigned char pX); + + EntityID& getAssociatedEntityID(); + const EntityID& getAssociatedEntityID() const; + void setAssociatedEntityID(const EntityID &pX); + + Vector3Double& getAssociatedLocation(); + const Vector3Double& getAssociatedLocation() const; + void setAssociatedLocation(const Vector3Double &pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const Association& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/AttachedParts.cpp b/cpp/DIS7/AttachedParts.cpp new file mode 100644 index 00000000..de90996a --- /dev/null +++ b/cpp/DIS7/AttachedParts.cpp @@ -0,0 +1,142 @@ +#include + +using namespace DIS; + + +AttachedParts::AttachedParts(): + _recordType(1), + _detachedIndicator(0), + _partAttachedTo(0), + _parameterType(0), + _parameterValue(0) +{ +} + +AttachedParts::~AttachedParts() +{ +} + +unsigned char AttachedParts::getRecordType() const +{ + return _recordType; +} + +void AttachedParts::setRecordType(unsigned char pX) +{ + _recordType = pX; +} + +unsigned char AttachedParts::getDetachedIndicator() const +{ + return _detachedIndicator; +} + +void AttachedParts::setDetachedIndicator(unsigned char pX) +{ + _detachedIndicator = pX; +} + +unsigned short AttachedParts::getPartAttachedTo() const +{ + return _partAttachedTo; +} + +void AttachedParts::setPartAttachedTo(unsigned short pX) +{ + _partAttachedTo = pX; +} + +unsigned int AttachedParts::getParameterType() const +{ + return _parameterType; +} + +void AttachedParts::setParameterType(unsigned int pX) +{ + _parameterType = pX; +} + +long AttachedParts::getParameterValue() const +{ + return _parameterValue; +} + +void AttachedParts::setParameterValue(long pX) +{ + _parameterValue = pX; +} + +void AttachedParts::marshal(DataStream& dataStream) const +{ + dataStream << _recordType; + dataStream << _detachedIndicator; + dataStream << _partAttachedTo; + dataStream << _parameterType; + dataStream << _parameterValue; +} + +void AttachedParts::unmarshal(DataStream& dataStream) +{ + dataStream >> _recordType; + dataStream >> _detachedIndicator; + dataStream >> _partAttachedTo; + dataStream >> _parameterType; + dataStream >> _parameterValue; +} + + +bool AttachedParts::operator ==(const AttachedParts& rhs) const + { + bool ivarsEqual = true; + + if( ! (_recordType == rhs._recordType) ) ivarsEqual = false; + if( ! (_detachedIndicator == rhs._detachedIndicator) ) ivarsEqual = false; + if( ! (_partAttachedTo == rhs._partAttachedTo) ) ivarsEqual = false; + if( ! (_parameterType == rhs._parameterType) ) ivarsEqual = false; + if( ! (_parameterValue == rhs._parameterValue) ) ivarsEqual = false; + + return ivarsEqual; + } + +int AttachedParts::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _recordType + marshalSize = marshalSize + 1; // _detachedIndicator + marshalSize = marshalSize + 2; // _partAttachedTo + marshalSize = marshalSize + 4; // _parameterType + marshalSize = marshalSize + 8; // _parameterValue + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/AttachedParts.h b/cpp/DIS7/AttachedParts.h new file mode 100644 index 00000000..3869fcff --- /dev/null +++ b/cpp/DIS7/AttachedParts.h @@ -0,0 +1,94 @@ +#ifndef ATTACHEDPARTS_H +#define ATTACHEDPARTS_H + +#include +#include + + +namespace DIS +{ +// Removable parts that may be attached to an entity. Section 6.2.93.3 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO AttachedParts +{ +protected: + /** the identification of the Variable Parameter record. Enumeration from EBV */ + unsigned char _recordType; + + /** 0 = attached, 1 = detached. See I.2.3.1 for state transition diagram */ + unsigned char _detachedIndicator; + + /** the identification of the articulated part to which this articulation parameter is attached. This field shall be specified by a 16-bit unsigned integer. This field shall contain the value zero if the articulated part is attached directly to the entity. */ + unsigned short _partAttachedTo; + + /** The location or station to which the part is attached */ + unsigned int _parameterType; + + /** The definition of the 64 bits shall be determined based on the type of parameter specified in the Parameter Type field */ + long _parameterValue; + + + public: + AttachedParts(); + virtual ~AttachedParts(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getRecordType() const; + void setRecordType(unsigned char pX); + + unsigned char getDetachedIndicator() const; + void setDetachedIndicator(unsigned char pX); + + unsigned short getPartAttachedTo() const; + void setPartAttachedTo(unsigned short pX); + + unsigned int getParameterType() const; + void setParameterType(unsigned int pX); + + long getParameterValue() const; + void setParameterValue(long pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const AttachedParts& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/Attribute.cpp b/cpp/DIS7/Attribute.cpp new file mode 100644 index 00000000..a73e5d11 --- /dev/null +++ b/cpp/DIS7/Attribute.cpp @@ -0,0 +1,112 @@ +#include + +using namespace DIS; + + +Attribute::Attribute(): + _recordType(0), + _recordLength(0), + _recordSpecificFields(0) +{ +} + +Attribute::~Attribute() +{ +} + +unsigned int Attribute::getRecordType() const +{ + return _recordType; +} + +void Attribute::setRecordType(unsigned int pX) +{ + _recordType = pX; +} + +unsigned char Attribute::getRecordLength() const +{ + return _recordLength; +} + +void Attribute::setRecordLength(unsigned char pX) +{ + _recordLength = pX; +} + +long Attribute::getRecordSpecificFields() const +{ + return _recordSpecificFields; +} + +void Attribute::setRecordSpecificFields(long pX) +{ + _recordSpecificFields = pX; +} + +void Attribute::marshal(DataStream& dataStream) const +{ + dataStream << _recordType; + dataStream << _recordLength; + dataStream << _recordSpecificFields; +} + +void Attribute::unmarshal(DataStream& dataStream) +{ + dataStream >> _recordType; + dataStream >> _recordLength; + dataStream >> _recordSpecificFields; +} + + +bool Attribute::operator ==(const Attribute& rhs) const + { + bool ivarsEqual = true; + + if( ! (_recordType == rhs._recordType) ) ivarsEqual = false; + if( ! (_recordLength == rhs._recordLength) ) ivarsEqual = false; + if( ! (_recordSpecificFields == rhs._recordSpecificFields) ) ivarsEqual = false; + + return ivarsEqual; + } + +int Attribute::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _recordType + marshalSize = marshalSize + 1; // _recordLength + marshalSize = marshalSize + 8; // _recordSpecificFields + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/Attribute.h b/cpp/DIS7/Attribute.h new file mode 100644 index 00000000..2ecbe930 --- /dev/null +++ b/cpp/DIS7/Attribute.h @@ -0,0 +1,79 @@ +#ifndef ATTRIBUTE_H +#define ATTRIBUTE_H + +#include +#include + + +namespace DIS +{ +// Used to convey information for one or more attributes. Attributes conform to the standard variable record format of 6.2.82. Section 6.2.11 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO Attribute +{ +protected: + unsigned int _recordType; + + unsigned char _recordLength; + + long _recordSpecificFields; + + + public: + Attribute(); + virtual ~Attribute(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getRecordType() const; + void setRecordType(unsigned int pX); + + unsigned char getRecordLength() const; + void setRecordLength(unsigned char pX); + + long getRecordSpecificFields() const; + void setRecordSpecificFields(long pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const Attribute& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/AttributePdu.cpp b/cpp/DIS7/AttributePdu.cpp new file mode 100644 index 00000000..57382612 --- /dev/null +++ b/cpp/DIS7/AttributePdu.cpp @@ -0,0 +1,212 @@ +#include + +using namespace DIS; + + +AttributePdu::AttributePdu() : EntityInformationFamilyPdu(), + _originatingSimulationAddress(), + _padding1(0), + _padding2(0), + _attributeRecordPduType(0), + _attributeRecordProtocolVersion(0), + _masterAttributeRecordType(0), + _actionCode(0), + _padding3(0), + _numberAttributeRecordSet(0) +{ +} + +AttributePdu::~AttributePdu() +{ +} + +SimulationAddress& AttributePdu::getOriginatingSimulationAddress() +{ + return _originatingSimulationAddress; +} + +const SimulationAddress& AttributePdu::getOriginatingSimulationAddress() const +{ + return _originatingSimulationAddress; +} + +void AttributePdu::setOriginatingSimulationAddress(const SimulationAddress &pX) +{ + _originatingSimulationAddress = pX; +} + +int AttributePdu::getPadding1() const +{ + return _padding1; +} + +void AttributePdu::setPadding1(int pX) +{ + _padding1 = pX; +} + +short AttributePdu::getPadding2() const +{ + return _padding2; +} + +void AttributePdu::setPadding2(short pX) +{ + _padding2 = pX; +} + +unsigned char AttributePdu::getAttributeRecordPduType() const +{ + return _attributeRecordPduType; +} + +void AttributePdu::setAttributeRecordPduType(unsigned char pX) +{ + _attributeRecordPduType = pX; +} + +unsigned char AttributePdu::getAttributeRecordProtocolVersion() const +{ + return _attributeRecordProtocolVersion; +} + +void AttributePdu::setAttributeRecordProtocolVersion(unsigned char pX) +{ + _attributeRecordProtocolVersion = pX; +} + +unsigned int AttributePdu::getMasterAttributeRecordType() const +{ + return _masterAttributeRecordType; +} + +void AttributePdu::setMasterAttributeRecordType(unsigned int pX) +{ + _masterAttributeRecordType = pX; +} + +unsigned char AttributePdu::getActionCode() const +{ + return _actionCode; +} + +void AttributePdu::setActionCode(unsigned char pX) +{ + _actionCode = pX; +} + +char AttributePdu::getPadding3() const +{ + return _padding3; +} + +void AttributePdu::setPadding3(char pX) +{ + _padding3 = pX; +} + +unsigned short AttributePdu::getNumberAttributeRecordSet() const +{ + return _numberAttributeRecordSet; +} + +void AttributePdu::setNumberAttributeRecordSet(unsigned short pX) +{ + _numberAttributeRecordSet = pX; +} + +void AttributePdu::marshal(DataStream& dataStream) const +{ + EntityInformationFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _originatingSimulationAddress.marshal(dataStream); + dataStream << _padding1; + dataStream << _padding2; + dataStream << _attributeRecordPduType; + dataStream << _attributeRecordProtocolVersion; + dataStream << _masterAttributeRecordType; + dataStream << _actionCode; + dataStream << _padding3; + dataStream << _numberAttributeRecordSet; +} + +void AttributePdu::unmarshal(DataStream& dataStream) +{ + EntityInformationFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _originatingSimulationAddress.unmarshal(dataStream); + dataStream >> _padding1; + dataStream >> _padding2; + dataStream >> _attributeRecordPduType; + dataStream >> _attributeRecordProtocolVersion; + dataStream >> _masterAttributeRecordType; + dataStream >> _actionCode; + dataStream >> _padding3; + dataStream >> _numberAttributeRecordSet; +} + + +bool AttributePdu::operator ==(const AttributePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = EntityInformationFamilyPdu::operator==(rhs); + + if( ! (_originatingSimulationAddress == rhs._originatingSimulationAddress) ) ivarsEqual = false; + if( ! (_padding1 == rhs._padding1) ) ivarsEqual = false; + if( ! (_padding2 == rhs._padding2) ) ivarsEqual = false; + if( ! (_attributeRecordPduType == rhs._attributeRecordPduType) ) ivarsEqual = false; + if( ! (_attributeRecordProtocolVersion == rhs._attributeRecordProtocolVersion) ) ivarsEqual = false; + if( ! (_masterAttributeRecordType == rhs._masterAttributeRecordType) ) ivarsEqual = false; + if( ! (_actionCode == rhs._actionCode) ) ivarsEqual = false; + if( ! (_padding3 == rhs._padding3) ) ivarsEqual = false; + if( ! (_numberAttributeRecordSet == rhs._numberAttributeRecordSet) ) ivarsEqual = false; + + return ivarsEqual; + } + +int AttributePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = EntityInformationFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _originatingSimulationAddress.getMarshalledSize(); // _originatingSimulationAddress + marshalSize = marshalSize + 4; // _padding1 + marshalSize = marshalSize + 2; // _padding2 + marshalSize = marshalSize + 1; // _attributeRecordPduType + marshalSize = marshalSize + 1; // _attributeRecordProtocolVersion + marshalSize = marshalSize + 4; // _masterAttributeRecordType + marshalSize = marshalSize + 1; // _actionCode + marshalSize = marshalSize + 1; // _padding3 + marshalSize = marshalSize + 2; // _numberAttributeRecordSet + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/AttributePdu.h b/cpp/DIS7/AttributePdu.h new file mode 100644 index 00000000..5df523c3 --- /dev/null +++ b/cpp/DIS7/AttributePdu.h @@ -0,0 +1,121 @@ +#ifndef ATTRIBUTEPDU_H +#define ATTRIBUTEPDU_H + +#include +#include +#include +#include + + +namespace DIS +{ +// Information about individual attributes for a particular entity, other object, or event may be communicated using an Attribute PDU. The Attribute PDU shall not be used to exchange data available in any other PDU except where explicitly mentioned in the PDU issuance instructions within this standard. See 5.3.6 for the information requirements and issuance and receipt rules for this PDU. Section 7.2.6. INCOMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO AttributePdu : public EntityInformationFamilyPdu +{ +protected: + /** This field shall identify the simulation issuing the Attribute PDU. It shall be represented by a Simulation Address record (see 6.2.79). */ + SimulationAddress _originatingSimulationAddress; + + /** Padding */ + int _padding1; + + /** Padding */ + short _padding2; + + /** This field shall represent the type of the PDU that is being extended or updated, if applicable. It shall be represented by an 8-bit enumeration. */ + unsigned char _attributeRecordPduType; + + /** This field shall indicate the Protocol Version associated with the Attribute Record PDU Type. It shall be represented by an 8-bit enumeration. */ + unsigned char _attributeRecordProtocolVersion; + + /** This field shall contain the Attribute record type of the Attribute records in the PDU if they all have the same Attribute record type. It shall be represented by a 32-bit enumeration. */ + unsigned int _masterAttributeRecordType; + + /** This field shall identify the action code applicable to this Attribute PDU. The Action Code shall apply to all Attribute records contained in the PDU. It shall be represented by an 8-bit enumeration. */ + unsigned char _actionCode; + + /** Padding */ + char _padding3; + + /** This field shall specify the number of Attribute Record Sets that make up the remainder of the PDU. It shall be represented by a 16-bit unsigned integer. */ + unsigned short _numberAttributeRecordSet; + + + public: + AttributePdu(); + virtual ~AttributePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + SimulationAddress& getOriginatingSimulationAddress(); + const SimulationAddress& getOriginatingSimulationAddress() const; + void setOriginatingSimulationAddress(const SimulationAddress &pX); + + int getPadding1() const; + void setPadding1(int pX); + + short getPadding2() const; + void setPadding2(short pX); + + unsigned char getAttributeRecordPduType() const; + void setAttributeRecordPduType(unsigned char pX); + + unsigned char getAttributeRecordProtocolVersion() const; + void setAttributeRecordProtocolVersion(unsigned char pX); + + unsigned int getMasterAttributeRecordType() const; + void setMasterAttributeRecordType(unsigned int pX); + + unsigned char getActionCode() const; + void setActionCode(unsigned char pX); + + char getPadding3() const; + void setPadding3(char pX); + + unsigned short getNumberAttributeRecordSet() const; + void setNumberAttributeRecordSet(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const AttributePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/BeamAntennaPattern.cpp b/cpp/DIS7/BeamAntennaPattern.cpp new file mode 100644 index 00000000..cf59e0bd --- /dev/null +++ b/cpp/DIS7/BeamAntennaPattern.cpp @@ -0,0 +1,222 @@ +#include + +using namespace DIS; + + +BeamAntennaPattern::BeamAntennaPattern(): + _beamDirection(), + _azimuthBeamwidth(0), + _elevationBeamwidth(0), + _referenceSystem(0), + _padding1(0), + _padding2(0), + _ez(0.0), + _ex(0.0), + _phase(0.0), + _padding3(0) +{ +} + +BeamAntennaPattern::~BeamAntennaPattern() +{ +} + +EulerAngles& BeamAntennaPattern::getBeamDirection() +{ + return _beamDirection; +} + +const EulerAngles& BeamAntennaPattern::getBeamDirection() const +{ + return _beamDirection; +} + +void BeamAntennaPattern::setBeamDirection(const EulerAngles &pX) +{ + _beamDirection = pX; +} + +float BeamAntennaPattern::getAzimuthBeamwidth() const +{ + return _azimuthBeamwidth; +} + +void BeamAntennaPattern::setAzimuthBeamwidth(float pX) +{ + _azimuthBeamwidth = pX; +} + +float BeamAntennaPattern::getElevationBeamwidth() const +{ + return _elevationBeamwidth; +} + +void BeamAntennaPattern::setElevationBeamwidth(float pX) +{ + _elevationBeamwidth = pX; +} + +float BeamAntennaPattern::getReferenceSystem() const +{ + return _referenceSystem; +} + +void BeamAntennaPattern::setReferenceSystem(float pX) +{ + _referenceSystem = pX; +} + +unsigned char BeamAntennaPattern::getPadding1() const +{ + return _padding1; +} + +void BeamAntennaPattern::setPadding1(unsigned char pX) +{ + _padding1 = pX; +} + +unsigned short BeamAntennaPattern::getPadding2() const +{ + return _padding2; +} + +void BeamAntennaPattern::setPadding2(unsigned short pX) +{ + _padding2 = pX; +} + +float BeamAntennaPattern::getEz() const +{ + return _ez; +} + +void BeamAntennaPattern::setEz(float pX) +{ + _ez = pX; +} + +float BeamAntennaPattern::getEx() const +{ + return _ex; +} + +void BeamAntennaPattern::setEx(float pX) +{ + _ex = pX; +} + +float BeamAntennaPattern::getPhase() const +{ + return _phase; +} + +void BeamAntennaPattern::setPhase(float pX) +{ + _phase = pX; +} + +unsigned int BeamAntennaPattern::getPadding3() const +{ + return _padding3; +} + +void BeamAntennaPattern::setPadding3(unsigned int pX) +{ + _padding3 = pX; +} + +void BeamAntennaPattern::marshal(DataStream& dataStream) const +{ + _beamDirection.marshal(dataStream); + dataStream << _azimuthBeamwidth; + dataStream << _elevationBeamwidth; + dataStream << _referenceSystem; + dataStream << _padding1; + dataStream << _padding2; + dataStream << _ez; + dataStream << _ex; + dataStream << _phase; + dataStream << _padding3; +} + +void BeamAntennaPattern::unmarshal(DataStream& dataStream) +{ + _beamDirection.unmarshal(dataStream); + dataStream >> _azimuthBeamwidth; + dataStream >> _elevationBeamwidth; + dataStream >> _referenceSystem; + dataStream >> _padding1; + dataStream >> _padding2; + dataStream >> _ez; + dataStream >> _ex; + dataStream >> _phase; + dataStream >> _padding3; +} + + +bool BeamAntennaPattern::operator ==(const BeamAntennaPattern& rhs) const + { + bool ivarsEqual = true; + + if( ! (_beamDirection == rhs._beamDirection) ) ivarsEqual = false; + if( ! (_azimuthBeamwidth == rhs._azimuthBeamwidth) ) ivarsEqual = false; + if( ! (_elevationBeamwidth == rhs._elevationBeamwidth) ) ivarsEqual = false; + if( ! (_referenceSystem == rhs._referenceSystem) ) ivarsEqual = false; + if( ! (_padding1 == rhs._padding1) ) ivarsEqual = false; + if( ! (_padding2 == rhs._padding2) ) ivarsEqual = false; + if( ! (_ez == rhs._ez) ) ivarsEqual = false; + if( ! (_ex == rhs._ex) ) ivarsEqual = false; + if( ! (_phase == rhs._phase) ) ivarsEqual = false; + if( ! (_padding3 == rhs._padding3) ) ivarsEqual = false; + + return ivarsEqual; + } + +int BeamAntennaPattern::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _beamDirection.getMarshalledSize(); // _beamDirection + marshalSize = marshalSize + 4; // _azimuthBeamwidth + marshalSize = marshalSize + 4; // _elevationBeamwidth + marshalSize = marshalSize + 4; // _referenceSystem + marshalSize = marshalSize + 1; // _padding1 + marshalSize = marshalSize + 2; // _padding2 + marshalSize = marshalSize + 4; // _ez + marshalSize = marshalSize + 4; // _ex + marshalSize = marshalSize + 4; // _phase + marshalSize = marshalSize + 4; // _padding3 + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/BeamAntennaPattern.h b/cpp/DIS7/BeamAntennaPattern.h new file mode 100644 index 00000000..cddd1ee0 --- /dev/null +++ b/cpp/DIS7/BeamAntennaPattern.h @@ -0,0 +1,121 @@ +#ifndef BEAMANTENNAPATTERN_H +#define BEAMANTENNAPATTERN_H + +#include +#include +#include + + +namespace DIS +{ +// Used when the antenna pattern type field has a value of 1. Specifies the direction, pattern, and polarization of radiation from an antenna. Section 6.2.9.2 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO BeamAntennaPattern +{ +protected: + /** The rotation that transforms the reference coordinate sytem into the beam coordinate system. Either world coordinates or entity coordinates may be used as the reference coordinate system, as specified by the reference system field of the antenna pattern record. */ + EulerAngles _beamDirection; + + float _azimuthBeamwidth; + + float _elevationBeamwidth; + + float _referenceSystem; + + unsigned char _padding1; + + unsigned short _padding2; + + /** This field shall specify the magnitude of the Z-component (in beam coordinates) of the Electrical field at some arbitrary single point in the main beam and in the far field of the antenna. */ + float _ez; + + /** This field shall specify the magnitude of the X-component (in beam coordinates) of the Electri- cal field at some arbitrary single point in the main beam and in the far field of the antenna. */ + float _ex; + + /** This field shall specify the phase angle between EZ and EX in radians. If fully omni-direc- tional antenna is modeled using beam pattern type one, the omni-directional antenna shall be repre- sented by beam direction Euler angles psi, theta, and phi of zero, an azimuth beamwidth of 2PI, and an elevation beamwidth of PI */ + float _phase; + + /** padding */ + unsigned int _padding3; + + + public: + BeamAntennaPattern(); + virtual ~BeamAntennaPattern(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EulerAngles& getBeamDirection(); + const EulerAngles& getBeamDirection() const; + void setBeamDirection(const EulerAngles &pX); + + float getAzimuthBeamwidth() const; + void setAzimuthBeamwidth(float pX); + + float getElevationBeamwidth() const; + void setElevationBeamwidth(float pX); + + float getReferenceSystem() const; + void setReferenceSystem(float pX); + + unsigned char getPadding1() const; + void setPadding1(unsigned char pX); + + unsigned short getPadding2() const; + void setPadding2(unsigned short pX); + + float getEz() const; + void setEz(float pX); + + float getEx() const; + void setEx(float pX); + + float getPhase() const; + void setPhase(float pX); + + unsigned int getPadding3() const; + void setPadding3(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const BeamAntennaPattern& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/BeamData.cpp b/cpp/DIS7/BeamData.cpp new file mode 100644 index 00000000..b26cb6c6 --- /dev/null +++ b/cpp/DIS7/BeamData.cpp @@ -0,0 +1,142 @@ +#include + +using namespace DIS; + + +BeamData::BeamData(): + _beamAzimuthCenter(0.0), + _beamAzimuthSweep(0.0), + _beamElevationCenter(0.0), + _beamElevationSweep(0.0), + _beamSweepSync(0.0) +{ +} + +BeamData::~BeamData() +{ +} + +float BeamData::getBeamAzimuthCenter() const +{ + return _beamAzimuthCenter; +} + +void BeamData::setBeamAzimuthCenter(float pX) +{ + _beamAzimuthCenter = pX; +} + +float BeamData::getBeamAzimuthSweep() const +{ + return _beamAzimuthSweep; +} + +void BeamData::setBeamAzimuthSweep(float pX) +{ + _beamAzimuthSweep = pX; +} + +float BeamData::getBeamElevationCenter() const +{ + return _beamElevationCenter; +} + +void BeamData::setBeamElevationCenter(float pX) +{ + _beamElevationCenter = pX; +} + +float BeamData::getBeamElevationSweep() const +{ + return _beamElevationSweep; +} + +void BeamData::setBeamElevationSweep(float pX) +{ + _beamElevationSweep = pX; +} + +float BeamData::getBeamSweepSync() const +{ + return _beamSweepSync; +} + +void BeamData::setBeamSweepSync(float pX) +{ + _beamSweepSync = pX; +} + +void BeamData::marshal(DataStream& dataStream) const +{ + dataStream << _beamAzimuthCenter; + dataStream << _beamAzimuthSweep; + dataStream << _beamElevationCenter; + dataStream << _beamElevationSweep; + dataStream << _beamSweepSync; +} + +void BeamData::unmarshal(DataStream& dataStream) +{ + dataStream >> _beamAzimuthCenter; + dataStream >> _beamAzimuthSweep; + dataStream >> _beamElevationCenter; + dataStream >> _beamElevationSweep; + dataStream >> _beamSweepSync; +} + + +bool BeamData::operator ==(const BeamData& rhs) const + { + bool ivarsEqual = true; + + if( ! (_beamAzimuthCenter == rhs._beamAzimuthCenter) ) ivarsEqual = false; + if( ! (_beamAzimuthSweep == rhs._beamAzimuthSweep) ) ivarsEqual = false; + if( ! (_beamElevationCenter == rhs._beamElevationCenter) ) ivarsEqual = false; + if( ! (_beamElevationSweep == rhs._beamElevationSweep) ) ivarsEqual = false; + if( ! (_beamSweepSync == rhs._beamSweepSync) ) ivarsEqual = false; + + return ivarsEqual; + } + +int BeamData::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _beamAzimuthCenter + marshalSize = marshalSize + 4; // _beamAzimuthSweep + marshalSize = marshalSize + 4; // _beamElevationCenter + marshalSize = marshalSize + 4; // _beamElevationSweep + marshalSize = marshalSize + 4; // _beamSweepSync + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/BeamData.h b/cpp/DIS7/BeamData.h new file mode 100644 index 00000000..4dab4d5a --- /dev/null +++ b/cpp/DIS7/BeamData.h @@ -0,0 +1,94 @@ +#ifndef BEAMDATA_H +#define BEAMDATA_H + +#include +#include + + +namespace DIS +{ +// Describes the scan volue of an emitter beam. Section 6.2.13. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO BeamData +{ +protected: + /** Specifies the beam azimuth an elevation centers and corresponding half-angles to describe the scan volume */ + float _beamAzimuthCenter; + + /** Specifies the beam azimuth sweep to determine scan volume */ + float _beamAzimuthSweep; + + /** Specifies the beam elevation center to determine scan volume */ + float _beamElevationCenter; + + /** Specifies the beam elevation sweep to determine scan volume */ + float _beamElevationSweep; + + /** allows receiver to synchronize its regenerated scan pattern to that of the emmitter. Specifies the percentage of time a scan is through its pattern from its origion. */ + float _beamSweepSync; + + + public: + BeamData(); + virtual ~BeamData(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + float getBeamAzimuthCenter() const; + void setBeamAzimuthCenter(float pX); + + float getBeamAzimuthSweep() const; + void setBeamAzimuthSweep(float pX); + + float getBeamElevationCenter() const; + void setBeamElevationCenter(float pX); + + float getBeamElevationSweep() const; + void setBeamElevationSweep(float pX); + + float getBeamSweepSync() const; + void setBeamSweepSync(float pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const BeamData& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/BeamStatus.cpp b/cpp/DIS7/BeamStatus.cpp new file mode 100644 index 00000000..6b7805b9 --- /dev/null +++ b/cpp/DIS7/BeamStatus.cpp @@ -0,0 +1,82 @@ +#include + +using namespace DIS; + + +BeamStatus::BeamStatus(): + _beamState(0) +{ +} + +BeamStatus::~BeamStatus() +{ +} + +unsigned char BeamStatus::getBeamState() const +{ + return _beamState; +} + +void BeamStatus::setBeamState(unsigned char pX) +{ + _beamState = pX; +} + +void BeamStatus::marshal(DataStream& dataStream) const +{ + dataStream << _beamState; +} + +void BeamStatus::unmarshal(DataStream& dataStream) +{ + dataStream >> _beamState; +} + + +bool BeamStatus::operator ==(const BeamStatus& rhs) const + { + bool ivarsEqual = true; + + if( ! (_beamState == rhs._beamState) ) ivarsEqual = false; + + return ivarsEqual; + } + +int BeamStatus::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _beamState + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/BeamStatus.h b/cpp/DIS7/BeamStatus.h new file mode 100644 index 00000000..66829803 --- /dev/null +++ b/cpp/DIS7/BeamStatus.h @@ -0,0 +1,70 @@ +#ifndef BEAMSTATUS_H +#define BEAMSTATUS_H + +#include +#include + + +namespace DIS +{ +// Information related to the status of a beam. This is contained in the beam status field of the electromagnitec emission PDU. The first bit determines whether the beam is active (0) or deactivated (1). + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO BeamStatus +{ +protected: + /** First bit zero means beam is active, first bit = 1 means deactivated. The rest is padding. */ + unsigned char _beamState; + + + public: + BeamStatus(); + virtual ~BeamStatus(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getBeamState() const; + void setBeamState(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const BeamStatus& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/BlankingSector.cpp b/cpp/DIS7/BlankingSector.cpp new file mode 100644 index 00000000..1e6c4b23 --- /dev/null +++ b/cpp/DIS7/BlankingSector.cpp @@ -0,0 +1,217 @@ +#include + +using namespace DIS; + + +BlankingSector::BlankingSector(): + _recordType(3500), + _recordLength(0), + _emitterNumber(0), + _beamNumber(0), + _stateIndicator(0), + _leftAzimuth(0.0), + _rightAzimuth(0.0), + _lowerElevation(0.0), + _upperElevation(0.0), + _residualPower(0.0) +{ +} + +BlankingSector::~BlankingSector() +{ +} + +unsigned int BlankingSector::getRecordType() const +{ + return _recordType; +} + +void BlankingSector::setRecordType(unsigned int pX) +{ + _recordType = pX; +} + +unsigned short BlankingSector::getRecordLength() const +{ + return _recordLength; +} + +void BlankingSector::setRecordLength(unsigned short pX) +{ + _recordLength = pX; +} + +unsigned char BlankingSector::getEmitterNumber() const +{ + return _emitterNumber; +} + +void BlankingSector::setEmitterNumber(unsigned char pX) +{ + _emitterNumber = pX; +} + +unsigned char BlankingSector::getBeamNumber() const +{ + return _beamNumber; +} + +void BlankingSector::setBeamNumber(unsigned char pX) +{ + _beamNumber = pX; +} + +unsigned char BlankingSector::getStateIndicator() const +{ + return _stateIndicator; +} + +void BlankingSector::setStateIndicator(unsigned char pX) +{ + _stateIndicator = pX; +} + +float BlankingSector::getLeftAzimuth() const +{ + return _leftAzimuth; +} + +void BlankingSector::setLeftAzimuth(float pX) +{ + _leftAzimuth = pX; +} + +float BlankingSector::getRightAzimuth() const +{ + return _rightAzimuth; +} + +void BlankingSector::setRightAzimuth(float pX) +{ + _rightAzimuth = pX; +} + +float BlankingSector::getLowerElevation() const +{ + return _lowerElevation; +} + +void BlankingSector::setLowerElevation(float pX) +{ + _lowerElevation = pX; +} + +float BlankingSector::getUpperElevation() const +{ + return _upperElevation; +} + +void BlankingSector::setUpperElevation(float pX) +{ + _upperElevation = pX; +} + +float BlankingSector::getResidualPower() const +{ + return _residualPower; +} + +void BlankingSector::setResidualPower(float pX) +{ + _residualPower = pX; +} + +void BlankingSector::marshal(DataStream& dataStream) const +{ + dataStream << _recordType; + dataStream << _recordLength; + dataStream << _emitterNumber; + dataStream << _beamNumber; + dataStream << _stateIndicator; + dataStream << _leftAzimuth; + dataStream << _rightAzimuth; + dataStream << _lowerElevation; + dataStream << _upperElevation; + dataStream << _residualPower; +} + +void BlankingSector::unmarshal(DataStream& dataStream) +{ + dataStream >> _recordType; + dataStream >> _recordLength; + dataStream >> _emitterNumber; + dataStream >> _beamNumber; + dataStream >> _stateIndicator; + dataStream >> _leftAzimuth; + dataStream >> _rightAzimuth; + dataStream >> _lowerElevation; + dataStream >> _upperElevation; + dataStream >> _residualPower; +} + + +bool BlankingSector::operator ==(const BlankingSector& rhs) const + { + bool ivarsEqual = true; + + if( ! (_recordType == rhs._recordType) ) ivarsEqual = false; + if( ! (_recordLength == rhs._recordLength) ) ivarsEqual = false; + if( ! (_emitterNumber == rhs._emitterNumber) ) ivarsEqual = false; + if( ! (_beamNumber == rhs._beamNumber) ) ivarsEqual = false; + if( ! (_stateIndicator == rhs._stateIndicator) ) ivarsEqual = false; + if( ! (_leftAzimuth == rhs._leftAzimuth) ) ivarsEqual = false; + if( ! (_rightAzimuth == rhs._rightAzimuth) ) ivarsEqual = false; + if( ! (_lowerElevation == rhs._lowerElevation) ) ivarsEqual = false; + if( ! (_upperElevation == rhs._upperElevation) ) ivarsEqual = false; + if( ! (_residualPower == rhs._residualPower) ) ivarsEqual = false; + + return ivarsEqual; + } + +int BlankingSector::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _recordType + marshalSize = marshalSize + 2; // _recordLength + marshalSize = marshalSize + 1; // _emitterNumber + marshalSize = marshalSize + 1; // _beamNumber + marshalSize = marshalSize + 1; // _stateIndicator + marshalSize = marshalSize + 4; // _leftAzimuth + marshalSize = marshalSize + 4; // _rightAzimuth + marshalSize = marshalSize + 4; // _lowerElevation + marshalSize = marshalSize + 4; // _upperElevation + marshalSize = marshalSize + 4; // _residualPower + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/BlankingSector.h b/cpp/DIS7/BlankingSector.h new file mode 100644 index 00000000..c5efd691 --- /dev/null +++ b/cpp/DIS7/BlankingSector.h @@ -0,0 +1,114 @@ +#ifndef BLANKINGSECTOR_H +#define BLANKINGSECTOR_H + +#include +#include + + +namespace DIS +{ +// The Blanking Sector attribute record may be used to convey persistent areas within a scan volume where emitter power for a specific active emitter beam is reduced to an insignificant value. Section 6.2.12 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO BlankingSector +{ +protected: + unsigned int _recordType; + + unsigned short _recordLength; + + unsigned char _emitterNumber; + + unsigned char _beamNumber; + + unsigned char _stateIndicator; + + float _leftAzimuth; + + float _rightAzimuth; + + float _lowerElevation; + + float _upperElevation; + + float _residualPower; + + + public: + BlankingSector(); + virtual ~BlankingSector(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getRecordType() const; + void setRecordType(unsigned int pX); + + unsigned short getRecordLength() const; + void setRecordLength(unsigned short pX); + + unsigned char getEmitterNumber() const; + void setEmitterNumber(unsigned char pX); + + unsigned char getBeamNumber() const; + void setBeamNumber(unsigned char pX); + + unsigned char getStateIndicator() const; + void setStateIndicator(unsigned char pX); + + float getLeftAzimuth() const; + void setLeftAzimuth(float pX); + + float getRightAzimuth() const; + void setRightAzimuth(float pX); + + float getLowerElevation() const; + void setLowerElevation(float pX); + + float getUpperElevation() const; + void setUpperElevation(float pX); + + float getResidualPower() const; + void setResidualPower(float pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const BlankingSector& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ChangeOptions.cpp b/cpp/DIS7/ChangeOptions.cpp new file mode 100644 index 00000000..b65fc70d --- /dev/null +++ b/cpp/DIS7/ChangeOptions.cpp @@ -0,0 +1,67 @@ +#include + +using namespace DIS; + + +ChangeOptions::ChangeOptions() +{ +} + +ChangeOptions::~ChangeOptions() +{ +} + +void ChangeOptions::marshal(DataStream& dataStream) const +{ +} + +void ChangeOptions::unmarshal(DataStream& dataStream) +{ +} + + +bool ChangeOptions::operator ==(const ChangeOptions& rhs) const + { + bool ivarsEqual = true; + + + return ivarsEqual; + } + +int ChangeOptions::getMarshalledSize() const +{ + int marshalSize = 0; + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ChangeOptions.h b/cpp/DIS7/ChangeOptions.h new file mode 100644 index 00000000..0331cb9c --- /dev/null +++ b/cpp/DIS7/ChangeOptions.h @@ -0,0 +1,64 @@ +#ifndef CHANGEOPTIONS_H +#define CHANGEOPTIONS_H + +#include +#include + + +namespace DIS +{ +// This is wrong and breaks serialization. See section 6.2.15 aka B.2.41 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ChangeOptions +{ +protected: + + public: + ChangeOptions(); + virtual ~ChangeOptions(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ChangeOptions& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ClockTime.cpp b/cpp/DIS7/ClockTime.cpp new file mode 100644 index 00000000..e4210529 --- /dev/null +++ b/cpp/DIS7/ClockTime.cpp @@ -0,0 +1,97 @@ +#include + +using namespace DIS; + + +ClockTime::ClockTime(): + _hour(0), + _timePastHour(0) +{ +} + +ClockTime::~ClockTime() +{ +} + +unsigned int ClockTime::getHour() const +{ + return _hour; +} + +void ClockTime::setHour(unsigned int pX) +{ + _hour = pX; +} + +unsigned int ClockTime::getTimePastHour() const +{ + return _timePastHour; +} + +void ClockTime::setTimePastHour(unsigned int pX) +{ + _timePastHour = pX; +} + +void ClockTime::marshal(DataStream& dataStream) const +{ + dataStream << _hour; + dataStream << _timePastHour; +} + +void ClockTime::unmarshal(DataStream& dataStream) +{ + dataStream >> _hour; + dataStream >> _timePastHour; +} + + +bool ClockTime::operator ==(const ClockTime& rhs) const + { + bool ivarsEqual = true; + + if( ! (_hour == rhs._hour) ) ivarsEqual = false; + if( ! (_timePastHour == rhs._timePastHour) ) ivarsEqual = false; + + return ivarsEqual; + } + +int ClockTime::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _hour + marshalSize = marshalSize + 4; // _timePastHour + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ClockTime.h b/cpp/DIS7/ClockTime.h new file mode 100644 index 00000000..939db5be --- /dev/null +++ b/cpp/DIS7/ClockTime.h @@ -0,0 +1,76 @@ +#ifndef CLOCKTIME_H +#define CLOCKTIME_H + +#include +#include + + +namespace DIS +{ +// Time measurements that exceed one hour are represented by this record. The first field is the hours since the unix epoch (Jan 1 1970, used by most Unix systems and java) and the second field the timestamp units since the top of the hour. Section 6.2.16 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ClockTime +{ +protected: + /** Hours in UTC */ + unsigned int _hour; + + /** Time past the hour */ + unsigned int _timePastHour; + + + public: + ClockTime(); + virtual ~ClockTime(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getHour() const; + void setHour(unsigned int pX); + + unsigned int getTimePastHour() const; + void setTimePastHour(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ClockTime& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/CollisionElasticPdu.cpp b/cpp/DIS7/CollisionElasticPdu.cpp new file mode 100644 index 00000000..3f82046d --- /dev/null +++ b/cpp/DIS7/CollisionElasticPdu.cpp @@ -0,0 +1,329 @@ +#include + +using namespace DIS; + + +CollisionElasticPdu::CollisionElasticPdu() : EntityInformationFamilyPdu(), + _issuingEntityID(), + _collidingEntityID(), + _collisionEventID(), + _pad(0), + _contactVelocity(), + _mass(0.0), + _locationOfImpact(), + _collisionIntermediateResultXX(0.0), + _collisionIntermediateResultXY(0.0), + _collisionIntermediateResultXZ(0.0), + _collisionIntermediateResultYY(0.0), + _collisionIntermediateResultYZ(0.0), + _collisionIntermediateResultZZ(0.0), + _unitSurfaceNormal(), + _coefficientOfRestitution(0.0) +{ + setPduType( 66 ); + setProtocolFamily( 1 ); +} + +CollisionElasticPdu::~CollisionElasticPdu() +{ +} + +EntityID& CollisionElasticPdu::getIssuingEntityID() +{ + return _issuingEntityID; +} + +const EntityID& CollisionElasticPdu::getIssuingEntityID() const +{ + return _issuingEntityID; +} + +void CollisionElasticPdu::setIssuingEntityID(const EntityID &pX) +{ + _issuingEntityID = pX; +} + +EntityID& CollisionElasticPdu::getCollidingEntityID() +{ + return _collidingEntityID; +} + +const EntityID& CollisionElasticPdu::getCollidingEntityID() const +{ + return _collidingEntityID; +} + +void CollisionElasticPdu::setCollidingEntityID(const EntityID &pX) +{ + _collidingEntityID = pX; +} + +EventIdentifier& CollisionElasticPdu::getCollisionEventID() +{ + return _collisionEventID; +} + +const EventIdentifier& CollisionElasticPdu::getCollisionEventID() const +{ + return _collisionEventID; +} + +void CollisionElasticPdu::setCollisionEventID(const EventIdentifier &pX) +{ + _collisionEventID = pX; +} + +short CollisionElasticPdu::getPad() const +{ + return _pad; +} + +void CollisionElasticPdu::setPad(short pX) +{ + _pad = pX; +} + +Vector3Float& CollisionElasticPdu::getContactVelocity() +{ + return _contactVelocity; +} + +const Vector3Float& CollisionElasticPdu::getContactVelocity() const +{ + return _contactVelocity; +} + +void CollisionElasticPdu::setContactVelocity(const Vector3Float &pX) +{ + _contactVelocity = pX; +} + +float CollisionElasticPdu::getMass() const +{ + return _mass; +} + +void CollisionElasticPdu::setMass(float pX) +{ + _mass = pX; +} + +Vector3Float& CollisionElasticPdu::getLocationOfImpact() +{ + return _locationOfImpact; +} + +const Vector3Float& CollisionElasticPdu::getLocationOfImpact() const +{ + return _locationOfImpact; +} + +void CollisionElasticPdu::setLocationOfImpact(const Vector3Float &pX) +{ + _locationOfImpact = pX; +} + +float CollisionElasticPdu::getCollisionIntermediateResultXX() const +{ + return _collisionIntermediateResultXX; +} + +void CollisionElasticPdu::setCollisionIntermediateResultXX(float pX) +{ + _collisionIntermediateResultXX = pX; +} + +float CollisionElasticPdu::getCollisionIntermediateResultXY() const +{ + return _collisionIntermediateResultXY; +} + +void CollisionElasticPdu::setCollisionIntermediateResultXY(float pX) +{ + _collisionIntermediateResultXY = pX; +} + +float CollisionElasticPdu::getCollisionIntermediateResultXZ() const +{ + return _collisionIntermediateResultXZ; +} + +void CollisionElasticPdu::setCollisionIntermediateResultXZ(float pX) +{ + _collisionIntermediateResultXZ = pX; +} + +float CollisionElasticPdu::getCollisionIntermediateResultYY() const +{ + return _collisionIntermediateResultYY; +} + +void CollisionElasticPdu::setCollisionIntermediateResultYY(float pX) +{ + _collisionIntermediateResultYY = pX; +} + +float CollisionElasticPdu::getCollisionIntermediateResultYZ() const +{ + return _collisionIntermediateResultYZ; +} + +void CollisionElasticPdu::setCollisionIntermediateResultYZ(float pX) +{ + _collisionIntermediateResultYZ = pX; +} + +float CollisionElasticPdu::getCollisionIntermediateResultZZ() const +{ + return _collisionIntermediateResultZZ; +} + +void CollisionElasticPdu::setCollisionIntermediateResultZZ(float pX) +{ + _collisionIntermediateResultZZ = pX; +} + +Vector3Float& CollisionElasticPdu::getUnitSurfaceNormal() +{ + return _unitSurfaceNormal; +} + +const Vector3Float& CollisionElasticPdu::getUnitSurfaceNormal() const +{ + return _unitSurfaceNormal; +} + +void CollisionElasticPdu::setUnitSurfaceNormal(const Vector3Float &pX) +{ + _unitSurfaceNormal = pX; +} + +float CollisionElasticPdu::getCoefficientOfRestitution() const +{ + return _coefficientOfRestitution; +} + +void CollisionElasticPdu::setCoefficientOfRestitution(float pX) +{ + _coefficientOfRestitution = pX; +} + +void CollisionElasticPdu::marshal(DataStream& dataStream) const +{ + EntityInformationFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _issuingEntityID.marshal(dataStream); + _collidingEntityID.marshal(dataStream); + _collisionEventID.marshal(dataStream); + dataStream << _pad; + _contactVelocity.marshal(dataStream); + dataStream << _mass; + _locationOfImpact.marshal(dataStream); + dataStream << _collisionIntermediateResultXX; + dataStream << _collisionIntermediateResultXY; + dataStream << _collisionIntermediateResultXZ; + dataStream << _collisionIntermediateResultYY; + dataStream << _collisionIntermediateResultYZ; + dataStream << _collisionIntermediateResultZZ; + _unitSurfaceNormal.marshal(dataStream); + dataStream << _coefficientOfRestitution; +} + +void CollisionElasticPdu::unmarshal(DataStream& dataStream) +{ + EntityInformationFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _issuingEntityID.unmarshal(dataStream); + _collidingEntityID.unmarshal(dataStream); + _collisionEventID.unmarshal(dataStream); + dataStream >> _pad; + _contactVelocity.unmarshal(dataStream); + dataStream >> _mass; + _locationOfImpact.unmarshal(dataStream); + dataStream >> _collisionIntermediateResultXX; + dataStream >> _collisionIntermediateResultXY; + dataStream >> _collisionIntermediateResultXZ; + dataStream >> _collisionIntermediateResultYY; + dataStream >> _collisionIntermediateResultYZ; + dataStream >> _collisionIntermediateResultZZ; + _unitSurfaceNormal.unmarshal(dataStream); + dataStream >> _coefficientOfRestitution; +} + + +bool CollisionElasticPdu::operator ==(const CollisionElasticPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = EntityInformationFamilyPdu::operator==(rhs); + + if( ! (_issuingEntityID == rhs._issuingEntityID) ) ivarsEqual = false; + if( ! (_collidingEntityID == rhs._collidingEntityID) ) ivarsEqual = false; + if( ! (_collisionEventID == rhs._collisionEventID) ) ivarsEqual = false; + if( ! (_pad == rhs._pad) ) ivarsEqual = false; + if( ! (_contactVelocity == rhs._contactVelocity) ) ivarsEqual = false; + if( ! (_mass == rhs._mass) ) ivarsEqual = false; + if( ! (_locationOfImpact == rhs._locationOfImpact) ) ivarsEqual = false; + if( ! (_collisionIntermediateResultXX == rhs._collisionIntermediateResultXX) ) ivarsEqual = false; + if( ! (_collisionIntermediateResultXY == rhs._collisionIntermediateResultXY) ) ivarsEqual = false; + if( ! (_collisionIntermediateResultXZ == rhs._collisionIntermediateResultXZ) ) ivarsEqual = false; + if( ! (_collisionIntermediateResultYY == rhs._collisionIntermediateResultYY) ) ivarsEqual = false; + if( ! (_collisionIntermediateResultYZ == rhs._collisionIntermediateResultYZ) ) ivarsEqual = false; + if( ! (_collisionIntermediateResultZZ == rhs._collisionIntermediateResultZZ) ) ivarsEqual = false; + if( ! (_unitSurfaceNormal == rhs._unitSurfaceNormal) ) ivarsEqual = false; + if( ! (_coefficientOfRestitution == rhs._coefficientOfRestitution) ) ivarsEqual = false; + + return ivarsEqual; + } + +int CollisionElasticPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = EntityInformationFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _issuingEntityID.getMarshalledSize(); // _issuingEntityID + marshalSize = marshalSize + _collidingEntityID.getMarshalledSize(); // _collidingEntityID + marshalSize = marshalSize + _collisionEventID.getMarshalledSize(); // _collisionEventID + marshalSize = marshalSize + 2; // _pad + marshalSize = marshalSize + _contactVelocity.getMarshalledSize(); // _contactVelocity + marshalSize = marshalSize + 4; // _mass + marshalSize = marshalSize + _locationOfImpact.getMarshalledSize(); // _locationOfImpact + marshalSize = marshalSize + 4; // _collisionIntermediateResultXX + marshalSize = marshalSize + 4; // _collisionIntermediateResultXY + marshalSize = marshalSize + 4; // _collisionIntermediateResultXZ + marshalSize = marshalSize + 4; // _collisionIntermediateResultYY + marshalSize = marshalSize + 4; // _collisionIntermediateResultYZ + marshalSize = marshalSize + 4; // _collisionIntermediateResultZZ + marshalSize = marshalSize + _unitSurfaceNormal.getMarshalledSize(); // _unitSurfaceNormal + marshalSize = marshalSize + 4; // _coefficientOfRestitution + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/CollisionElasticPdu.h b/cpp/DIS7/CollisionElasticPdu.h new file mode 100644 index 00000000..1c381ddc --- /dev/null +++ b/cpp/DIS7/CollisionElasticPdu.h @@ -0,0 +1,167 @@ +#ifndef COLLISIONELASTICPDU_H +#define COLLISIONELASTICPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Information about elastic collisions in a DIS exercise shall be communicated using a Collision-Elastic PDU. Section 7.2.4. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO CollisionElasticPdu : public EntityInformationFamilyPdu +{ +protected: + /** This field shall identify the entity that is issuing the PDU and shall be represented by an Entity Identifier record (see 6.2.28) */ + EntityID _issuingEntityID; + + /** This field shall identify the entity that has collided with the issuing entity. This field shall be a valid identifier of an entity or server capable of responding to the receipt of this Collision-Elastic PDU. This field shall be represented by an Entity Identifier record (see 6.2.28). */ + EntityID _collidingEntityID; + + /** This field shall contain an identification generated by the issuing simulation application to associate related collision events. This field shall be represented by an Event Identifier record (see 6.2.34). */ + EventIdentifier _collisionEventID; + + /** some padding */ + short _pad; + + /** This field shall contain the velocity at the time the collision is detected at the point the collision is detected. The velocity shall be represented in world coordinates. This field shall be represented by the Linear Velocity Vector record [see 6.2.95 item c)] */ + Vector3Float _contactVelocity; + + /** This field shall contain the mass of the issuing entity and shall be represented by a 32-bit floating point number representing kilograms */ + float _mass; + + /** This field shall specify the location of the collision with respect to the entity with which the issuing entity collided. This field shall be represented by an Entity Coordinate Vector record [see 6.2.95 item a)]. */ + Vector3Float _locationOfImpact; + + /** These six records represent the six independent components of a positive semi-definite matrix formed by pre-multiplying and post-multiplying the tensor of inertia, by the anti-symmetric matrix generated by the moment arm, and shall be represented by 32-bit floating point numbers (see 5.3.4.4) */ + float _collisionIntermediateResultXX; + + /** tensor values */ + float _collisionIntermediateResultXY; + + /** tensor values */ + float _collisionIntermediateResultXZ; + + /** tensor values */ + float _collisionIntermediateResultYY; + + /** tensor values */ + float _collisionIntermediateResultYZ; + + /** tensor values */ + float _collisionIntermediateResultZZ; + + /** This record shall represent the normal vector to the surface at the point of collision detection. The surface normal shall be represented in world coordinates. This field shall be represented by an Entity Coordinate Vector record [see 6.2.95 item a)]. */ + Vector3Float _unitSurfaceNormal; + + /** This field shall represent the degree to which energy is conserved in a collision and shall be represented by a 32-bit floating point number. In addition, it represents a free parameter by which simulation application developers may “tune†their collision interactions. */ + float _coefficientOfRestitution; + + + public: + CollisionElasticPdu(); + virtual ~CollisionElasticPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getIssuingEntityID(); + const EntityID& getIssuingEntityID() const; + void setIssuingEntityID(const EntityID &pX); + + EntityID& getCollidingEntityID(); + const EntityID& getCollidingEntityID() const; + void setCollidingEntityID(const EntityID &pX); + + EventIdentifier& getCollisionEventID(); + const EventIdentifier& getCollisionEventID() const; + void setCollisionEventID(const EventIdentifier &pX); + + short getPad() const; + void setPad(short pX); + + Vector3Float& getContactVelocity(); + const Vector3Float& getContactVelocity() const; + void setContactVelocity(const Vector3Float &pX); + + float getMass() const; + void setMass(float pX); + + Vector3Float& getLocationOfImpact(); + const Vector3Float& getLocationOfImpact() const; + void setLocationOfImpact(const Vector3Float &pX); + + float getCollisionIntermediateResultXX() const; + void setCollisionIntermediateResultXX(float pX); + + float getCollisionIntermediateResultXY() const; + void setCollisionIntermediateResultXY(float pX); + + float getCollisionIntermediateResultXZ() const; + void setCollisionIntermediateResultXZ(float pX); + + float getCollisionIntermediateResultYY() const; + void setCollisionIntermediateResultYY(float pX); + + float getCollisionIntermediateResultYZ() const; + void setCollisionIntermediateResultYZ(float pX); + + float getCollisionIntermediateResultZZ() const; + void setCollisionIntermediateResultZZ(float pX); + + Vector3Float& getUnitSurfaceNormal(); + const Vector3Float& getUnitSurfaceNormal() const; + void setUnitSurfaceNormal(const Vector3Float &pX); + + float getCoefficientOfRestitution() const; + void setCoefficientOfRestitution(float pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const CollisionElasticPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/CollisionPdu.cpp b/cpp/DIS7/CollisionPdu.cpp new file mode 100644 index 00000000..fefefcb9 --- /dev/null +++ b/cpp/DIS7/CollisionPdu.cpp @@ -0,0 +1,219 @@ +#include + +using namespace DIS; + + +CollisionPdu::CollisionPdu() : EntityInformationFamilyPdu(), + _issuingEntityID(), + _collidingEntityID(), + _eventID(), + _collisionType(0), + _pad(0), + _velocity(), + _mass(0.0), + _location() +{ + setPduType( 4 ); + setProtocolFamily( 1 ); +} + +CollisionPdu::~CollisionPdu() +{ +} + +EntityID& CollisionPdu::getIssuingEntityID() +{ + return _issuingEntityID; +} + +const EntityID& CollisionPdu::getIssuingEntityID() const +{ + return _issuingEntityID; +} + +void CollisionPdu::setIssuingEntityID(const EntityID &pX) +{ + _issuingEntityID = pX; +} + +EntityID& CollisionPdu::getCollidingEntityID() +{ + return _collidingEntityID; +} + +const EntityID& CollisionPdu::getCollidingEntityID() const +{ + return _collidingEntityID; +} + +void CollisionPdu::setCollidingEntityID(const EntityID &pX) +{ + _collidingEntityID = pX; +} + +EventIdentifier& CollisionPdu::getEventID() +{ + return _eventID; +} + +const EventIdentifier& CollisionPdu::getEventID() const +{ + return _eventID; +} + +void CollisionPdu::setEventID(const EventIdentifier &pX) +{ + _eventID = pX; +} + +unsigned char CollisionPdu::getCollisionType() const +{ + return _collisionType; +} + +void CollisionPdu::setCollisionType(unsigned char pX) +{ + _collisionType = pX; +} + +char CollisionPdu::getPad() const +{ + return _pad; +} + +void CollisionPdu::setPad(char pX) +{ + _pad = pX; +} + +Vector3Float& CollisionPdu::getVelocity() +{ + return _velocity; +} + +const Vector3Float& CollisionPdu::getVelocity() const +{ + return _velocity; +} + +void CollisionPdu::setVelocity(const Vector3Float &pX) +{ + _velocity = pX; +} + +float CollisionPdu::getMass() const +{ + return _mass; +} + +void CollisionPdu::setMass(float pX) +{ + _mass = pX; +} + +Vector3Float& CollisionPdu::getLocation() +{ + return _location; +} + +const Vector3Float& CollisionPdu::getLocation() const +{ + return _location; +} + +void CollisionPdu::setLocation(const Vector3Float &pX) +{ + _location = pX; +} + +void CollisionPdu::marshal(DataStream& dataStream) const +{ + EntityInformationFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _issuingEntityID.marshal(dataStream); + _collidingEntityID.marshal(dataStream); + _eventID.marshal(dataStream); + dataStream << _collisionType; + dataStream << _pad; + _velocity.marshal(dataStream); + dataStream << _mass; + _location.marshal(dataStream); +} + +void CollisionPdu::unmarshal(DataStream& dataStream) +{ + EntityInformationFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _issuingEntityID.unmarshal(dataStream); + _collidingEntityID.unmarshal(dataStream); + _eventID.unmarshal(dataStream); + dataStream >> _collisionType; + dataStream >> _pad; + _velocity.unmarshal(dataStream); + dataStream >> _mass; + _location.unmarshal(dataStream); +} + + +bool CollisionPdu::operator ==(const CollisionPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = EntityInformationFamilyPdu::operator==(rhs); + + if( ! (_issuingEntityID == rhs._issuingEntityID) ) ivarsEqual = false; + if( ! (_collidingEntityID == rhs._collidingEntityID) ) ivarsEqual = false; + if( ! (_eventID == rhs._eventID) ) ivarsEqual = false; + if( ! (_collisionType == rhs._collisionType) ) ivarsEqual = false; + if( ! (_pad == rhs._pad) ) ivarsEqual = false; + if( ! (_velocity == rhs._velocity) ) ivarsEqual = false; + if( ! (_mass == rhs._mass) ) ivarsEqual = false; + if( ! (_location == rhs._location) ) ivarsEqual = false; + + return ivarsEqual; + } + +int CollisionPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = EntityInformationFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _issuingEntityID.getMarshalledSize(); // _issuingEntityID + marshalSize = marshalSize + _collidingEntityID.getMarshalledSize(); // _collidingEntityID + marshalSize = marshalSize + _eventID.getMarshalledSize(); // _eventID + marshalSize = marshalSize + 1; // _collisionType + marshalSize = marshalSize + 1; // _pad + marshalSize = marshalSize + _velocity.getMarshalledSize(); // _velocity + marshalSize = marshalSize + 4; // _mass + marshalSize = marshalSize + _location.getMarshalledSize(); // _location + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/CollisionPdu.h b/cpp/DIS7/CollisionPdu.h new file mode 100644 index 00000000..8020f73f --- /dev/null +++ b/cpp/DIS7/CollisionPdu.h @@ -0,0 +1,123 @@ +#ifndef COLLISIONPDU_H +#define COLLISIONPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 7.2.3 Collisions between entities shall be communicated by issuing a Collision PDU. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO CollisionPdu : public EntityInformationFamilyPdu +{ +protected: + /** This field shall identify the entity that is issuing the PDU, and shall be represented by an Entity Identifier record (see 6.2.28). */ + EntityID _issuingEntityID; + + /** This field shall identify the entity that has collided with the issuing entity (see 5.3.3.4). This field shall be represented by an Entity Identifier record (see 6.2.28). */ + EntityID _collidingEntityID; + + /** This field shall contain an identification generated by the issuing simulation application to associate related collision events. This field shall be represented by an Event Identifier record (see 6.2.34). */ + EventIdentifier _eventID; + + /** This field shall identify the type of collision. The Collision Type field shall be represented by an 8-bit record of enumerations */ + unsigned char _collisionType; + + /** some padding */ + char _pad; + + /** This field shall contain the velocity (at the time the collision is detected) of the issuing entity. The velocity shall be represented in world coordinates. This field shall be represented by the Linear Velocity Vector record [see 6.2.95 item c)]. */ + Vector3Float _velocity; + + /** This field shall contain the mass of the issuing entity, and shall be represented by a 32-bit floating point number representing kilograms. */ + float _mass; + + /** This field shall specify the location of the collision with respect to the entity with which the issuing entity collided. The Location field shall be represented by an Entity Coordinate Vector record [see 6.2.95 item a)]. */ + Vector3Float _location; + + + public: + CollisionPdu(); + virtual ~CollisionPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getIssuingEntityID(); + const EntityID& getIssuingEntityID() const; + void setIssuingEntityID(const EntityID &pX); + + EntityID& getCollidingEntityID(); + const EntityID& getCollidingEntityID() const; + void setCollidingEntityID(const EntityID &pX); + + EventIdentifier& getEventID(); + const EventIdentifier& getEventID() const; + void setEventID(const EventIdentifier &pX); + + unsigned char getCollisionType() const; + void setCollisionType(unsigned char pX); + + char getPad() const; + void setPad(char pX); + + Vector3Float& getVelocity(); + const Vector3Float& getVelocity() const; + void setVelocity(const Vector3Float &pX); + + float getMass() const; + void setMass(float pX); + + Vector3Float& getLocation(); + const Vector3Float& getLocation() const; + void setLocation(const Vector3Float &pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const CollisionPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/CommentPdu.cpp b/cpp/DIS7/CommentPdu.cpp new file mode 100644 index 00000000..0581c1b7 --- /dev/null +++ b/cpp/DIS7/CommentPdu.cpp @@ -0,0 +1,179 @@ +#include + +using namespace DIS; + + +CommentPdu::CommentPdu() : SimulationManagementFamilyPdu(), + _numberOfFixedDatumRecords(0), + _numberOfVariableDatumRecords(0) +{ + setPduType( 22 ); +} + +CommentPdu::~CommentPdu() +{ + _fixedDatums.clear(); + _variableDatums.clear(); +} + +unsigned int CommentPdu::getNumberOfFixedDatumRecords() const +{ + return _fixedDatums.size(); +} + +unsigned int CommentPdu::getNumberOfVariableDatumRecords() const +{ + return _variableDatums.size(); +} + +std::vector& CommentPdu::getFixedDatums() +{ + return _fixedDatums; +} + +const std::vector& CommentPdu::getFixedDatums() const +{ + return _fixedDatums; +} + +void CommentPdu::setFixedDatums(const std::vector& pX) +{ + _fixedDatums = pX; +} + +std::vector& CommentPdu::getVariableDatums() +{ + return _variableDatums; +} + +const std::vector& CommentPdu::getVariableDatums() const +{ + return _variableDatums; +} + +void CommentPdu::setVariableDatums(const std::vector& pX) +{ + _variableDatums = pX; +} + +void CommentPdu::marshal(DataStream& dataStream) const +{ + SimulationManagementFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << ( unsigned int )_fixedDatums.size(); + dataStream << ( unsigned int )_variableDatums.size(); + + for(size_t idx = 0; idx < _fixedDatums.size(); idx++) + { + FixedDatum x = _fixedDatums[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { + VariableDatum x = _variableDatums[idx]; + x.marshal(dataStream); + } + +} + +void CommentPdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _numberOfFixedDatumRecords; + dataStream >> _numberOfVariableDatumRecords; + + _fixedDatums.clear(); + for(size_t idx = 0; idx < _numberOfFixedDatumRecords; idx++) + { + FixedDatum x; + x.unmarshal(dataStream); + _fixedDatums.push_back(x); + } + + _variableDatums.clear(); + for(size_t idx = 0; idx < _numberOfVariableDatumRecords; idx++) + { + VariableDatum x; + x.unmarshal(dataStream); + _variableDatums.push_back(x); + } +} + + +bool CommentPdu::operator ==(const CommentPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementFamilyPdu::operator==(rhs); + + + for(size_t idx = 0; idx < _fixedDatums.size(); idx++) + { + if( ! ( _fixedDatums[idx] == rhs._fixedDatums[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { + if( ! ( _variableDatums[idx] == rhs._variableDatums[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int CommentPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 4; // _numberOfFixedDatumRecords + marshalSize = marshalSize + 4; // _numberOfVariableDatumRecords + + for(int idx=0; idx < _fixedDatums.size(); idx++) + { + FixedDatum listElement = _fixedDatums[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _variableDatums.size(); idx++) + { + VariableDatum listElement = _variableDatums[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/CommentPdu.h b/cpp/DIS7/CommentPdu.h new file mode 100644 index 00000000..5834a327 --- /dev/null +++ b/cpp/DIS7/CommentPdu.h @@ -0,0 +1,92 @@ +#ifndef COMMENTPDU_H +#define COMMENTPDU_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Arbitrary messages can be entered into the data stream via use of this PDU. Section 7.5.13 COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO CommentPdu : public SimulationManagementFamilyPdu +{ +protected: + /** Number of fixed datum records */ + unsigned int _numberOfFixedDatumRecords; + + /** Number of variable datum records */ + unsigned int _numberOfVariableDatumRecords; + + /** variable length list of fixed datums */ + std::vector _fixedDatums; + + /** variable length list of variable length datums */ + std::vector _variableDatums; + + + public: + CommentPdu(); + virtual ~CommentPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getNumberOfFixedDatumRecords() const; + + unsigned int getNumberOfVariableDatumRecords() const; + + std::vector& getFixedDatums(); + const std::vector& getFixedDatums() const; + void setFixedDatums(const std::vector& pX); + + std::vector& getVariableDatums(); + const std::vector& getVariableDatums() const; + void setVariableDatums(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const CommentPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/CommentReliablePdu.cpp b/cpp/DIS7/CommentReliablePdu.cpp new file mode 100644 index 00000000..dffe7d52 --- /dev/null +++ b/cpp/DIS7/CommentReliablePdu.cpp @@ -0,0 +1,179 @@ +#include + +using namespace DIS; + + +CommentReliablePdu::CommentReliablePdu() : SimulationManagementWithReliabilityFamilyPdu(), + _numberOfFixedDatumRecords(0), + _numberOfVariableDatumRecords(0) +{ + setPduType( 62 ); +} + +CommentReliablePdu::~CommentReliablePdu() +{ + _fixedDatumRecords.clear(); + _variableDatumRecords.clear(); +} + +unsigned int CommentReliablePdu::getNumberOfFixedDatumRecords() const +{ + return _fixedDatumRecords.size(); +} + +unsigned int CommentReliablePdu::getNumberOfVariableDatumRecords() const +{ + return _variableDatumRecords.size(); +} + +std::vector& CommentReliablePdu::getFixedDatumRecords() +{ + return _fixedDatumRecords; +} + +const std::vector& CommentReliablePdu::getFixedDatumRecords() const +{ + return _fixedDatumRecords; +} + +void CommentReliablePdu::setFixedDatumRecords(const std::vector& pX) +{ + _fixedDatumRecords = pX; +} + +std::vector& CommentReliablePdu::getVariableDatumRecords() +{ + return _variableDatumRecords; +} + +const std::vector& CommentReliablePdu::getVariableDatumRecords() const +{ + return _variableDatumRecords; +} + +void CommentReliablePdu::setVariableDatumRecords(const std::vector& pX) +{ + _variableDatumRecords = pX; +} + +void CommentReliablePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementWithReliabilityFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << ( unsigned int )_fixedDatumRecords.size(); + dataStream << ( unsigned int )_variableDatumRecords.size(); + + for(size_t idx = 0; idx < _fixedDatumRecords.size(); idx++) + { + FixedDatum x = _fixedDatumRecords[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _variableDatumRecords.size(); idx++) + { + VariableDatum x = _variableDatumRecords[idx]; + x.marshal(dataStream); + } + +} + +void CommentReliablePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementWithReliabilityFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _numberOfFixedDatumRecords; + dataStream >> _numberOfVariableDatumRecords; + + _fixedDatumRecords.clear(); + for(size_t idx = 0; idx < _numberOfFixedDatumRecords; idx++) + { + FixedDatum x; + x.unmarshal(dataStream); + _fixedDatumRecords.push_back(x); + } + + _variableDatumRecords.clear(); + for(size_t idx = 0; idx < _numberOfVariableDatumRecords; idx++) + { + VariableDatum x; + x.unmarshal(dataStream); + _variableDatumRecords.push_back(x); + } +} + + +bool CommentReliablePdu::operator ==(const CommentReliablePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementWithReliabilityFamilyPdu::operator==(rhs); + + + for(size_t idx = 0; idx < _fixedDatumRecords.size(); idx++) + { + if( ! ( _fixedDatumRecords[idx] == rhs._fixedDatumRecords[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _variableDatumRecords.size(); idx++) + { + if( ! ( _variableDatumRecords[idx] == rhs._variableDatumRecords[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int CommentReliablePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementWithReliabilityFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 4; // _numberOfFixedDatumRecords + marshalSize = marshalSize + 4; // _numberOfVariableDatumRecords + + for(int idx=0; idx < _fixedDatumRecords.size(); idx++) + { + FixedDatum listElement = _fixedDatumRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _variableDatumRecords.size(); idx++) + { + VariableDatum listElement = _variableDatumRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/CommentReliablePdu.h b/cpp/DIS7/CommentReliablePdu.h new file mode 100644 index 00000000..8154d49a --- /dev/null +++ b/cpp/DIS7/CommentReliablePdu.h @@ -0,0 +1,92 @@ +#ifndef COMMENTRELIABLEPDU_H +#define COMMENTRELIABLEPDU_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.12.12: Arbitrary messages. Only reliable this time. Neds manual intervention to fix padding in variable datums. UNFINISHED + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO CommentReliablePdu : public SimulationManagementWithReliabilityFamilyPdu +{ +protected: + /** Fixed datum record count */ + unsigned int _numberOfFixedDatumRecords; + + /** variable datum record count */ + unsigned int _numberOfVariableDatumRecords; + + /** Fixed datum records */ + std::vector _fixedDatumRecords; + + /** Variable datum records */ + std::vector _variableDatumRecords; + + + public: + CommentReliablePdu(); + virtual ~CommentReliablePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getNumberOfFixedDatumRecords() const; + + unsigned int getNumberOfVariableDatumRecords() const; + + std::vector& getFixedDatumRecords(); + const std::vector& getFixedDatumRecords() const; + void setFixedDatumRecords(const std::vector& pX); + + std::vector& getVariableDatumRecords(); + const std::vector& getVariableDatumRecords() const; + void setVariableDatumRecords(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const CommentReliablePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/CommunicationsNodeID.cpp b/cpp/DIS7/CommunicationsNodeID.cpp new file mode 100644 index 00000000..8910ad0b --- /dev/null +++ b/cpp/DIS7/CommunicationsNodeID.cpp @@ -0,0 +1,102 @@ +#include + +using namespace DIS; + + +CommunicationsNodeID::CommunicationsNodeID(): + _entityID(), + _elementID(0) +{ +} + +CommunicationsNodeID::~CommunicationsNodeID() +{ +} + +EntityID& CommunicationsNodeID::getEntityID() +{ + return _entityID; +} + +const EntityID& CommunicationsNodeID::getEntityID() const +{ + return _entityID; +} + +void CommunicationsNodeID::setEntityID(const EntityID &pX) +{ + _entityID = pX; +} + +unsigned short CommunicationsNodeID::getElementID() const +{ + return _elementID; +} + +void CommunicationsNodeID::setElementID(unsigned short pX) +{ + _elementID = pX; +} + +void CommunicationsNodeID::marshal(DataStream& dataStream) const +{ + _entityID.marshal(dataStream); + dataStream << _elementID; +} + +void CommunicationsNodeID::unmarshal(DataStream& dataStream) +{ + _entityID.unmarshal(dataStream); + dataStream >> _elementID; +} + + +bool CommunicationsNodeID::operator ==(const CommunicationsNodeID& rhs) const + { + bool ivarsEqual = true; + + if( ! (_entityID == rhs._entityID) ) ivarsEqual = false; + if( ! (_elementID == rhs._elementID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int CommunicationsNodeID::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _entityID.getMarshalledSize(); // _entityID + marshalSize = marshalSize + 2; // _elementID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/CommunicationsNodeID.h b/cpp/DIS7/CommunicationsNodeID.h new file mode 100644 index 00000000..17c6f766 --- /dev/null +++ b/cpp/DIS7/CommunicationsNodeID.h @@ -0,0 +1,76 @@ +#ifndef COMMUNICATIONSNODEID_H +#define COMMUNICATIONSNODEID_H + +#include +#include +#include + + +namespace DIS +{ +// Identity of a communications node. Section 6.2.49.4 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO CommunicationsNodeID +{ +protected: + EntityID _entityID; + + unsigned short _elementID; + + + public: + CommunicationsNodeID(); + virtual ~CommunicationsNodeID(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getEntityID(); + const EntityID& getEntityID() const; + void setEntityID(const EntityID &pX); + + unsigned short getElementID() const; + void setElementID(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const CommunicationsNodeID& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/CreateEntityPdu.cpp b/cpp/DIS7/CreateEntityPdu.cpp new file mode 100644 index 00000000..0cae2ea8 --- /dev/null +++ b/cpp/DIS7/CreateEntityPdu.cpp @@ -0,0 +1,128 @@ +#include + +using namespace DIS; + + +CreateEntityPdu::CreateEntityPdu() : SimulationManagementFamilyPdu(), + _originatingID(), + _receivingID(), + _requestID(0) +{ + setPduType( 11 ); +} + +CreateEntityPdu::~CreateEntityPdu() +{ +} + +EntityID& CreateEntityPdu::getOriginatingID() +{ + return _originatingID; +} + +const EntityID& CreateEntityPdu::getOriginatingID() const +{ + return _originatingID; +} + +void CreateEntityPdu::setOriginatingID(const EntityID &pX) +{ + _originatingID = pX; +} + +EntityID& CreateEntityPdu::getReceivingID() +{ + return _receivingID; +} + +const EntityID& CreateEntityPdu::getReceivingID() const +{ + return _receivingID; +} + +void CreateEntityPdu::setReceivingID(const EntityID &pX) +{ + _receivingID = pX; +} + +unsigned int CreateEntityPdu::getRequestID() const +{ + return _requestID; +} + +void CreateEntityPdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +void CreateEntityPdu::marshal(DataStream& dataStream) const +{ + SimulationManagementFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _originatingID.marshal(dataStream); + _receivingID.marshal(dataStream); + dataStream << _requestID; +} + +void CreateEntityPdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _originatingID.unmarshal(dataStream); + _receivingID.unmarshal(dataStream); + dataStream >> _requestID; +} + + +bool CreateEntityPdu::operator ==(const CreateEntityPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementFamilyPdu::operator==(rhs); + + if( ! (_originatingID == rhs._originatingID) ) ivarsEqual = false; + if( ! (_receivingID == rhs._receivingID) ) ivarsEqual = false; + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int CreateEntityPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _originatingID.getMarshalledSize(); // _originatingID + marshalSize = marshalSize + _receivingID.getMarshalledSize(); // _receivingID + marshalSize = marshalSize + 4; // _requestID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/CreateEntityPdu.h b/cpp/DIS7/CreateEntityPdu.h new file mode 100644 index 00000000..5d8c769a --- /dev/null +++ b/cpp/DIS7/CreateEntityPdu.h @@ -0,0 +1,87 @@ +#ifndef CREATEENTITYPDU_H +#define CREATEENTITYPDU_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 7.5.2. Create a new entity. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO CreateEntityPdu : public SimulationManagementFamilyPdu +{ +protected: + /** Identifier for the request */ + EntityID _originatingID; + + /** Identifier for the request */ + EntityID _receivingID; + + /** Identifier for the request. See 6.2.75 */ + unsigned int _requestID; + + + public: + CreateEntityPdu(); + virtual ~CreateEntityPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getOriginatingID(); + const EntityID& getOriginatingID() const; + void setOriginatingID(const EntityID &pX); + + EntityID& getReceivingID(); + const EntityID& getReceivingID() const; + void setReceivingID(const EntityID &pX); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const CreateEntityPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/CreateEntityReliablePdu.cpp b/cpp/DIS7/CreateEntityReliablePdu.cpp new file mode 100644 index 00000000..58ee7470 --- /dev/null +++ b/cpp/DIS7/CreateEntityReliablePdu.cpp @@ -0,0 +1,133 @@ +#include + +using namespace DIS; + + +CreateEntityReliablePdu::CreateEntityReliablePdu() : SimulationManagementWithReliabilityFamilyPdu(), + _requiredReliabilityService(0), + _pad1(0), + _pad2(0), + _requestID(0) +{ + setPduType( 51 ); +} + +CreateEntityReliablePdu::~CreateEntityReliablePdu() +{ +} + +unsigned char CreateEntityReliablePdu::getRequiredReliabilityService() const +{ + return _requiredReliabilityService; +} + +void CreateEntityReliablePdu::setRequiredReliabilityService(unsigned char pX) +{ + _requiredReliabilityService = pX; +} + +unsigned short CreateEntityReliablePdu::getPad1() const +{ + return _pad1; +} + +void CreateEntityReliablePdu::setPad1(unsigned short pX) +{ + _pad1 = pX; +} + +unsigned char CreateEntityReliablePdu::getPad2() const +{ + return _pad2; +} + +void CreateEntityReliablePdu::setPad2(unsigned char pX) +{ + _pad2 = pX; +} + +unsigned int CreateEntityReliablePdu::getRequestID() const +{ + return _requestID; +} + +void CreateEntityReliablePdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +void CreateEntityReliablePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementWithReliabilityFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _requiredReliabilityService; + dataStream << _pad1; + dataStream << _pad2; + dataStream << _requestID; +} + +void CreateEntityReliablePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementWithReliabilityFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _requiredReliabilityService; + dataStream >> _pad1; + dataStream >> _pad2; + dataStream >> _requestID; +} + + +bool CreateEntityReliablePdu::operator ==(const CreateEntityReliablePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementWithReliabilityFamilyPdu::operator==(rhs); + + if( ! (_requiredReliabilityService == rhs._requiredReliabilityService) ) ivarsEqual = false; + if( ! (_pad1 == rhs._pad1) ) ivarsEqual = false; + if( ! (_pad2 == rhs._pad2) ) ivarsEqual = false; + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int CreateEntityReliablePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementWithReliabilityFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 1; // _requiredReliabilityService + marshalSize = marshalSize + 2; // _pad1 + marshalSize = marshalSize + 1; // _pad2 + marshalSize = marshalSize + 4; // _requestID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/CreateEntityReliablePdu.h b/cpp/DIS7/CreateEntityReliablePdu.h new file mode 100644 index 00000000..6cd49298 --- /dev/null +++ b/cpp/DIS7/CreateEntityReliablePdu.h @@ -0,0 +1,89 @@ +#ifndef CREATEENTITYRELIABLEPDU_H +#define CREATEENTITYRELIABLEPDU_H + +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.12.1: creation of an entity , reliable. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO CreateEntityReliablePdu : public SimulationManagementWithReliabilityFamilyPdu +{ +protected: + /** level of reliability service used for this transaction */ + unsigned char _requiredReliabilityService; + + /** padding */ + unsigned short _pad1; + + /** padding */ + unsigned char _pad2; + + /** Request ID */ + unsigned int _requestID; + + + public: + CreateEntityReliablePdu(); + virtual ~CreateEntityReliablePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getRequiredReliabilityService() const; + void setRequiredReliabilityService(unsigned char pX); + + unsigned short getPad1() const; + void setPad1(unsigned short pX); + + unsigned char getPad2() const; + void setPad2(unsigned char pX); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const CreateEntityReliablePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/DataPdu.cpp b/cpp/DIS7/DataPdu.cpp new file mode 100644 index 00000000..ea22ed10 --- /dev/null +++ b/cpp/DIS7/DataPdu.cpp @@ -0,0 +1,209 @@ +#include + +using namespace DIS; + + +DataPdu::DataPdu() : SimulationManagementFamilyPdu(), + _requestID(0), + _padding1(0), + _numberOfFixedDatumRecords(0), + _numberOfVariableDatumRecords(0) +{ + setPduType( 20 ); +} + +DataPdu::~DataPdu() +{ + _fixedDatums.clear(); + _variableDatums.clear(); +} + +unsigned int DataPdu::getRequestID() const +{ + return _requestID; +} + +void DataPdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +unsigned int DataPdu::getPadding1() const +{ + return _padding1; +} + +void DataPdu::setPadding1(unsigned int pX) +{ + _padding1 = pX; +} + +unsigned int DataPdu::getNumberOfFixedDatumRecords() const +{ + return _fixedDatums.size(); +} + +unsigned int DataPdu::getNumberOfVariableDatumRecords() const +{ + return _variableDatums.size(); +} + +std::vector& DataPdu::getFixedDatums() +{ + return _fixedDatums; +} + +const std::vector& DataPdu::getFixedDatums() const +{ + return _fixedDatums; +} + +void DataPdu::setFixedDatums(const std::vector& pX) +{ + _fixedDatums = pX; +} + +std::vector& DataPdu::getVariableDatums() +{ + return _variableDatums; +} + +const std::vector& DataPdu::getVariableDatums() const +{ + return _variableDatums; +} + +void DataPdu::setVariableDatums(const std::vector& pX) +{ + _variableDatums = pX; +} + +void DataPdu::marshal(DataStream& dataStream) const +{ + SimulationManagementFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _requestID; + dataStream << _padding1; + dataStream << ( unsigned int )_fixedDatums.size(); + dataStream << ( unsigned int )_variableDatums.size(); + + for(size_t idx = 0; idx < _fixedDatums.size(); idx++) + { + FixedDatum x = _fixedDatums[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { + VariableDatum x = _variableDatums[idx]; + x.marshal(dataStream); + } + +} + +void DataPdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _requestID; + dataStream >> _padding1; + dataStream >> _numberOfFixedDatumRecords; + dataStream >> _numberOfVariableDatumRecords; + + _fixedDatums.clear(); + for(size_t idx = 0; idx < _numberOfFixedDatumRecords; idx++) + { + FixedDatum x; + x.unmarshal(dataStream); + _fixedDatums.push_back(x); + } + + _variableDatums.clear(); + for(size_t idx = 0; idx < _numberOfVariableDatumRecords; idx++) + { + VariableDatum x; + x.unmarshal(dataStream); + _variableDatums.push_back(x); + } +} + + +bool DataPdu::operator ==(const DataPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementFamilyPdu::operator==(rhs); + + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + if( ! (_padding1 == rhs._padding1) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _fixedDatums.size(); idx++) + { + if( ! ( _fixedDatums[idx] == rhs._fixedDatums[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { + if( ! ( _variableDatums[idx] == rhs._variableDatums[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int DataPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 4; // _requestID + marshalSize = marshalSize + 4; // _padding1 + marshalSize = marshalSize + 4; // _numberOfFixedDatumRecords + marshalSize = marshalSize + 4; // _numberOfVariableDatumRecords + + for(int idx=0; idx < _fixedDatums.size(); idx++) + { + FixedDatum listElement = _fixedDatums[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _variableDatums.size(); idx++) + { + VariableDatum listElement = _variableDatums[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/DataPdu.h b/cpp/DIS7/DataPdu.h new file mode 100644 index 00000000..9ddd10e0 --- /dev/null +++ b/cpp/DIS7/DataPdu.h @@ -0,0 +1,104 @@ +#ifndef DATAPDU_H +#define DATAPDU_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Information issued in response to a data query pdu or a set data pdu is communicated using a data pdu. Section 7.5.11 COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO DataPdu : public SimulationManagementFamilyPdu +{ +protected: + /** ID of request */ + unsigned int _requestID; + + /** padding */ + unsigned int _padding1; + + /** Number of fixed datum records */ + unsigned int _numberOfFixedDatumRecords; + + /** Number of variable datum records */ + unsigned int _numberOfVariableDatumRecords; + + /** variable length list of fixed datums */ + std::vector _fixedDatums; + + /** variable length list of variable length datums */ + std::vector _variableDatums; + + + public: + DataPdu(); + virtual ~DataPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + unsigned int getPadding1() const; + void setPadding1(unsigned int pX); + + unsigned int getNumberOfFixedDatumRecords() const; + + unsigned int getNumberOfVariableDatumRecords() const; + + std::vector& getFixedDatums(); + const std::vector& getFixedDatums() const; + void setFixedDatums(const std::vector& pX); + + std::vector& getVariableDatums(); + const std::vector& getVariableDatums() const; + void setVariableDatums(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const DataPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/DataQueryDatumSpecification.cpp b/cpp/DIS7/DataQueryDatumSpecification.cpp new file mode 100644 index 00000000..fae911c1 --- /dev/null +++ b/cpp/DIS7/DataQueryDatumSpecification.cpp @@ -0,0 +1,173 @@ +#include + +using namespace DIS; + + +DataQueryDatumSpecification::DataQueryDatumSpecification(): + _numberOfFixedDatums(0), + _numberOfVariableDatums(0) +{ +} + +DataQueryDatumSpecification::~DataQueryDatumSpecification() +{ + _fixedDatumIDList.clear(); + _variableDatumIDList.clear(); +} + +unsigned int DataQueryDatumSpecification::getNumberOfFixedDatums() const +{ + return _fixedDatumIDList.size(); +} + +unsigned int DataQueryDatumSpecification::getNumberOfVariableDatums() const +{ + return _variableDatumIDList.size(); +} + +std::vector& DataQueryDatumSpecification::getFixedDatumIDList() +{ + return _fixedDatumIDList; +} + +const std::vector& DataQueryDatumSpecification::getFixedDatumIDList() const +{ + return _fixedDatumIDList; +} + +void DataQueryDatumSpecification::setFixedDatumIDList(const std::vector& pX) +{ + _fixedDatumIDList = pX; +} + +std::vector& DataQueryDatumSpecification::getVariableDatumIDList() +{ + return _variableDatumIDList; +} + +const std::vector& DataQueryDatumSpecification::getVariableDatumIDList() const +{ + return _variableDatumIDList; +} + +void DataQueryDatumSpecification::setVariableDatumIDList(const std::vector& pX) +{ + _variableDatumIDList = pX; +} + +void DataQueryDatumSpecification::marshal(DataStream& dataStream) const +{ + dataStream << ( unsigned int )_fixedDatumIDList.size(); + dataStream << ( unsigned int )_variableDatumIDList.size(); + + for(size_t idx = 0; idx < _fixedDatumIDList.size(); idx++) + { + UnsignedDISInteger x = _fixedDatumIDList[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _variableDatumIDList.size(); idx++) + { + UnsignedDISInteger x = _variableDatumIDList[idx]; + x.marshal(dataStream); + } + +} + +void DataQueryDatumSpecification::unmarshal(DataStream& dataStream) +{ + dataStream >> _numberOfFixedDatums; + dataStream >> _numberOfVariableDatums; + + _fixedDatumIDList.clear(); + for(size_t idx = 0; idx < _numberOfFixedDatums; idx++) + { + UnsignedDISInteger x; + x.unmarshal(dataStream); + _fixedDatumIDList.push_back(x); + } + + _variableDatumIDList.clear(); + for(size_t idx = 0; idx < _numberOfVariableDatums; idx++) + { + UnsignedDISInteger x; + x.unmarshal(dataStream); + _variableDatumIDList.push_back(x); + } +} + + +bool DataQueryDatumSpecification::operator ==(const DataQueryDatumSpecification& rhs) const + { + bool ivarsEqual = true; + + + for(size_t idx = 0; idx < _fixedDatumIDList.size(); idx++) + { + if( ! ( _fixedDatumIDList[idx] == rhs._fixedDatumIDList[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _variableDatumIDList.size(); idx++) + { + if( ! ( _variableDatumIDList[idx] == rhs._variableDatumIDList[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int DataQueryDatumSpecification::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _numberOfFixedDatums + marshalSize = marshalSize + 4; // _numberOfVariableDatums + + for(int idx=0; idx < _fixedDatumIDList.size(); idx++) + { + UnsignedDISInteger listElement = _fixedDatumIDList[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _variableDatumIDList.size(); idx++) + { + UnsignedDISInteger listElement = _variableDatumIDList[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/DataQueryDatumSpecification.h b/cpp/DIS7/DataQueryDatumSpecification.h new file mode 100644 index 00000000..7ff08d29 --- /dev/null +++ b/cpp/DIS7/DataQueryDatumSpecification.h @@ -0,0 +1,91 @@ +#ifndef DATAQUERYDATUMSPECIFICATION_H +#define DATAQUERYDATUMSPECIFICATION_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// List of fixed and variable datum records. Section 6.2.18 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO DataQueryDatumSpecification +{ +protected: + /** Number of fixed datums */ + unsigned int _numberOfFixedDatums; + + /** Number of variable datums */ + unsigned int _numberOfVariableDatums; + + /** variable length list fixed datum IDs */ + std::vector _fixedDatumIDList; + + /** variable length list variable datum IDs */ + std::vector _variableDatumIDList; + + + public: + DataQueryDatumSpecification(); + virtual ~DataQueryDatumSpecification(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getNumberOfFixedDatums() const; + + unsigned int getNumberOfVariableDatums() const; + + std::vector& getFixedDatumIDList(); + const std::vector& getFixedDatumIDList() const; + void setFixedDatumIDList(const std::vector& pX); + + std::vector& getVariableDatumIDList(); + const std::vector& getVariableDatumIDList() const; + void setVariableDatumIDList(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const DataQueryDatumSpecification& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/DataQueryPdu.cpp b/cpp/DIS7/DataQueryPdu.cpp new file mode 100644 index 00000000..aad3ef8e --- /dev/null +++ b/cpp/DIS7/DataQueryPdu.cpp @@ -0,0 +1,209 @@ +#include + +using namespace DIS; + + +DataQueryPdu::DataQueryPdu() : SimulationManagementFamilyPdu(), + _requestID(0), + _timeInterval(0), + _numberOfFixedDatumRecords(0), + _numberOfVariableDatumRecords(0) +{ + setPduType( 18 ); +} + +DataQueryPdu::~DataQueryPdu() +{ + _fixedDatums.clear(); + _variableDatums.clear(); +} + +unsigned int DataQueryPdu::getRequestID() const +{ + return _requestID; +} + +void DataQueryPdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +unsigned int DataQueryPdu::getTimeInterval() const +{ + return _timeInterval; +} + +void DataQueryPdu::setTimeInterval(unsigned int pX) +{ + _timeInterval = pX; +} + +unsigned int DataQueryPdu::getNumberOfFixedDatumRecords() const +{ + return _fixedDatums.size(); +} + +unsigned int DataQueryPdu::getNumberOfVariableDatumRecords() const +{ + return _variableDatums.size(); +} + +std::vector& DataQueryPdu::getFixedDatums() +{ + return _fixedDatums; +} + +const std::vector& DataQueryPdu::getFixedDatums() const +{ + return _fixedDatums; +} + +void DataQueryPdu::setFixedDatums(const std::vector& pX) +{ + _fixedDatums = pX; +} + +std::vector& DataQueryPdu::getVariableDatums() +{ + return _variableDatums; +} + +const std::vector& DataQueryPdu::getVariableDatums() const +{ + return _variableDatums; +} + +void DataQueryPdu::setVariableDatums(const std::vector& pX) +{ + _variableDatums = pX; +} + +void DataQueryPdu::marshal(DataStream& dataStream) const +{ + SimulationManagementFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _requestID; + dataStream << _timeInterval; + dataStream << ( unsigned int )_fixedDatums.size(); + dataStream << ( unsigned int )_variableDatums.size(); + + for(size_t idx = 0; idx < _fixedDatums.size(); idx++) + { + FixedDatum x = _fixedDatums[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { + VariableDatum x = _variableDatums[idx]; + x.marshal(dataStream); + } + +} + +void DataQueryPdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _requestID; + dataStream >> _timeInterval; + dataStream >> _numberOfFixedDatumRecords; + dataStream >> _numberOfVariableDatumRecords; + + _fixedDatums.clear(); + for(size_t idx = 0; idx < _numberOfFixedDatumRecords; idx++) + { + FixedDatum x; + x.unmarshal(dataStream); + _fixedDatums.push_back(x); + } + + _variableDatums.clear(); + for(size_t idx = 0; idx < _numberOfVariableDatumRecords; idx++) + { + VariableDatum x; + x.unmarshal(dataStream); + _variableDatums.push_back(x); + } +} + + +bool DataQueryPdu::operator ==(const DataQueryPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementFamilyPdu::operator==(rhs); + + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + if( ! (_timeInterval == rhs._timeInterval) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _fixedDatums.size(); idx++) + { + if( ! ( _fixedDatums[idx] == rhs._fixedDatums[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { + if( ! ( _variableDatums[idx] == rhs._variableDatums[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int DataQueryPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 4; // _requestID + marshalSize = marshalSize + 4; // _timeInterval + marshalSize = marshalSize + 4; // _numberOfFixedDatumRecords + marshalSize = marshalSize + 4; // _numberOfVariableDatumRecords + + for(int idx=0; idx < _fixedDatums.size(); idx++) + { + FixedDatum listElement = _fixedDatums[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _variableDatums.size(); idx++) + { + VariableDatum listElement = _variableDatums[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/DataQueryPdu.h b/cpp/DIS7/DataQueryPdu.h new file mode 100644 index 00000000..b0d60075 --- /dev/null +++ b/cpp/DIS7/DataQueryPdu.h @@ -0,0 +1,104 @@ +#ifndef DATAQUERYPDU_H +#define DATAQUERYPDU_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 7.5.9. Request for data from an entity. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO DataQueryPdu : public SimulationManagementFamilyPdu +{ +protected: + /** ID of request */ + unsigned int _requestID; + + /** time issues between issues of Data PDUs. Zero means send once only. */ + unsigned int _timeInterval; + + /** Number of fixed datum records */ + unsigned int _numberOfFixedDatumRecords; + + /** Number of variable datum records */ + unsigned int _numberOfVariableDatumRecords; + + /** variable length list of fixed datums */ + std::vector _fixedDatums; + + /** variable length list of variable length datums */ + std::vector _variableDatums; + + + public: + DataQueryPdu(); + virtual ~DataQueryPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + unsigned int getTimeInterval() const; + void setTimeInterval(unsigned int pX); + + unsigned int getNumberOfFixedDatumRecords() const; + + unsigned int getNumberOfVariableDatumRecords() const; + + std::vector& getFixedDatums(); + const std::vector& getFixedDatums() const; + void setFixedDatums(const std::vector& pX); + + std::vector& getVariableDatums(); + const std::vector& getVariableDatums() const; + void setVariableDatums(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const DataQueryPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/DataQueryReliablePdu.cpp b/cpp/DIS7/DataQueryReliablePdu.cpp new file mode 100644 index 00000000..afa4af4b --- /dev/null +++ b/cpp/DIS7/DataQueryReliablePdu.cpp @@ -0,0 +1,254 @@ +#include + +using namespace DIS; + + +DataQueryReliablePdu::DataQueryReliablePdu() : SimulationManagementWithReliabilityFamilyPdu(), + _requiredReliabilityService(0), + _pad1(0), + _pad2(0), + _requestID(0), + _timeInterval(0), + _numberOfFixedDatumRecords(0), + _numberOfVariableDatumRecords(0) +{ + setPduType( 58 ); +} + +DataQueryReliablePdu::~DataQueryReliablePdu() +{ + _fixedDatumRecords.clear(); + _variableDatumRecords.clear(); +} + +unsigned char DataQueryReliablePdu::getRequiredReliabilityService() const +{ + return _requiredReliabilityService; +} + +void DataQueryReliablePdu::setRequiredReliabilityService(unsigned char pX) +{ + _requiredReliabilityService = pX; +} + +unsigned short DataQueryReliablePdu::getPad1() const +{ + return _pad1; +} + +void DataQueryReliablePdu::setPad1(unsigned short pX) +{ + _pad1 = pX; +} + +unsigned char DataQueryReliablePdu::getPad2() const +{ + return _pad2; +} + +void DataQueryReliablePdu::setPad2(unsigned char pX) +{ + _pad2 = pX; +} + +unsigned int DataQueryReliablePdu::getRequestID() const +{ + return _requestID; +} + +void DataQueryReliablePdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +unsigned int DataQueryReliablePdu::getTimeInterval() const +{ + return _timeInterval; +} + +void DataQueryReliablePdu::setTimeInterval(unsigned int pX) +{ + _timeInterval = pX; +} + +unsigned int DataQueryReliablePdu::getNumberOfFixedDatumRecords() const +{ + return _fixedDatumRecords.size(); +} + +unsigned int DataQueryReliablePdu::getNumberOfVariableDatumRecords() const +{ + return _variableDatumRecords.size(); +} + +std::vector& DataQueryReliablePdu::getFixedDatumRecords() +{ + return _fixedDatumRecords; +} + +const std::vector& DataQueryReliablePdu::getFixedDatumRecords() const +{ + return _fixedDatumRecords; +} + +void DataQueryReliablePdu::setFixedDatumRecords(const std::vector& pX) +{ + _fixedDatumRecords = pX; +} + +std::vector& DataQueryReliablePdu::getVariableDatumRecords() +{ + return _variableDatumRecords; +} + +const std::vector& DataQueryReliablePdu::getVariableDatumRecords() const +{ + return _variableDatumRecords; +} + +void DataQueryReliablePdu::setVariableDatumRecords(const std::vector& pX) +{ + _variableDatumRecords = pX; +} + +void DataQueryReliablePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementWithReliabilityFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _requiredReliabilityService; + dataStream << _pad1; + dataStream << _pad2; + dataStream << _requestID; + dataStream << _timeInterval; + dataStream << ( unsigned int )_fixedDatumRecords.size(); + dataStream << ( unsigned int )_variableDatumRecords.size(); + + for(size_t idx = 0; idx < _fixedDatumRecords.size(); idx++) + { + FixedDatum x = _fixedDatumRecords[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _variableDatumRecords.size(); idx++) + { + VariableDatum x = _variableDatumRecords[idx]; + x.marshal(dataStream); + } + +} + +void DataQueryReliablePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementWithReliabilityFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _requiredReliabilityService; + dataStream >> _pad1; + dataStream >> _pad2; + dataStream >> _requestID; + dataStream >> _timeInterval; + dataStream >> _numberOfFixedDatumRecords; + dataStream >> _numberOfVariableDatumRecords; + + _fixedDatumRecords.clear(); + for(size_t idx = 0; idx < _numberOfFixedDatumRecords; idx++) + { + FixedDatum x; + x.unmarshal(dataStream); + _fixedDatumRecords.push_back(x); + } + + _variableDatumRecords.clear(); + for(size_t idx = 0; idx < _numberOfVariableDatumRecords; idx++) + { + VariableDatum x; + x.unmarshal(dataStream); + _variableDatumRecords.push_back(x); + } +} + + +bool DataQueryReliablePdu::operator ==(const DataQueryReliablePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementWithReliabilityFamilyPdu::operator==(rhs); + + if( ! (_requiredReliabilityService == rhs._requiredReliabilityService) ) ivarsEqual = false; + if( ! (_pad1 == rhs._pad1) ) ivarsEqual = false; + if( ! (_pad2 == rhs._pad2) ) ivarsEqual = false; + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + if( ! (_timeInterval == rhs._timeInterval) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _fixedDatumRecords.size(); idx++) + { + if( ! ( _fixedDatumRecords[idx] == rhs._fixedDatumRecords[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _variableDatumRecords.size(); idx++) + { + if( ! ( _variableDatumRecords[idx] == rhs._variableDatumRecords[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int DataQueryReliablePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementWithReliabilityFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 1; // _requiredReliabilityService + marshalSize = marshalSize + 2; // _pad1 + marshalSize = marshalSize + 1; // _pad2 + marshalSize = marshalSize + 4; // _requestID + marshalSize = marshalSize + 4; // _timeInterval + marshalSize = marshalSize + 4; // _numberOfFixedDatumRecords + marshalSize = marshalSize + 4; // _numberOfVariableDatumRecords + + for(int idx=0; idx < _fixedDatumRecords.size(); idx++) + { + FixedDatum listElement = _fixedDatumRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _variableDatumRecords.size(); idx++) + { + VariableDatum listElement = _variableDatumRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/DataQueryReliablePdu.h b/cpp/DIS7/DataQueryReliablePdu.h new file mode 100644 index 00000000..64e2d9d0 --- /dev/null +++ b/cpp/DIS7/DataQueryReliablePdu.h @@ -0,0 +1,122 @@ +#ifndef DATAQUERYRELIABLEPDU_H +#define DATAQUERYRELIABLEPDU_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.12.8: request for data from an entity. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO DataQueryReliablePdu : public SimulationManagementWithReliabilityFamilyPdu +{ +protected: + /** level of reliability service used for this transaction */ + unsigned char _requiredReliabilityService; + + /** padding */ + unsigned short _pad1; + + /** padding */ + unsigned char _pad2; + + /** request ID */ + unsigned int _requestID; + + /** time interval between issuing data query PDUs */ + unsigned int _timeInterval; + + /** Fixed datum record count */ + unsigned int _numberOfFixedDatumRecords; + + /** variable datum record count */ + unsigned int _numberOfVariableDatumRecords; + + /** Fixed datum records */ + std::vector _fixedDatumRecords; + + /** Variable datum records */ + std::vector _variableDatumRecords; + + + public: + DataQueryReliablePdu(); + virtual ~DataQueryReliablePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getRequiredReliabilityService() const; + void setRequiredReliabilityService(unsigned char pX); + + unsigned short getPad1() const; + void setPad1(unsigned short pX); + + unsigned char getPad2() const; + void setPad2(unsigned char pX); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + unsigned int getTimeInterval() const; + void setTimeInterval(unsigned int pX); + + unsigned int getNumberOfFixedDatumRecords() const; + + unsigned int getNumberOfVariableDatumRecords() const; + + std::vector& getFixedDatumRecords(); + const std::vector& getFixedDatumRecords() const; + void setFixedDatumRecords(const std::vector& pX); + + std::vector& getVariableDatumRecords(); + const std::vector& getVariableDatumRecords() const; + void setVariableDatumRecords(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const DataQueryReliablePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/DataReliablePdu.cpp b/cpp/DIS7/DataReliablePdu.cpp new file mode 100644 index 00000000..7056c97a --- /dev/null +++ b/cpp/DIS7/DataReliablePdu.cpp @@ -0,0 +1,239 @@ +#include + +using namespace DIS; + + +DataReliablePdu::DataReliablePdu() : SimulationManagementWithReliabilityFamilyPdu(), + _requestID(0), + _requiredReliabilityService(0), + _pad1(0), + _pad2(0), + _numberOfFixedDatumRecords(0), + _numberOfVariableDatumRecords(0) +{ + setPduType( 60 ); +} + +DataReliablePdu::~DataReliablePdu() +{ + _fixedDatumRecords.clear(); + _variableDatumRecords.clear(); +} + +unsigned int DataReliablePdu::getRequestID() const +{ + return _requestID; +} + +void DataReliablePdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +unsigned char DataReliablePdu::getRequiredReliabilityService() const +{ + return _requiredReliabilityService; +} + +void DataReliablePdu::setRequiredReliabilityService(unsigned char pX) +{ + _requiredReliabilityService = pX; +} + +unsigned short DataReliablePdu::getPad1() const +{ + return _pad1; +} + +void DataReliablePdu::setPad1(unsigned short pX) +{ + _pad1 = pX; +} + +unsigned char DataReliablePdu::getPad2() const +{ + return _pad2; +} + +void DataReliablePdu::setPad2(unsigned char pX) +{ + _pad2 = pX; +} + +unsigned int DataReliablePdu::getNumberOfFixedDatumRecords() const +{ + return _fixedDatumRecords.size(); +} + +unsigned int DataReliablePdu::getNumberOfVariableDatumRecords() const +{ + return _variableDatumRecords.size(); +} + +std::vector& DataReliablePdu::getFixedDatumRecords() +{ + return _fixedDatumRecords; +} + +const std::vector& DataReliablePdu::getFixedDatumRecords() const +{ + return _fixedDatumRecords; +} + +void DataReliablePdu::setFixedDatumRecords(const std::vector& pX) +{ + _fixedDatumRecords = pX; +} + +std::vector& DataReliablePdu::getVariableDatumRecords() +{ + return _variableDatumRecords; +} + +const std::vector& DataReliablePdu::getVariableDatumRecords() const +{ + return _variableDatumRecords; +} + +void DataReliablePdu::setVariableDatumRecords(const std::vector& pX) +{ + _variableDatumRecords = pX; +} + +void DataReliablePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementWithReliabilityFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _requestID; + dataStream << _requiredReliabilityService; + dataStream << _pad1; + dataStream << _pad2; + dataStream << ( unsigned int )_fixedDatumRecords.size(); + dataStream << ( unsigned int )_variableDatumRecords.size(); + + for(size_t idx = 0; idx < _fixedDatumRecords.size(); idx++) + { + FixedDatum x = _fixedDatumRecords[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _variableDatumRecords.size(); idx++) + { + VariableDatum x = _variableDatumRecords[idx]; + x.marshal(dataStream); + } + +} + +void DataReliablePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementWithReliabilityFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _requestID; + dataStream >> _requiredReliabilityService; + dataStream >> _pad1; + dataStream >> _pad2; + dataStream >> _numberOfFixedDatumRecords; + dataStream >> _numberOfVariableDatumRecords; + + _fixedDatumRecords.clear(); + for(size_t idx = 0; idx < _numberOfFixedDatumRecords; idx++) + { + FixedDatum x; + x.unmarshal(dataStream); + _fixedDatumRecords.push_back(x); + } + + _variableDatumRecords.clear(); + for(size_t idx = 0; idx < _numberOfVariableDatumRecords; idx++) + { + VariableDatum x; + x.unmarshal(dataStream); + _variableDatumRecords.push_back(x); + } +} + + +bool DataReliablePdu::operator ==(const DataReliablePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementWithReliabilityFamilyPdu::operator==(rhs); + + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + if( ! (_requiredReliabilityService == rhs._requiredReliabilityService) ) ivarsEqual = false; + if( ! (_pad1 == rhs._pad1) ) ivarsEqual = false; + if( ! (_pad2 == rhs._pad2) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _fixedDatumRecords.size(); idx++) + { + if( ! ( _fixedDatumRecords[idx] == rhs._fixedDatumRecords[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _variableDatumRecords.size(); idx++) + { + if( ! ( _variableDatumRecords[idx] == rhs._variableDatumRecords[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int DataReliablePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementWithReliabilityFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 4; // _requestID + marshalSize = marshalSize + 1; // _requiredReliabilityService + marshalSize = marshalSize + 2; // _pad1 + marshalSize = marshalSize + 1; // _pad2 + marshalSize = marshalSize + 4; // _numberOfFixedDatumRecords + marshalSize = marshalSize + 4; // _numberOfVariableDatumRecords + + for(int idx=0; idx < _fixedDatumRecords.size(); idx++) + { + FixedDatum listElement = _fixedDatumRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _variableDatumRecords.size(); idx++) + { + VariableDatum listElement = _variableDatumRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/DataReliablePdu.h b/cpp/DIS7/DataReliablePdu.h new file mode 100644 index 00000000..b276572d --- /dev/null +++ b/cpp/DIS7/DataReliablePdu.h @@ -0,0 +1,116 @@ +#ifndef DATARELIABLEPDU_H +#define DATARELIABLEPDU_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.12.10: issued in response to a data query R or set dataR pdu. Needs manual intervention to fix padding on variable datums. UNFINSIHED + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO DataReliablePdu : public SimulationManagementWithReliabilityFamilyPdu +{ +protected: + /** Request ID */ + unsigned int _requestID; + + /** level of reliability service used for this transaction */ + unsigned char _requiredReliabilityService; + + /** padding */ + unsigned short _pad1; + + /** padding */ + unsigned char _pad2; + + /** Fixed datum record count */ + unsigned int _numberOfFixedDatumRecords; + + /** variable datum record count */ + unsigned int _numberOfVariableDatumRecords; + + /** Fixed datum records */ + std::vector _fixedDatumRecords; + + /** Variable datum records */ + std::vector _variableDatumRecords; + + + public: + DataReliablePdu(); + virtual ~DataReliablePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + unsigned char getRequiredReliabilityService() const; + void setRequiredReliabilityService(unsigned char pX); + + unsigned short getPad1() const; + void setPad1(unsigned short pX); + + unsigned char getPad2() const; + void setPad2(unsigned char pX); + + unsigned int getNumberOfFixedDatumRecords() const; + + unsigned int getNumberOfVariableDatumRecords() const; + + std::vector& getFixedDatumRecords(); + const std::vector& getFixedDatumRecords() const; + void setFixedDatumRecords(const std::vector& pX); + + std::vector& getVariableDatumRecords(); + const std::vector& getVariableDatumRecords() const; + void setVariableDatumRecords(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const DataReliablePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/DatumSpecification.cpp b/cpp/DIS7/DatumSpecification.cpp new file mode 100644 index 00000000..93958508 --- /dev/null +++ b/cpp/DIS7/DatumSpecification.cpp @@ -0,0 +1,173 @@ +#include + +using namespace DIS; + + +DatumSpecification::DatumSpecification(): + _numberOfFixedDatums(0), + _numberOfVariableDatums(0) +{ +} + +DatumSpecification::~DatumSpecification() +{ + _fixedDatumIDList.clear(); + _variableDatumIDList.clear(); +} + +unsigned int DatumSpecification::getNumberOfFixedDatums() const +{ + return _fixedDatumIDList.size(); +} + +unsigned int DatumSpecification::getNumberOfVariableDatums() const +{ + return _variableDatumIDList.size(); +} + +std::vector& DatumSpecification::getFixedDatumIDList() +{ + return _fixedDatumIDList; +} + +const std::vector& DatumSpecification::getFixedDatumIDList() const +{ + return _fixedDatumIDList; +} + +void DatumSpecification::setFixedDatumIDList(const std::vector& pX) +{ + _fixedDatumIDList = pX; +} + +std::vector& DatumSpecification::getVariableDatumIDList() +{ + return _variableDatumIDList; +} + +const std::vector& DatumSpecification::getVariableDatumIDList() const +{ + return _variableDatumIDList; +} + +void DatumSpecification::setVariableDatumIDList(const std::vector& pX) +{ + _variableDatumIDList = pX; +} + +void DatumSpecification::marshal(DataStream& dataStream) const +{ + dataStream << ( unsigned int )_fixedDatumIDList.size(); + dataStream << ( unsigned int )_variableDatumIDList.size(); + + for(size_t idx = 0; idx < _fixedDatumIDList.size(); idx++) + { + FixedDatum x = _fixedDatumIDList[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _variableDatumIDList.size(); idx++) + { + VariableDatum x = _variableDatumIDList[idx]; + x.marshal(dataStream); + } + +} + +void DatumSpecification::unmarshal(DataStream& dataStream) +{ + dataStream >> _numberOfFixedDatums; + dataStream >> _numberOfVariableDatums; + + _fixedDatumIDList.clear(); + for(size_t idx = 0; idx < _numberOfFixedDatums; idx++) + { + FixedDatum x; + x.unmarshal(dataStream); + _fixedDatumIDList.push_back(x); + } + + _variableDatumIDList.clear(); + for(size_t idx = 0; idx < _numberOfVariableDatums; idx++) + { + VariableDatum x; + x.unmarshal(dataStream); + _variableDatumIDList.push_back(x); + } +} + + +bool DatumSpecification::operator ==(const DatumSpecification& rhs) const + { + bool ivarsEqual = true; + + + for(size_t idx = 0; idx < _fixedDatumIDList.size(); idx++) + { + if( ! ( _fixedDatumIDList[idx] == rhs._fixedDatumIDList[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _variableDatumIDList.size(); idx++) + { + if( ! ( _variableDatumIDList[idx] == rhs._variableDatumIDList[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int DatumSpecification::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _numberOfFixedDatums + marshalSize = marshalSize + 4; // _numberOfVariableDatums + + for(int idx=0; idx < _fixedDatumIDList.size(); idx++) + { + FixedDatum listElement = _fixedDatumIDList[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _variableDatumIDList.size(); idx++) + { + VariableDatum listElement = _variableDatumIDList[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/DatumSpecification.h b/cpp/DIS7/DatumSpecification.h new file mode 100644 index 00000000..2d62277b --- /dev/null +++ b/cpp/DIS7/DatumSpecification.h @@ -0,0 +1,91 @@ +#ifndef DATUMSPECIFICATION_H +#define DATUMSPECIFICATION_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// List of fixed and variable datum records. Section 6.2.19 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO DatumSpecification +{ +protected: + /** Number of fixed datums */ + unsigned int _numberOfFixedDatums; + + /** Number of variable datums */ + unsigned int _numberOfVariableDatums; + + /** variable length list fixed datums */ + std::vector _fixedDatumIDList; + + /** variable length list variable datums */ + std::vector _variableDatumIDList; + + + public: + DatumSpecification(); + virtual ~DatumSpecification(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getNumberOfFixedDatums() const; + + unsigned int getNumberOfVariableDatums() const; + + std::vector& getFixedDatumIDList(); + const std::vector& getFixedDatumIDList() const; + void setFixedDatumIDList(const std::vector& pX); + + std::vector& getVariableDatumIDList(); + const std::vector& getVariableDatumIDList() const; + void setVariableDatumIDList(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const DatumSpecification& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/DeadReckoningParameters.cpp b/cpp/DIS7/DeadReckoningParameters.cpp new file mode 100644 index 00000000..ca76ae8a --- /dev/null +++ b/cpp/DIS7/DeadReckoningParameters.cpp @@ -0,0 +1,165 @@ +#include + +using namespace DIS; + + +DeadReckoningParameters::DeadReckoningParameters(): + _deadReckoningAlgorithm(0), + _entityLinearAcceleration(), + _entityAngularVelocity() +{ + // Initialize fixed length array + for(int lengthparameters= 0; lengthparameters < 15; lengthparameters++) + { + _parameters[lengthparameters] = 0; + } + +} + +DeadReckoningParameters::~DeadReckoningParameters() +{ +} + +unsigned char DeadReckoningParameters::getDeadReckoningAlgorithm() const +{ + return _deadReckoningAlgorithm; +} + +void DeadReckoningParameters::setDeadReckoningAlgorithm(unsigned char pX) +{ + _deadReckoningAlgorithm = pX; +} + +unsigned char* DeadReckoningParameters::getParameters() +{ + return _parameters; +} + +const unsigned char* DeadReckoningParameters::getParameters() const +{ + return _parameters; +} + +void DeadReckoningParameters::setParameters(const unsigned char* x) +{ + for(int i = 0; i < 15; i++) + { + _parameters[i] = x[i]; + } +} + +Vector3Float& DeadReckoningParameters::getEntityLinearAcceleration() +{ + return _entityLinearAcceleration; +} + +const Vector3Float& DeadReckoningParameters::getEntityLinearAcceleration() const +{ + return _entityLinearAcceleration; +} + +void DeadReckoningParameters::setEntityLinearAcceleration(const Vector3Float &pX) +{ + _entityLinearAcceleration = pX; +} + +Vector3Float& DeadReckoningParameters::getEntityAngularVelocity() +{ + return _entityAngularVelocity; +} + +const Vector3Float& DeadReckoningParameters::getEntityAngularVelocity() const +{ + return _entityAngularVelocity; +} + +void DeadReckoningParameters::setEntityAngularVelocity(const Vector3Float &pX) +{ + _entityAngularVelocity = pX; +} + +void DeadReckoningParameters::marshal(DataStream& dataStream) const +{ + dataStream << _deadReckoningAlgorithm; + + for(size_t idx = 0; idx < 15; idx++) + { + dataStream << _parameters[idx]; + } + + _entityLinearAcceleration.marshal(dataStream); + _entityAngularVelocity.marshal(dataStream); +} + +void DeadReckoningParameters::unmarshal(DataStream& dataStream) +{ + dataStream >> _deadReckoningAlgorithm; + + for(size_t idx = 0; idx < 15; idx++) + { + dataStream >> _parameters[idx]; + } + + _entityLinearAcceleration.unmarshal(dataStream); + _entityAngularVelocity.unmarshal(dataStream); +} + + +bool DeadReckoningParameters::operator ==(const DeadReckoningParameters& rhs) const + { + bool ivarsEqual = true; + + if( ! (_deadReckoningAlgorithm == rhs._deadReckoningAlgorithm) ) ivarsEqual = false; + + for(unsigned char idx = 0; idx < 15; idx++) + { + if(!(_parameters[idx] == rhs._parameters[idx]) ) ivarsEqual = false; + } + + if( ! (_entityLinearAcceleration == rhs._entityLinearAcceleration) ) ivarsEqual = false; + if( ! (_entityAngularVelocity == rhs._entityAngularVelocity) ) ivarsEqual = false; + + return ivarsEqual; + } + +int DeadReckoningParameters::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _deadReckoningAlgorithm + marshalSize = marshalSize + 15 * 1; // _parameters + marshalSize = marshalSize + _entityLinearAcceleration.getMarshalledSize(); // _entityLinearAcceleration + marshalSize = marshalSize + _entityAngularVelocity.getMarshalledSize(); // _entityAngularVelocity + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/DeadReckoningParameters.h b/cpp/DIS7/DeadReckoningParameters.h new file mode 100644 index 00000000..e94b3f80 --- /dev/null +++ b/cpp/DIS7/DeadReckoningParameters.h @@ -0,0 +1,93 @@ +#ifndef DEADRECKONINGPARAMETERS_H +#define DEADRECKONINGPARAMETERS_H + +#include +#include +#include +#include + + +namespace DIS +{ +// Not specified in the standard. This is used by the ESPDU + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO DeadReckoningParameters +{ +protected: + /** Algorithm to use in computing dead reckoning. See EBV doc. */ + unsigned char _deadReckoningAlgorithm; + + /** Dead reckoning parameters. Contents depends on algorithm. */ + unsigned char _parameters[15]; + + /** Linear acceleration of the entity */ + Vector3Float _entityLinearAcceleration; + + /** Angular velocity of the entity */ + Vector3Float _entityAngularVelocity; + + + public: + DeadReckoningParameters(); + virtual ~DeadReckoningParameters(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getDeadReckoningAlgorithm() const; + void setDeadReckoningAlgorithm(unsigned char pX); + + unsigned char* getParameters(); + const unsigned char* getParameters() const; + void setParameters( const unsigned char* pX); + + Vector3Float& getEntityLinearAcceleration(); + const Vector3Float& getEntityLinearAcceleration() const; + void setEntityLinearAcceleration(const Vector3Float &pX); + + Vector3Float& getEntityAngularVelocity(); + const Vector3Float& getEntityAngularVelocity() const; + void setEntityAngularVelocity(const Vector3Float &pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const DeadReckoningParameters& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/DesignatorPdu.cpp b/cpp/DIS7/DesignatorPdu.cpp new file mode 100644 index 00000000..a526cd75 --- /dev/null +++ b/cpp/DIS7/DesignatorPdu.cpp @@ -0,0 +1,278 @@ +#include + +using namespace DIS; + + +DesignatorPdu::DesignatorPdu() : DistributedEmissionsFamilyPdu(), + _designatingEntityID(), + _codeName(0), + _designatedEntityID(), + _designatorCode(0), + _designatorPower(0.0), + _designatorWavelength(0.0), + _designatorSpotWrtDesignated(), + _designatorSpotLocation(), + _deadReckoningAlgorithm(0), + _padding1(0), + _padding2(0), + _entityLinearAcceleration() +{ + setPduType( 24 ); +} + +DesignatorPdu::~DesignatorPdu() +{ +} + +EntityID& DesignatorPdu::getDesignatingEntityID() +{ + return _designatingEntityID; +} + +const EntityID& DesignatorPdu::getDesignatingEntityID() const +{ + return _designatingEntityID; +} + +void DesignatorPdu::setDesignatingEntityID(const EntityID &pX) +{ + _designatingEntityID = pX; +} + +unsigned short DesignatorPdu::getCodeName() const +{ + return _codeName; +} + +void DesignatorPdu::setCodeName(unsigned short pX) +{ + _codeName = pX; +} + +EntityID& DesignatorPdu::getDesignatedEntityID() +{ + return _designatedEntityID; +} + +const EntityID& DesignatorPdu::getDesignatedEntityID() const +{ + return _designatedEntityID; +} + +void DesignatorPdu::setDesignatedEntityID(const EntityID &pX) +{ + _designatedEntityID = pX; +} + +unsigned short DesignatorPdu::getDesignatorCode() const +{ + return _designatorCode; +} + +void DesignatorPdu::setDesignatorCode(unsigned short pX) +{ + _designatorCode = pX; +} + +float DesignatorPdu::getDesignatorPower() const +{ + return _designatorPower; +} + +void DesignatorPdu::setDesignatorPower(float pX) +{ + _designatorPower = pX; +} + +float DesignatorPdu::getDesignatorWavelength() const +{ + return _designatorWavelength; +} + +void DesignatorPdu::setDesignatorWavelength(float pX) +{ + _designatorWavelength = pX; +} + +Vector3Float& DesignatorPdu::getDesignatorSpotWrtDesignated() +{ + return _designatorSpotWrtDesignated; +} + +const Vector3Float& DesignatorPdu::getDesignatorSpotWrtDesignated() const +{ + return _designatorSpotWrtDesignated; +} + +void DesignatorPdu::setDesignatorSpotWrtDesignated(const Vector3Float &pX) +{ + _designatorSpotWrtDesignated = pX; +} + +Vector3Double& DesignatorPdu::getDesignatorSpotLocation() +{ + return _designatorSpotLocation; +} + +const Vector3Double& DesignatorPdu::getDesignatorSpotLocation() const +{ + return _designatorSpotLocation; +} + +void DesignatorPdu::setDesignatorSpotLocation(const Vector3Double &pX) +{ + _designatorSpotLocation = pX; +} + +char DesignatorPdu::getDeadReckoningAlgorithm() const +{ + return _deadReckoningAlgorithm; +} + +void DesignatorPdu::setDeadReckoningAlgorithm(char pX) +{ + _deadReckoningAlgorithm = pX; +} + +unsigned short DesignatorPdu::getPadding1() const +{ + return _padding1; +} + +void DesignatorPdu::setPadding1(unsigned short pX) +{ + _padding1 = pX; +} + +char DesignatorPdu::getPadding2() const +{ + return _padding2; +} + +void DesignatorPdu::setPadding2(char pX) +{ + _padding2 = pX; +} + +Vector3Float& DesignatorPdu::getEntityLinearAcceleration() +{ + return _entityLinearAcceleration; +} + +const Vector3Float& DesignatorPdu::getEntityLinearAcceleration() const +{ + return _entityLinearAcceleration; +} + +void DesignatorPdu::setEntityLinearAcceleration(const Vector3Float &pX) +{ + _entityLinearAcceleration = pX; +} + +void DesignatorPdu::marshal(DataStream& dataStream) const +{ + DistributedEmissionsFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _designatingEntityID.marshal(dataStream); + dataStream << _codeName; + _designatedEntityID.marshal(dataStream); + dataStream << _designatorCode; + dataStream << _designatorPower; + dataStream << _designatorWavelength; + _designatorSpotWrtDesignated.marshal(dataStream); + _designatorSpotLocation.marshal(dataStream); + dataStream << _deadReckoningAlgorithm; + dataStream << _padding1; + dataStream << _padding2; + _entityLinearAcceleration.marshal(dataStream); +} + +void DesignatorPdu::unmarshal(DataStream& dataStream) +{ + DistributedEmissionsFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _designatingEntityID.unmarshal(dataStream); + dataStream >> _codeName; + _designatedEntityID.unmarshal(dataStream); + dataStream >> _designatorCode; + dataStream >> _designatorPower; + dataStream >> _designatorWavelength; + _designatorSpotWrtDesignated.unmarshal(dataStream); + _designatorSpotLocation.unmarshal(dataStream); + dataStream >> _deadReckoningAlgorithm; + dataStream >> _padding1; + dataStream >> _padding2; + _entityLinearAcceleration.unmarshal(dataStream); +} + + +bool DesignatorPdu::operator ==(const DesignatorPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = DistributedEmissionsFamilyPdu::operator==(rhs); + + if( ! (_designatingEntityID == rhs._designatingEntityID) ) ivarsEqual = false; + if( ! (_codeName == rhs._codeName) ) ivarsEqual = false; + if( ! (_designatedEntityID == rhs._designatedEntityID) ) ivarsEqual = false; + if( ! (_designatorCode == rhs._designatorCode) ) ivarsEqual = false; + if( ! (_designatorPower == rhs._designatorPower) ) ivarsEqual = false; + if( ! (_designatorWavelength == rhs._designatorWavelength) ) ivarsEqual = false; + if( ! (_designatorSpotWrtDesignated == rhs._designatorSpotWrtDesignated) ) ivarsEqual = false; + if( ! (_designatorSpotLocation == rhs._designatorSpotLocation) ) ivarsEqual = false; + if( ! (_deadReckoningAlgorithm == rhs._deadReckoningAlgorithm) ) ivarsEqual = false; + if( ! (_padding1 == rhs._padding1) ) ivarsEqual = false; + if( ! (_padding2 == rhs._padding2) ) ivarsEqual = false; + if( ! (_entityLinearAcceleration == rhs._entityLinearAcceleration) ) ivarsEqual = false; + + return ivarsEqual; + } + +int DesignatorPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = DistributedEmissionsFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _designatingEntityID.getMarshalledSize(); // _designatingEntityID + marshalSize = marshalSize + 2; // _codeName + marshalSize = marshalSize + _designatedEntityID.getMarshalledSize(); // _designatedEntityID + marshalSize = marshalSize + 2; // _designatorCode + marshalSize = marshalSize + 4; // _designatorPower + marshalSize = marshalSize + 4; // _designatorWavelength + marshalSize = marshalSize + _designatorSpotWrtDesignated.getMarshalledSize(); // _designatorSpotWrtDesignated + marshalSize = marshalSize + _designatorSpotLocation.getMarshalledSize(); // _designatorSpotLocation + marshalSize = marshalSize + 1; // _deadReckoningAlgorithm + marshalSize = marshalSize + 2; // _padding1 + marshalSize = marshalSize + 1; // _padding2 + marshalSize = marshalSize + _entityLinearAcceleration.getMarshalledSize(); // _entityLinearAcceleration + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/DesignatorPdu.h b/cpp/DIS7/DesignatorPdu.h new file mode 100644 index 00000000..c0db9213 --- /dev/null +++ b/cpp/DIS7/DesignatorPdu.h @@ -0,0 +1,147 @@ +#ifndef DESIGNATORPDU_H +#define DESIGNATORPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.7.2. Handles designating operations. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO DesignatorPdu : public DistributedEmissionsFamilyPdu +{ +protected: + /** ID of the entity designating */ + EntityID _designatingEntityID; + + /** This field shall specify a unique emitter database number assigned to differentiate between otherwise similar or identical emitter beams within an emitter system. */ + unsigned short _codeName; + + /** ID of the entity being designated */ + EntityID _designatedEntityID; + + /** This field shall identify the designator code being used by the designating entity */ + unsigned short _designatorCode; + + /** This field shall identify the designator output power in watts */ + float _designatorPower; + + /** This field shall identify the designator wavelength in units of microns */ + float _designatorWavelength; + + /** designtor spot wrt the designated entity */ + Vector3Float _designatorSpotWrtDesignated; + + /** designtor spot wrt the designated entity */ + Vector3Double _designatorSpotLocation; + + /** Dead reckoning algorithm */ + char _deadReckoningAlgorithm; + + /** padding */ + unsigned short _padding1; + + /** padding */ + char _padding2; + + /** linear accelleration of entity */ + Vector3Float _entityLinearAcceleration; + + + public: + DesignatorPdu(); + virtual ~DesignatorPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getDesignatingEntityID(); + const EntityID& getDesignatingEntityID() const; + void setDesignatingEntityID(const EntityID &pX); + + unsigned short getCodeName() const; + void setCodeName(unsigned short pX); + + EntityID& getDesignatedEntityID(); + const EntityID& getDesignatedEntityID() const; + void setDesignatedEntityID(const EntityID &pX); + + unsigned short getDesignatorCode() const; + void setDesignatorCode(unsigned short pX); + + float getDesignatorPower() const; + void setDesignatorPower(float pX); + + float getDesignatorWavelength() const; + void setDesignatorWavelength(float pX); + + Vector3Float& getDesignatorSpotWrtDesignated(); + const Vector3Float& getDesignatorSpotWrtDesignated() const; + void setDesignatorSpotWrtDesignated(const Vector3Float &pX); + + Vector3Double& getDesignatorSpotLocation(); + const Vector3Double& getDesignatorSpotLocation() const; + void setDesignatorSpotLocation(const Vector3Double &pX); + + char getDeadReckoningAlgorithm() const; + void setDeadReckoningAlgorithm(char pX); + + unsigned short getPadding1() const; + void setPadding1(unsigned short pX); + + char getPadding2() const; + void setPadding2(char pX); + + Vector3Float& getEntityLinearAcceleration(); + const Vector3Float& getEntityLinearAcceleration() const; + void setEntityLinearAcceleration(const Vector3Float &pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const DesignatorPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/DetonationPdu.cpp b/cpp/DIS7/DetonationPdu.cpp new file mode 100644 index 00000000..1b3e50ae --- /dev/null +++ b/cpp/DIS7/DetonationPdu.cpp @@ -0,0 +1,276 @@ +#include + +using namespace DIS; + + +DetonationPdu::DetonationPdu() : WarfareFamilyPdu(), + _explodingEntityID(), + _eventID(), + _velocity(), + _locationInWorldCoordinates(), + _descriptor(), + _locationOfEntityCoordinates(), + _detonationResult(0), + _numberOfVariableParameters(0), + _pad(0) +{ + setPduType( 3 ); +} + +DetonationPdu::~DetonationPdu() +{ + _variableParameters.clear(); +} + +EntityID& DetonationPdu::getExplodingEntityID() +{ + return _explodingEntityID; +} + +const EntityID& DetonationPdu::getExplodingEntityID() const +{ + return _explodingEntityID; +} + +void DetonationPdu::setExplodingEntityID(const EntityID &pX) +{ + _explodingEntityID = pX; +} + +EventIdentifier& DetonationPdu::getEventID() +{ + return _eventID; +} + +const EventIdentifier& DetonationPdu::getEventID() const +{ + return _eventID; +} + +void DetonationPdu::setEventID(const EventIdentifier &pX) +{ + _eventID = pX; +} + +Vector3Float& DetonationPdu::getVelocity() +{ + return _velocity; +} + +const Vector3Float& DetonationPdu::getVelocity() const +{ + return _velocity; +} + +void DetonationPdu::setVelocity(const Vector3Float &pX) +{ + _velocity = pX; +} + +Vector3Double& DetonationPdu::getLocationInWorldCoordinates() +{ + return _locationInWorldCoordinates; +} + +const Vector3Double& DetonationPdu::getLocationInWorldCoordinates() const +{ + return _locationInWorldCoordinates; +} + +void DetonationPdu::setLocationInWorldCoordinates(const Vector3Double &pX) +{ + _locationInWorldCoordinates = pX; +} + +MunitionDescriptor& DetonationPdu::getDescriptor() +{ + return _descriptor; +} + +const MunitionDescriptor& DetonationPdu::getDescriptor() const +{ + return _descriptor; +} + +void DetonationPdu::setDescriptor(const MunitionDescriptor &pX) +{ + _descriptor = pX; +} + +Vector3Float& DetonationPdu::getLocationOfEntityCoordinates() +{ + return _locationOfEntityCoordinates; +} + +const Vector3Float& DetonationPdu::getLocationOfEntityCoordinates() const +{ + return _locationOfEntityCoordinates; +} + +void DetonationPdu::setLocationOfEntityCoordinates(const Vector3Float &pX) +{ + _locationOfEntityCoordinates = pX; +} + +unsigned char DetonationPdu::getDetonationResult() const +{ + return _detonationResult; +} + +void DetonationPdu::setDetonationResult(unsigned char pX) +{ + _detonationResult = pX; +} + +unsigned char DetonationPdu::getNumberOfVariableParameters() const +{ + return _variableParameters.size(); +} + +unsigned short DetonationPdu::getPad() const +{ + return _pad; +} + +void DetonationPdu::setPad(unsigned short pX) +{ + _pad = pX; +} + +std::vector& DetonationPdu::getVariableParameters() +{ + return _variableParameters; +} + +const std::vector& DetonationPdu::getVariableParameters() const +{ + return _variableParameters; +} + +void DetonationPdu::setVariableParameters(const std::vector& pX) +{ + _variableParameters = pX; +} + +void DetonationPdu::marshal(DataStream& dataStream) const +{ + WarfareFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _explodingEntityID.marshal(dataStream); + _eventID.marshal(dataStream); + _velocity.marshal(dataStream); + _locationInWorldCoordinates.marshal(dataStream); + _descriptor.marshal(dataStream); + _locationOfEntityCoordinates.marshal(dataStream); + dataStream << _detonationResult; + dataStream << ( unsigned char )_variableParameters.size(); + dataStream << _pad; + + for(size_t idx = 0; idx < _variableParameters.size(); idx++) + { + VariableParameter x = _variableParameters[idx]; + x.marshal(dataStream); + } + +} + +void DetonationPdu::unmarshal(DataStream& dataStream) +{ + WarfareFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _explodingEntityID.unmarshal(dataStream); + _eventID.unmarshal(dataStream); + _velocity.unmarshal(dataStream); + _locationInWorldCoordinates.unmarshal(dataStream); + _descriptor.unmarshal(dataStream); + _locationOfEntityCoordinates.unmarshal(dataStream); + dataStream >> _detonationResult; + dataStream >> _numberOfVariableParameters; + dataStream >> _pad; + + _variableParameters.clear(); + for(size_t idx = 0; idx < _numberOfVariableParameters; idx++) + { + VariableParameter x; + x.unmarshal(dataStream); + _variableParameters.push_back(x); + } +} + + +bool DetonationPdu::operator ==(const DetonationPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = WarfareFamilyPdu::operator==(rhs); + + if( ! (_explodingEntityID == rhs._explodingEntityID) ) ivarsEqual = false; + if( ! (_eventID == rhs._eventID) ) ivarsEqual = false; + if( ! (_velocity == rhs._velocity) ) ivarsEqual = false; + if( ! (_locationInWorldCoordinates == rhs._locationInWorldCoordinates) ) ivarsEqual = false; + if( ! (_descriptor == rhs._descriptor) ) ivarsEqual = false; + if( ! (_locationOfEntityCoordinates == rhs._locationOfEntityCoordinates) ) ivarsEqual = false; + if( ! (_detonationResult == rhs._detonationResult) ) ivarsEqual = false; + if( ! (_pad == rhs._pad) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _variableParameters.size(); idx++) + { + if( ! ( _variableParameters[idx] == rhs._variableParameters[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int DetonationPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = WarfareFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _explodingEntityID.getMarshalledSize(); // _explodingEntityID + marshalSize = marshalSize + _eventID.getMarshalledSize(); // _eventID + marshalSize = marshalSize + _velocity.getMarshalledSize(); // _velocity + marshalSize = marshalSize + _locationInWorldCoordinates.getMarshalledSize(); // _locationInWorldCoordinates + marshalSize = marshalSize + _descriptor.getMarshalledSize(); // _descriptor + marshalSize = marshalSize + _locationOfEntityCoordinates.getMarshalledSize(); // _locationOfEntityCoordinates + marshalSize = marshalSize + 1; // _detonationResult + marshalSize = marshalSize + 1; // _numberOfVariableParameters + marshalSize = marshalSize + 2; // _pad + + for(int idx=0; idx < _variableParameters.size(); idx++) + { + VariableParameter listElement = _variableParameters[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/DetonationPdu.h b/cpp/DIS7/DetonationPdu.h new file mode 100644 index 00000000..b6b29ed6 --- /dev/null +++ b/cpp/DIS7/DetonationPdu.h @@ -0,0 +1,139 @@ +#ifndef DETONATIONPDU_H +#define DETONATIONPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Detonation or impact of munitions, as well as, non-munition explosions, the burst or initial bloom of chaff, and the ignition of a flare shall be indicated. Section 7.3.3 COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO DetonationPdu : public WarfareFamilyPdu +{ +protected: + /** ID of the expendable entity, Section 7.3.3 */ + EntityID _explodingEntityID; + + /** ID of event, Section 7.3.3 */ + EventIdentifier _eventID; + + /** velocity of the munition immediately before detonation/impact, Section 7.3.3 */ + Vector3Float _velocity; + + /** location of the munition detonation, the expendable detonation, Section 7.3.3 */ + Vector3Double _locationInWorldCoordinates; + + /** Describes the detonation represented, Section 7.3.3 */ + MunitionDescriptor _descriptor; + + /** Velocity of the ammunition, Section 7.3.3 */ + Vector3Float _locationOfEntityCoordinates; + + /** result of the detonation, Section 7.3.3 */ + unsigned char _detonationResult; + + /** How many articulation parameters we have, Section 7.3.3 */ + unsigned char _numberOfVariableParameters; + + /** padding */ + unsigned short _pad; + + /** specify the parameter values for each Variable Parameter record, Section 7.3.3 */ + std::vector _variableParameters; + + + public: + DetonationPdu(); + virtual ~DetonationPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getExplodingEntityID(); + const EntityID& getExplodingEntityID() const; + void setExplodingEntityID(const EntityID &pX); + + EventIdentifier& getEventID(); + const EventIdentifier& getEventID() const; + void setEventID(const EventIdentifier &pX); + + Vector3Float& getVelocity(); + const Vector3Float& getVelocity() const; + void setVelocity(const Vector3Float &pX); + + Vector3Double& getLocationInWorldCoordinates(); + const Vector3Double& getLocationInWorldCoordinates() const; + void setLocationInWorldCoordinates(const Vector3Double &pX); + + MunitionDescriptor& getDescriptor(); + const MunitionDescriptor& getDescriptor() const; + void setDescriptor(const MunitionDescriptor &pX); + + Vector3Float& getLocationOfEntityCoordinates(); + const Vector3Float& getLocationOfEntityCoordinates() const; + void setLocationOfEntityCoordinates(const Vector3Float &pX); + + unsigned char getDetonationResult() const; + void setDetonationResult(unsigned char pX); + + unsigned char getNumberOfVariableParameters() const; + + unsigned short getPad() const; + void setPad(unsigned short pX); + + std::vector& getVariableParameters(); + const std::vector& getVariableParameters() const; + void setVariableParameters(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const DetonationPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/DirectedEnergyAreaAimpoint.cpp b/cpp/DIS7/DirectedEnergyAreaAimpoint.cpp new file mode 100644 index 00000000..1873f21a --- /dev/null +++ b/cpp/DIS7/DirectedEnergyAreaAimpoint.cpp @@ -0,0 +1,218 @@ +#include + +using namespace DIS; + + +DirectedEnergyAreaAimpoint::DirectedEnergyAreaAimpoint(): + _recordType(4001), + _recordLength(0), + _padding(0), + _beamAntennaPatternRecordCount(0), + _directedEnergyTargetEnergyDepositionRecordCount(0) +{ +} + +DirectedEnergyAreaAimpoint::~DirectedEnergyAreaAimpoint() +{ + _beamAntennaParameterList.clear(); + _directedEnergyTargetEnergyDepositionRecordList.clear(); +} + +unsigned int DirectedEnergyAreaAimpoint::getRecordType() const +{ + return _recordType; +} + +void DirectedEnergyAreaAimpoint::setRecordType(unsigned int pX) +{ + _recordType = pX; +} + +unsigned short DirectedEnergyAreaAimpoint::getRecordLength() const +{ + return _recordLength; +} + +void DirectedEnergyAreaAimpoint::setRecordLength(unsigned short pX) +{ + _recordLength = pX; +} + +unsigned short DirectedEnergyAreaAimpoint::getPadding() const +{ + return _padding; +} + +void DirectedEnergyAreaAimpoint::setPadding(unsigned short pX) +{ + _padding = pX; +} + +unsigned short DirectedEnergyAreaAimpoint::getBeamAntennaPatternRecordCount() const +{ + return _beamAntennaParameterList.size(); +} + +unsigned short DirectedEnergyAreaAimpoint::getDirectedEnergyTargetEnergyDepositionRecordCount() const +{ + return _directedEnergyTargetEnergyDepositionRecordList.size(); +} + +std::vector& DirectedEnergyAreaAimpoint::getBeamAntennaParameterList() +{ + return _beamAntennaParameterList; +} + +const std::vector& DirectedEnergyAreaAimpoint::getBeamAntennaParameterList() const +{ + return _beamAntennaParameterList; +} + +void DirectedEnergyAreaAimpoint::setBeamAntennaParameterList(const std::vector& pX) +{ + _beamAntennaParameterList = pX; +} + +std::vector& DirectedEnergyAreaAimpoint::getDirectedEnergyTargetEnergyDepositionRecordList() +{ + return _directedEnergyTargetEnergyDepositionRecordList; +} + +const std::vector& DirectedEnergyAreaAimpoint::getDirectedEnergyTargetEnergyDepositionRecordList() const +{ + return _directedEnergyTargetEnergyDepositionRecordList; +} + +void DirectedEnergyAreaAimpoint::setDirectedEnergyTargetEnergyDepositionRecordList(const std::vector& pX) +{ + _directedEnergyTargetEnergyDepositionRecordList = pX; +} + +void DirectedEnergyAreaAimpoint::marshal(DataStream& dataStream) const +{ + dataStream << _recordType; + dataStream << _recordLength; + dataStream << _padding; + dataStream << ( unsigned short )_beamAntennaParameterList.size(); + dataStream << ( unsigned short )_directedEnergyTargetEnergyDepositionRecordList.size(); + + for(size_t idx = 0; idx < _beamAntennaParameterList.size(); idx++) + { + BeamAntennaPattern x = _beamAntennaParameterList[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _directedEnergyTargetEnergyDepositionRecordList.size(); idx++) + { + DirectedEnergyTargetEnergyDeposition x = _directedEnergyTargetEnergyDepositionRecordList[idx]; + x.marshal(dataStream); + } + +} + +void DirectedEnergyAreaAimpoint::unmarshal(DataStream& dataStream) +{ + dataStream >> _recordType; + dataStream >> _recordLength; + dataStream >> _padding; + dataStream >> _beamAntennaPatternRecordCount; + dataStream >> _directedEnergyTargetEnergyDepositionRecordCount; + + _beamAntennaParameterList.clear(); + for(size_t idx = 0; idx < _beamAntennaPatternRecordCount; idx++) + { + BeamAntennaPattern x; + x.unmarshal(dataStream); + _beamAntennaParameterList.push_back(x); + } + + _directedEnergyTargetEnergyDepositionRecordList.clear(); + for(size_t idx = 0; idx < _directedEnergyTargetEnergyDepositionRecordCount; idx++) + { + DirectedEnergyTargetEnergyDeposition x; + x.unmarshal(dataStream); + _directedEnergyTargetEnergyDepositionRecordList.push_back(x); + } +} + + +bool DirectedEnergyAreaAimpoint::operator ==(const DirectedEnergyAreaAimpoint& rhs) const + { + bool ivarsEqual = true; + + if( ! (_recordType == rhs._recordType) ) ivarsEqual = false; + if( ! (_recordLength == rhs._recordLength) ) ivarsEqual = false; + if( ! (_padding == rhs._padding) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _beamAntennaParameterList.size(); idx++) + { + if( ! ( _beamAntennaParameterList[idx] == rhs._beamAntennaParameterList[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _directedEnergyTargetEnergyDepositionRecordList.size(); idx++) + { + if( ! ( _directedEnergyTargetEnergyDepositionRecordList[idx] == rhs._directedEnergyTargetEnergyDepositionRecordList[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int DirectedEnergyAreaAimpoint::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _recordType + marshalSize = marshalSize + 2; // _recordLength + marshalSize = marshalSize + 2; // _padding + marshalSize = marshalSize + 2; // _beamAntennaPatternRecordCount + marshalSize = marshalSize + 2; // _directedEnergyTargetEnergyDepositionRecordCount + + for(int idx=0; idx < _beamAntennaParameterList.size(); idx++) + { + BeamAntennaPattern listElement = _beamAntennaParameterList[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _directedEnergyTargetEnergyDepositionRecordList.size(); idx++) + { + DirectedEnergyTargetEnergyDeposition listElement = _directedEnergyTargetEnergyDepositionRecordList[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/DirectedEnergyAreaAimpoint.h b/cpp/DIS7/DirectedEnergyAreaAimpoint.h new file mode 100644 index 00000000..cd7f037c --- /dev/null +++ b/cpp/DIS7/DirectedEnergyAreaAimpoint.h @@ -0,0 +1,109 @@ +#ifndef DIRECTEDENERGYAREAAIMPOINT_H +#define DIRECTEDENERGYAREAAIMPOINT_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// DE Precision Aimpoint Record. NOT COMPLETE. Section 6.2.21.2 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO DirectedEnergyAreaAimpoint +{ +protected: + /** Type of Record */ + unsigned int _recordType; + + /** Length of Record */ + unsigned short _recordLength; + + /** Padding */ + unsigned short _padding; + + /** Number of beam antenna pattern records */ + unsigned short _beamAntennaPatternRecordCount; + + /** Number of DE target energy depositon records */ + unsigned short _directedEnergyTargetEnergyDepositionRecordCount; + + /** list of beam antenna records. See 6.2.9.2 */ + std::vector _beamAntennaParameterList; + + /** list of DE target deposition records. See 6.2.21.4 */ + std::vector _directedEnergyTargetEnergyDepositionRecordList; + + + public: + DirectedEnergyAreaAimpoint(); + virtual ~DirectedEnergyAreaAimpoint(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getRecordType() const; + void setRecordType(unsigned int pX); + + unsigned short getRecordLength() const; + void setRecordLength(unsigned short pX); + + unsigned short getPadding() const; + void setPadding(unsigned short pX); + + unsigned short getBeamAntennaPatternRecordCount() const; + + unsigned short getDirectedEnergyTargetEnergyDepositionRecordCount() const; + + std::vector& getBeamAntennaParameterList(); + const std::vector& getBeamAntennaParameterList() const; + void setBeamAntennaParameterList(const std::vector& pX); + + std::vector& getDirectedEnergyTargetEnergyDepositionRecordList(); + const std::vector& getDirectedEnergyTargetEnergyDepositionRecordList() const; + void setDirectedEnergyTargetEnergyDepositionRecordList(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const DirectedEnergyAreaAimpoint& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/DirectedEnergyDamage.cpp b/cpp/DIS7/DirectedEnergyDamage.cpp new file mode 100644 index 00000000..076d00aa --- /dev/null +++ b/cpp/DIS7/DirectedEnergyDamage.cpp @@ -0,0 +1,257 @@ +#include + +using namespace DIS; + + +DirectedEnergyDamage::DirectedEnergyDamage(): + _recordType(4500), + _recordLength(40), + _padding(0), + _damageLocation(), + _damageDiameter(0.0), + _temperature(-273.15), + _componentIdentification(0), + _componentDamageStatus(0), + _componentVisualDamageStatus(0), + _componentVisualSmokeColor(0), + _fireEventID(), + _padding2(0) +{ +} + +DirectedEnergyDamage::~DirectedEnergyDamage() +{ +} + +unsigned int DirectedEnergyDamage::getRecordType() const +{ + return _recordType; +} + +void DirectedEnergyDamage::setRecordType(unsigned int pX) +{ + _recordType = pX; +} + +unsigned short DirectedEnergyDamage::getRecordLength() const +{ + return _recordLength; +} + +void DirectedEnergyDamage::setRecordLength(unsigned short pX) +{ + _recordLength = pX; +} + +unsigned short DirectedEnergyDamage::getPadding() const +{ + return _padding; +} + +void DirectedEnergyDamage::setPadding(unsigned short pX) +{ + _padding = pX; +} + +Vector3Float& DirectedEnergyDamage::getDamageLocation() +{ + return _damageLocation; +} + +const Vector3Float& DirectedEnergyDamage::getDamageLocation() const +{ + return _damageLocation; +} + +void DirectedEnergyDamage::setDamageLocation(const Vector3Float &pX) +{ + _damageLocation = pX; +} + +float DirectedEnergyDamage::getDamageDiameter() const +{ + return _damageDiameter; +} + +void DirectedEnergyDamage::setDamageDiameter(float pX) +{ + _damageDiameter = pX; +} + +float DirectedEnergyDamage::getTemperature() const +{ + return _temperature; +} + +void DirectedEnergyDamage::setTemperature(float pX) +{ + _temperature = pX; +} + +unsigned char DirectedEnergyDamage::getComponentIdentification() const +{ + return _componentIdentification; +} + +void DirectedEnergyDamage::setComponentIdentification(unsigned char pX) +{ + _componentIdentification = pX; +} + +unsigned char DirectedEnergyDamage::getComponentDamageStatus() const +{ + return _componentDamageStatus; +} + +void DirectedEnergyDamage::setComponentDamageStatus(unsigned char pX) +{ + _componentDamageStatus = pX; +} + +unsigned char DirectedEnergyDamage::getComponentVisualDamageStatus() const +{ + return _componentVisualDamageStatus; +} + +void DirectedEnergyDamage::setComponentVisualDamageStatus(unsigned char pX) +{ + _componentVisualDamageStatus = pX; +} + +unsigned char DirectedEnergyDamage::getComponentVisualSmokeColor() const +{ + return _componentVisualSmokeColor; +} + +void DirectedEnergyDamage::setComponentVisualSmokeColor(unsigned char pX) +{ + _componentVisualSmokeColor = pX; +} + +EventIdentifier& DirectedEnergyDamage::getFireEventID() +{ + return _fireEventID; +} + +const EventIdentifier& DirectedEnergyDamage::getFireEventID() const +{ + return _fireEventID; +} + +void DirectedEnergyDamage::setFireEventID(const EventIdentifier &pX) +{ + _fireEventID = pX; +} + +unsigned short DirectedEnergyDamage::getPadding2() const +{ + return _padding2; +} + +void DirectedEnergyDamage::setPadding2(unsigned short pX) +{ + _padding2 = pX; +} + +void DirectedEnergyDamage::marshal(DataStream& dataStream) const +{ + dataStream << _recordType; + dataStream << _recordLength; + dataStream << _padding; + _damageLocation.marshal(dataStream); + dataStream << _damageDiameter; + dataStream << _temperature; + dataStream << _componentIdentification; + dataStream << _componentDamageStatus; + dataStream << _componentVisualDamageStatus; + dataStream << _componentVisualSmokeColor; + _fireEventID.marshal(dataStream); + dataStream << _padding2; +} + +void DirectedEnergyDamage::unmarshal(DataStream& dataStream) +{ + dataStream >> _recordType; + dataStream >> _recordLength; + dataStream >> _padding; + _damageLocation.unmarshal(dataStream); + dataStream >> _damageDiameter; + dataStream >> _temperature; + dataStream >> _componentIdentification; + dataStream >> _componentDamageStatus; + dataStream >> _componentVisualDamageStatus; + dataStream >> _componentVisualSmokeColor; + _fireEventID.unmarshal(dataStream); + dataStream >> _padding2; +} + + +bool DirectedEnergyDamage::operator ==(const DirectedEnergyDamage& rhs) const + { + bool ivarsEqual = true; + + if( ! (_recordType == rhs._recordType) ) ivarsEqual = false; + if( ! (_recordLength == rhs._recordLength) ) ivarsEqual = false; + if( ! (_padding == rhs._padding) ) ivarsEqual = false; + if( ! (_damageLocation == rhs._damageLocation) ) ivarsEqual = false; + if( ! (_damageDiameter == rhs._damageDiameter) ) ivarsEqual = false; + if( ! (_temperature == rhs._temperature) ) ivarsEqual = false; + if( ! (_componentIdentification == rhs._componentIdentification) ) ivarsEqual = false; + if( ! (_componentDamageStatus == rhs._componentDamageStatus) ) ivarsEqual = false; + if( ! (_componentVisualDamageStatus == rhs._componentVisualDamageStatus) ) ivarsEqual = false; + if( ! (_componentVisualSmokeColor == rhs._componentVisualSmokeColor) ) ivarsEqual = false; + if( ! (_fireEventID == rhs._fireEventID) ) ivarsEqual = false; + if( ! (_padding2 == rhs._padding2) ) ivarsEqual = false; + + return ivarsEqual; + } + +int DirectedEnergyDamage::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _recordType + marshalSize = marshalSize + 2; // _recordLength + marshalSize = marshalSize + 2; // _padding + marshalSize = marshalSize + _damageLocation.getMarshalledSize(); // _damageLocation + marshalSize = marshalSize + 4; // _damageDiameter + marshalSize = marshalSize + 4; // _temperature + marshalSize = marshalSize + 1; // _componentIdentification + marshalSize = marshalSize + 1; // _componentDamageStatus + marshalSize = marshalSize + 1; // _componentVisualDamageStatus + marshalSize = marshalSize + 1; // _componentVisualSmokeColor + marshalSize = marshalSize + _fireEventID.getMarshalledSize(); // _fireEventID + marshalSize = marshalSize + 2; // _padding2 + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/DirectedEnergyDamage.h b/cpp/DIS7/DirectedEnergyDamage.h new file mode 100644 index 00000000..d2914846 --- /dev/null +++ b/cpp/DIS7/DirectedEnergyDamage.h @@ -0,0 +1,140 @@ +#ifndef DIRECTEDENERGYDAMAGE_H +#define DIRECTEDENERGYDAMAGE_H + +#include +#include +#include +#include + + +namespace DIS +{ +// Damage sustained by an entity due to directed energy. Location of the damage based on a relative x,y,z location from the center of the entity. Section 6.2.17.2 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO DirectedEnergyDamage +{ +protected: + /** DE Record Type. */ + unsigned int _recordType; + + /** DE Record Length (bytes). */ + unsigned short _recordLength; + + /** padding. */ + unsigned short _padding; + + /** location of damage, relative to center of entity */ + Vector3Float _damageLocation; + + /** Size of damaged area, in meters. */ + float _damageDiameter; + + /** average temp of the damaged area, in degrees celsius. If firing entitty does not model this, use a value of -273.15 */ + float _temperature; + + /** enumeration */ + unsigned char _componentIdentification; + + /** enumeration */ + unsigned char _componentDamageStatus; + + /** enumeration */ + unsigned char _componentVisualDamageStatus; + + /** enumeration */ + unsigned char _componentVisualSmokeColor; + + /** For any component damage resulting this field shall be set to the fire event ID from that PDU. */ + EventIdentifier _fireEventID; + + /** padding */ + unsigned short _padding2; + + + public: + DirectedEnergyDamage(); + virtual ~DirectedEnergyDamage(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getRecordType() const; + void setRecordType(unsigned int pX); + + unsigned short getRecordLength() const; + void setRecordLength(unsigned short pX); + + unsigned short getPadding() const; + void setPadding(unsigned short pX); + + Vector3Float& getDamageLocation(); + const Vector3Float& getDamageLocation() const; + void setDamageLocation(const Vector3Float &pX); + + float getDamageDiameter() const; + void setDamageDiameter(float pX); + + float getTemperature() const; + void setTemperature(float pX); + + unsigned char getComponentIdentification() const; + void setComponentIdentification(unsigned char pX); + + unsigned char getComponentDamageStatus() const; + void setComponentDamageStatus(unsigned char pX); + + unsigned char getComponentVisualDamageStatus() const; + void setComponentVisualDamageStatus(unsigned char pX); + + unsigned char getComponentVisualSmokeColor() const; + void setComponentVisualSmokeColor(unsigned char pX); + + EventIdentifier& getFireEventID(); + const EventIdentifier& getFireEventID() const; + void setFireEventID(const EventIdentifier &pX); + + unsigned short getPadding2() const; + void setPadding2(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const DirectedEnergyDamage& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/DirectedEnergyFirePdu.cpp b/cpp/DIS7/DirectedEnergyFirePdu.cpp new file mode 100644 index 00000000..aa9e5bbe --- /dev/null +++ b/cpp/DIS7/DirectedEnergyFirePdu.cpp @@ -0,0 +1,351 @@ +#include + +using namespace DIS; + + +DirectedEnergyFirePdu::DirectedEnergyFirePdu() : WarfareFamilyPdu(), + _munitionType(), + _shotStartTime(), + _commulativeShotTime(0.0), + _ApertureEmitterLocation(), + _apertureDiameter(0.0), + _wavelength(0.0), + _peakIrradiance(0.0), + _pulseRepetitionFrequency(0.0), + _pulseWidth(0), + _flags(0), + _pulseShape(0), + _padding1(0), + _padding2(0), + _padding3(0), + _numberOfDERecords(0) +{ + setPduType( 68 ); +} + +DirectedEnergyFirePdu::~DirectedEnergyFirePdu() +{ + _dERecords.clear(); +} + +EntityType& DirectedEnergyFirePdu::getMunitionType() +{ + return _munitionType; +} + +const EntityType& DirectedEnergyFirePdu::getMunitionType() const +{ + return _munitionType; +} + +void DirectedEnergyFirePdu::setMunitionType(const EntityType &pX) +{ + _munitionType = pX; +} + +ClockTime& DirectedEnergyFirePdu::getShotStartTime() +{ + return _shotStartTime; +} + +const ClockTime& DirectedEnergyFirePdu::getShotStartTime() const +{ + return _shotStartTime; +} + +void DirectedEnergyFirePdu::setShotStartTime(const ClockTime &pX) +{ + _shotStartTime = pX; +} + +float DirectedEnergyFirePdu::getCommulativeShotTime() const +{ + return _commulativeShotTime; +} + +void DirectedEnergyFirePdu::setCommulativeShotTime(float pX) +{ + _commulativeShotTime = pX; +} + +Vector3Float& DirectedEnergyFirePdu::getApertureEmitterLocation() +{ + return _ApertureEmitterLocation; +} + +const Vector3Float& DirectedEnergyFirePdu::getApertureEmitterLocation() const +{ + return _ApertureEmitterLocation; +} + +void DirectedEnergyFirePdu::setApertureEmitterLocation(const Vector3Float &pX) +{ + _ApertureEmitterLocation = pX; +} + +float DirectedEnergyFirePdu::getApertureDiameter() const +{ + return _apertureDiameter; +} + +void DirectedEnergyFirePdu::setApertureDiameter(float pX) +{ + _apertureDiameter = pX; +} + +float DirectedEnergyFirePdu::getWavelength() const +{ + return _wavelength; +} + +void DirectedEnergyFirePdu::setWavelength(float pX) +{ + _wavelength = pX; +} + +float DirectedEnergyFirePdu::getPeakIrradiance() const +{ + return _peakIrradiance; +} + +void DirectedEnergyFirePdu::setPeakIrradiance(float pX) +{ + _peakIrradiance = pX; +} + +float DirectedEnergyFirePdu::getPulseRepetitionFrequency() const +{ + return _pulseRepetitionFrequency; +} + +void DirectedEnergyFirePdu::setPulseRepetitionFrequency(float pX) +{ + _pulseRepetitionFrequency = pX; +} + +int DirectedEnergyFirePdu::getPulseWidth() const +{ + return _pulseWidth; +} + +void DirectedEnergyFirePdu::setPulseWidth(int pX) +{ + _pulseWidth = pX; +} + +int DirectedEnergyFirePdu::getFlags() const +{ + return _flags; +} + +void DirectedEnergyFirePdu::setFlags(int pX) +{ + _flags = pX; +} + +char DirectedEnergyFirePdu::getPulseShape() const +{ + return _pulseShape; +} + +void DirectedEnergyFirePdu::setPulseShape(char pX) +{ + _pulseShape = pX; +} + +unsigned char DirectedEnergyFirePdu::getPadding1() const +{ + return _padding1; +} + +void DirectedEnergyFirePdu::setPadding1(unsigned char pX) +{ + _padding1 = pX; +} + +unsigned int DirectedEnergyFirePdu::getPadding2() const +{ + return _padding2; +} + +void DirectedEnergyFirePdu::setPadding2(unsigned int pX) +{ + _padding2 = pX; +} + +unsigned short DirectedEnergyFirePdu::getPadding3() const +{ + return _padding3; +} + +void DirectedEnergyFirePdu::setPadding3(unsigned short pX) +{ + _padding3 = pX; +} + +unsigned short DirectedEnergyFirePdu::getNumberOfDERecords() const +{ + return _dERecords.size(); +} + +std::vector& DirectedEnergyFirePdu::getDERecords() +{ + return _dERecords; +} + +const std::vector& DirectedEnergyFirePdu::getDERecords() const +{ + return _dERecords; +} + +void DirectedEnergyFirePdu::setDERecords(const std::vector& pX) +{ + _dERecords = pX; +} + +void DirectedEnergyFirePdu::marshal(DataStream& dataStream) const +{ + WarfareFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _munitionType.marshal(dataStream); + _shotStartTime.marshal(dataStream); + dataStream << _commulativeShotTime; + _ApertureEmitterLocation.marshal(dataStream); + dataStream << _apertureDiameter; + dataStream << _wavelength; + dataStream << _peakIrradiance; + dataStream << _pulseRepetitionFrequency; + dataStream << _pulseWidth; + dataStream << _flags; + dataStream << _pulseShape; + dataStream << _padding1; + dataStream << _padding2; + dataStream << _padding3; + dataStream << ( unsigned short )_dERecords.size(); + + for(size_t idx = 0; idx < _dERecords.size(); idx++) + { + StandardVariableSpecification x = _dERecords[idx]; + x.marshal(dataStream); + } + +} + +void DirectedEnergyFirePdu::unmarshal(DataStream& dataStream) +{ + WarfareFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _munitionType.unmarshal(dataStream); + _shotStartTime.unmarshal(dataStream); + dataStream >> _commulativeShotTime; + _ApertureEmitterLocation.unmarshal(dataStream); + dataStream >> _apertureDiameter; + dataStream >> _wavelength; + dataStream >> _peakIrradiance; + dataStream >> _pulseRepetitionFrequency; + dataStream >> _pulseWidth; + dataStream >> _flags; + dataStream >> _pulseShape; + dataStream >> _padding1; + dataStream >> _padding2; + dataStream >> _padding3; + dataStream >> _numberOfDERecords; + + _dERecords.clear(); + for(size_t idx = 0; idx < _numberOfDERecords; idx++) + { + StandardVariableSpecification x; + x.unmarshal(dataStream); + _dERecords.push_back(x); + } +} + + +bool DirectedEnergyFirePdu::operator ==(const DirectedEnergyFirePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = WarfareFamilyPdu::operator==(rhs); + + if( ! (_munitionType == rhs._munitionType) ) ivarsEqual = false; + if( ! (_shotStartTime == rhs._shotStartTime) ) ivarsEqual = false; + if( ! (_commulativeShotTime == rhs._commulativeShotTime) ) ivarsEqual = false; + if( ! (_ApertureEmitterLocation == rhs._ApertureEmitterLocation) ) ivarsEqual = false; + if( ! (_apertureDiameter == rhs._apertureDiameter) ) ivarsEqual = false; + if( ! (_wavelength == rhs._wavelength) ) ivarsEqual = false; + if( ! (_peakIrradiance == rhs._peakIrradiance) ) ivarsEqual = false; + if( ! (_pulseRepetitionFrequency == rhs._pulseRepetitionFrequency) ) ivarsEqual = false; + if( ! (_pulseWidth == rhs._pulseWidth) ) ivarsEqual = false; + if( ! (_flags == rhs._flags) ) ivarsEqual = false; + if( ! (_pulseShape == rhs._pulseShape) ) ivarsEqual = false; + if( ! (_padding1 == rhs._padding1) ) ivarsEqual = false; + if( ! (_padding2 == rhs._padding2) ) ivarsEqual = false; + if( ! (_padding3 == rhs._padding3) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _dERecords.size(); idx++) + { + if( ! ( _dERecords[idx] == rhs._dERecords[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int DirectedEnergyFirePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = WarfareFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _munitionType.getMarshalledSize(); // _munitionType + marshalSize = marshalSize + _shotStartTime.getMarshalledSize(); // _shotStartTime + marshalSize = marshalSize + 4; // _commulativeShotTime + marshalSize = marshalSize + _ApertureEmitterLocation.getMarshalledSize(); // _ApertureEmitterLocation + marshalSize = marshalSize + 4; // _apertureDiameter + marshalSize = marshalSize + 4; // _wavelength + marshalSize = marshalSize + 4; // _peakIrradiance + marshalSize = marshalSize + 4; // _pulseRepetitionFrequency + marshalSize = marshalSize + 4; // _pulseWidth + marshalSize = marshalSize + 4; // _flags + marshalSize = marshalSize + 1; // _pulseShape + marshalSize = marshalSize + 1; // _padding1 + marshalSize = marshalSize + 4; // _padding2 + marshalSize = marshalSize + 2; // _padding3 + marshalSize = marshalSize + 2; // _numberOfDERecords + + for(int idx=0; idx < _dERecords.size(); idx++) + { + StandardVariableSpecification listElement = _dERecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/DirectedEnergyFirePdu.h b/cpp/DIS7/DirectedEnergyFirePdu.h new file mode 100644 index 00000000..d1ea2254 --- /dev/null +++ b/cpp/DIS7/DirectedEnergyFirePdu.h @@ -0,0 +1,169 @@ +#ifndef DIRECTEDENERGYFIREPDU_H +#define DIRECTEDENERGYFIREPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Firing of a directed energy weapon shall be communicated by issuing a Directed Energy Fire PDU Section 7.3.4 COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO DirectedEnergyFirePdu : public WarfareFamilyPdu +{ +protected: + /** Field shall identify the munition type enumeration for the DE weapon beam, Section 7.3.4 */ + EntityType _munitionType; + + /** Field shall indicate the simulation time at start of the shot, Section 7.3.4 */ + ClockTime _shotStartTime; + + /** Field shall indicate the current cumulative duration of the shot, Section 7.3.4 */ + float _commulativeShotTime; + + /** Field shall identify the location of the DE weapon aperture/emitter, Section 7.3.4 */ + Vector3Float _ApertureEmitterLocation; + + /** Field shall identify the beam diameter at the aperture/emitter, Section 7.3.4 */ + float _apertureDiameter; + + /** Field shall identify the emissions wavelength in units of meters, Section 7.3.4 */ + float _wavelength; + + /** Field shall identify the current peak irradiance of emissions in units of Watts per square meter, Section 7.3.4 */ + float _peakIrradiance; + + /** field shall identify the current pulse repetition frequency in units of cycles per second (Hertz), Section 7.3.4 */ + float _pulseRepetitionFrequency; + + /** field shall identify the pulse width emissions in units of seconds, Section 7.3.4 */ + int _pulseWidth; + + /** 16bit Boolean field shall contain various flags to indicate status information needed to process a DE, Section 7.3.4 */ + int _flags; + + /** Field shall identify the pulse shape and shall be represented as an 8-bit enumeration, Section 7.3.4 */ + char _pulseShape; + + /** padding, Section 7.3.4 */ + unsigned char _padding1; + + /** padding, Section 7.3.4 */ + unsigned int _padding2; + + /** padding, Section 7.3.4 */ + unsigned short _padding3; + + /** Field shall specify the number of DE records, Section 7.3.4 */ + unsigned short _numberOfDERecords; + + /** Fields shall contain one or more DE records, records shall conform to the variable record format (Section6.2.82), Section 7.3.4 */ + std::vector _dERecords; + + + public: + DirectedEnergyFirePdu(); + virtual ~DirectedEnergyFirePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityType& getMunitionType(); + const EntityType& getMunitionType() const; + void setMunitionType(const EntityType &pX); + + ClockTime& getShotStartTime(); + const ClockTime& getShotStartTime() const; + void setShotStartTime(const ClockTime &pX); + + float getCommulativeShotTime() const; + void setCommulativeShotTime(float pX); + + Vector3Float& getApertureEmitterLocation(); + const Vector3Float& getApertureEmitterLocation() const; + void setApertureEmitterLocation(const Vector3Float &pX); + + float getApertureDiameter() const; + void setApertureDiameter(float pX); + + float getWavelength() const; + void setWavelength(float pX); + + float getPeakIrradiance() const; + void setPeakIrradiance(float pX); + + float getPulseRepetitionFrequency() const; + void setPulseRepetitionFrequency(float pX); + + int getPulseWidth() const; + void setPulseWidth(int pX); + + int getFlags() const; + void setFlags(int pX); + + char getPulseShape() const; + void setPulseShape(char pX); + + unsigned char getPadding1() const; + void setPadding1(unsigned char pX); + + unsigned int getPadding2() const; + void setPadding2(unsigned int pX); + + unsigned short getPadding3() const; + void setPadding3(unsigned short pX); + + unsigned short getNumberOfDERecords() const; + + std::vector& getDERecords(); + const std::vector& getDERecords() const; + void setDERecords(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const DirectedEnergyFirePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/DirectedEnergyPrecisionAimpoint.cpp b/cpp/DIS7/DirectedEnergyPrecisionAimpoint.cpp new file mode 100644 index 00000000..f1f4c71d --- /dev/null +++ b/cpp/DIS7/DirectedEnergyPrecisionAimpoint.cpp @@ -0,0 +1,287 @@ +#include + +using namespace DIS; + + +DirectedEnergyPrecisionAimpoint::DirectedEnergyPrecisionAimpoint(): + _recordType(4000), + _recordLength(88), + _padding(0), + _targetSpotLocation(), + _targetSpotEntityLocation(), + _targetSpotVelocity(), + _targetSpotAcceleration(), + _targetEntityID(), + _targetComponentID(0), + _SpotShape(0), + _BeamSpotXSecSemiMajorAxis(0), + _BeamSpotCrossSectionSemiMinorAxis(0), + _BeamSpotCrossSectionOrientAngle(0) +{ +} + +DirectedEnergyPrecisionAimpoint::~DirectedEnergyPrecisionAimpoint() +{ +} + +unsigned int DirectedEnergyPrecisionAimpoint::getRecordType() const +{ + return _recordType; +} + +void DirectedEnergyPrecisionAimpoint::setRecordType(unsigned int pX) +{ + _recordType = pX; +} + +unsigned short DirectedEnergyPrecisionAimpoint::getRecordLength() const +{ + return _recordLength; +} + +void DirectedEnergyPrecisionAimpoint::setRecordLength(unsigned short pX) +{ + _recordLength = pX; +} + +unsigned short DirectedEnergyPrecisionAimpoint::getPadding() const +{ + return _padding; +} + +void DirectedEnergyPrecisionAimpoint::setPadding(unsigned short pX) +{ + _padding = pX; +} + +Vector3Double& DirectedEnergyPrecisionAimpoint::getTargetSpotLocation() +{ + return _targetSpotLocation; +} + +const Vector3Double& DirectedEnergyPrecisionAimpoint::getTargetSpotLocation() const +{ + return _targetSpotLocation; +} + +void DirectedEnergyPrecisionAimpoint::setTargetSpotLocation(const Vector3Double &pX) +{ + _targetSpotLocation = pX; +} + +Vector3Float& DirectedEnergyPrecisionAimpoint::getTargetSpotEntityLocation() +{ + return _targetSpotEntityLocation; +} + +const Vector3Float& DirectedEnergyPrecisionAimpoint::getTargetSpotEntityLocation() const +{ + return _targetSpotEntityLocation; +} + +void DirectedEnergyPrecisionAimpoint::setTargetSpotEntityLocation(const Vector3Float &pX) +{ + _targetSpotEntityLocation = pX; +} + +Vector3Float& DirectedEnergyPrecisionAimpoint::getTargetSpotVelocity() +{ + return _targetSpotVelocity; +} + +const Vector3Float& DirectedEnergyPrecisionAimpoint::getTargetSpotVelocity() const +{ + return _targetSpotVelocity; +} + +void DirectedEnergyPrecisionAimpoint::setTargetSpotVelocity(const Vector3Float &pX) +{ + _targetSpotVelocity = pX; +} + +Vector3Float& DirectedEnergyPrecisionAimpoint::getTargetSpotAcceleration() +{ + return _targetSpotAcceleration; +} + +const Vector3Float& DirectedEnergyPrecisionAimpoint::getTargetSpotAcceleration() const +{ + return _targetSpotAcceleration; +} + +void DirectedEnergyPrecisionAimpoint::setTargetSpotAcceleration(const Vector3Float &pX) +{ + _targetSpotAcceleration = pX; +} + +EntityID& DirectedEnergyPrecisionAimpoint::getTargetEntityID() +{ + return _targetEntityID; +} + +const EntityID& DirectedEnergyPrecisionAimpoint::getTargetEntityID() const +{ + return _targetEntityID; +} + +void DirectedEnergyPrecisionAimpoint::setTargetEntityID(const EntityID &pX) +{ + _targetEntityID = pX; +} + +unsigned char DirectedEnergyPrecisionAimpoint::getTargetComponentID() const +{ + return _targetComponentID; +} + +void DirectedEnergyPrecisionAimpoint::setTargetComponentID(unsigned char pX) +{ + _targetComponentID = pX; +} + +unsigned char DirectedEnergyPrecisionAimpoint::getSpotShape() const +{ + return _SpotShape; +} + +void DirectedEnergyPrecisionAimpoint::setSpotShape(unsigned char pX) +{ + _SpotShape = pX; +} + +float DirectedEnergyPrecisionAimpoint::getBeamSpotXSecSemiMajorAxis() const +{ + return _BeamSpotXSecSemiMajorAxis; +} + +void DirectedEnergyPrecisionAimpoint::setBeamSpotXSecSemiMajorAxis(float pX) +{ + _BeamSpotXSecSemiMajorAxis = pX; +} + +float DirectedEnergyPrecisionAimpoint::getBeamSpotCrossSectionSemiMinorAxis() const +{ + return _BeamSpotCrossSectionSemiMinorAxis; +} + +void DirectedEnergyPrecisionAimpoint::setBeamSpotCrossSectionSemiMinorAxis(float pX) +{ + _BeamSpotCrossSectionSemiMinorAxis = pX; +} + +float DirectedEnergyPrecisionAimpoint::getBeamSpotCrossSectionOrientAngle() const +{ + return _BeamSpotCrossSectionOrientAngle; +} + +void DirectedEnergyPrecisionAimpoint::setBeamSpotCrossSectionOrientAngle(float pX) +{ + _BeamSpotCrossSectionOrientAngle = pX; +} + +void DirectedEnergyPrecisionAimpoint::marshal(DataStream& dataStream) const +{ + dataStream << _recordType; + dataStream << _recordLength; + dataStream << _padding; + _targetSpotLocation.marshal(dataStream); + _targetSpotEntityLocation.marshal(dataStream); + _targetSpotVelocity.marshal(dataStream); + _targetSpotAcceleration.marshal(dataStream); + _targetEntityID.marshal(dataStream); + dataStream << _targetComponentID; + dataStream << _SpotShape; + dataStream << _BeamSpotXSecSemiMajorAxis; + dataStream << _BeamSpotCrossSectionSemiMinorAxis; + dataStream << _BeamSpotCrossSectionOrientAngle; +} + +void DirectedEnergyPrecisionAimpoint::unmarshal(DataStream& dataStream) +{ + dataStream >> _recordType; + dataStream >> _recordLength; + dataStream >> _padding; + _targetSpotLocation.unmarshal(dataStream); + _targetSpotEntityLocation.unmarshal(dataStream); + _targetSpotVelocity.unmarshal(dataStream); + _targetSpotAcceleration.unmarshal(dataStream); + _targetEntityID.unmarshal(dataStream); + dataStream >> _targetComponentID; + dataStream >> _SpotShape; + dataStream >> _BeamSpotXSecSemiMajorAxis; + dataStream >> _BeamSpotCrossSectionSemiMinorAxis; + dataStream >> _BeamSpotCrossSectionOrientAngle; +} + + +bool DirectedEnergyPrecisionAimpoint::operator ==(const DirectedEnergyPrecisionAimpoint& rhs) const + { + bool ivarsEqual = true; + + if( ! (_recordType == rhs._recordType) ) ivarsEqual = false; + if( ! (_recordLength == rhs._recordLength) ) ivarsEqual = false; + if( ! (_padding == rhs._padding) ) ivarsEqual = false; + if( ! (_targetSpotLocation == rhs._targetSpotLocation) ) ivarsEqual = false; + if( ! (_targetSpotEntityLocation == rhs._targetSpotEntityLocation) ) ivarsEqual = false; + if( ! (_targetSpotVelocity == rhs._targetSpotVelocity) ) ivarsEqual = false; + if( ! (_targetSpotAcceleration == rhs._targetSpotAcceleration) ) ivarsEqual = false; + if( ! (_targetEntityID == rhs._targetEntityID) ) ivarsEqual = false; + if( ! (_targetComponentID == rhs._targetComponentID) ) ivarsEqual = false; + if( ! (_SpotShape == rhs._SpotShape) ) ivarsEqual = false; + if( ! (_BeamSpotXSecSemiMajorAxis == rhs._BeamSpotXSecSemiMajorAxis) ) ivarsEqual = false; + if( ! (_BeamSpotCrossSectionSemiMinorAxis == rhs._BeamSpotCrossSectionSemiMinorAxis) ) ivarsEqual = false; + if( ! (_BeamSpotCrossSectionOrientAngle == rhs._BeamSpotCrossSectionOrientAngle) ) ivarsEqual = false; + + return ivarsEqual; + } + +int DirectedEnergyPrecisionAimpoint::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _recordType + marshalSize = marshalSize + 2; // _recordLength + marshalSize = marshalSize + 2; // _padding + marshalSize = marshalSize + _targetSpotLocation.getMarshalledSize(); // _targetSpotLocation + marshalSize = marshalSize + _targetSpotEntityLocation.getMarshalledSize(); // _targetSpotEntityLocation + marshalSize = marshalSize + _targetSpotVelocity.getMarshalledSize(); // _targetSpotVelocity + marshalSize = marshalSize + _targetSpotAcceleration.getMarshalledSize(); // _targetSpotAcceleration + marshalSize = marshalSize + _targetEntityID.getMarshalledSize(); // _targetEntityID + marshalSize = marshalSize + 1; // _targetComponentID + marshalSize = marshalSize + 1; // _SpotShape + marshalSize = marshalSize + 4; // _BeamSpotXSecSemiMajorAxis + marshalSize = marshalSize + 4; // _BeamSpotCrossSectionSemiMinorAxis + marshalSize = marshalSize + 4; // _BeamSpotCrossSectionOrientAngle + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/DirectedEnergyPrecisionAimpoint.h b/cpp/DIS7/DirectedEnergyPrecisionAimpoint.h new file mode 100644 index 00000000..8b61d593 --- /dev/null +++ b/cpp/DIS7/DirectedEnergyPrecisionAimpoint.h @@ -0,0 +1,152 @@ +#ifndef DIRECTEDENERGYPRECISIONAIMPOINT_H +#define DIRECTEDENERGYPRECISIONAIMPOINT_H + +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// DE Precision Aimpoint Record. Section 6.2.21.3 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO DirectedEnergyPrecisionAimpoint +{ +protected: + /** Type of Record */ + unsigned int _recordType; + + /** Length of Record */ + unsigned short _recordLength; + + /** Padding */ + unsigned short _padding; + + /** Position of Target Spot in World Coordinates. */ + Vector3Double _targetSpotLocation; + + /** Position (meters) of Target Spot relative to Entity Position. */ + Vector3Float _targetSpotEntityLocation; + + /** Velocity (meters/sec) of Target Spot. */ + Vector3Float _targetSpotVelocity; + + /** Acceleration (meters/sec/sec) of Target Spot. */ + Vector3Float _targetSpotAcceleration; + + /** Unique ID of the target entity. */ + EntityID _targetEntityID; + + /** Target Component ID ENUM, same as in DamageDescriptionRecord. */ + unsigned char _targetComponentID; + + /** Spot Shape ENUM. */ + unsigned char _SpotShape; + + /** Beam Spot Cross Section Semi-Major Axis. */ + float _BeamSpotXSecSemiMajorAxis; + + /** Beam Spot Cross Section Semi-Major Axis. */ + float _BeamSpotCrossSectionSemiMinorAxis; + + /** Beam Spot Cross Section Orientation Angle. */ + float _BeamSpotCrossSectionOrientAngle; + + + public: + DirectedEnergyPrecisionAimpoint(); + virtual ~DirectedEnergyPrecisionAimpoint(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getRecordType() const; + void setRecordType(unsigned int pX); + + unsigned short getRecordLength() const; + void setRecordLength(unsigned short pX); + + unsigned short getPadding() const; + void setPadding(unsigned short pX); + + Vector3Double& getTargetSpotLocation(); + const Vector3Double& getTargetSpotLocation() const; + void setTargetSpotLocation(const Vector3Double &pX); + + Vector3Float& getTargetSpotEntityLocation(); + const Vector3Float& getTargetSpotEntityLocation() const; + void setTargetSpotEntityLocation(const Vector3Float &pX); + + Vector3Float& getTargetSpotVelocity(); + const Vector3Float& getTargetSpotVelocity() const; + void setTargetSpotVelocity(const Vector3Float &pX); + + Vector3Float& getTargetSpotAcceleration(); + const Vector3Float& getTargetSpotAcceleration() const; + void setTargetSpotAcceleration(const Vector3Float &pX); + + EntityID& getTargetEntityID(); + const EntityID& getTargetEntityID() const; + void setTargetEntityID(const EntityID &pX); + + unsigned char getTargetComponentID() const; + void setTargetComponentID(unsigned char pX); + + unsigned char getSpotShape() const; + void setSpotShape(unsigned char pX); + + float getBeamSpotXSecSemiMajorAxis() const; + void setBeamSpotXSecSemiMajorAxis(float pX); + + float getBeamSpotCrossSectionSemiMinorAxis() const; + void setBeamSpotCrossSectionSemiMinorAxis(float pX); + + float getBeamSpotCrossSectionOrientAngle() const; + void setBeamSpotCrossSectionOrientAngle(float pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const DirectedEnergyPrecisionAimpoint& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/DirectedEnergyTargetEnergyDeposition.cpp b/cpp/DIS7/DirectedEnergyTargetEnergyDeposition.cpp new file mode 100644 index 00000000..9ddaf8b0 --- /dev/null +++ b/cpp/DIS7/DirectedEnergyTargetEnergyDeposition.cpp @@ -0,0 +1,117 @@ +#include + +using namespace DIS; + + +DirectedEnergyTargetEnergyDeposition::DirectedEnergyTargetEnergyDeposition(): + _targetEntityID(), + _padding(0), + _peakIrradiance(0.0) +{ +} + +DirectedEnergyTargetEnergyDeposition::~DirectedEnergyTargetEnergyDeposition() +{ +} + +EntityID& DirectedEnergyTargetEnergyDeposition::getTargetEntityID() +{ + return _targetEntityID; +} + +const EntityID& DirectedEnergyTargetEnergyDeposition::getTargetEntityID() const +{ + return _targetEntityID; +} + +void DirectedEnergyTargetEnergyDeposition::setTargetEntityID(const EntityID &pX) +{ + _targetEntityID = pX; +} + +unsigned short DirectedEnergyTargetEnergyDeposition::getPadding() const +{ + return _padding; +} + +void DirectedEnergyTargetEnergyDeposition::setPadding(unsigned short pX) +{ + _padding = pX; +} + +float DirectedEnergyTargetEnergyDeposition::getPeakIrradiance() const +{ + return _peakIrradiance; +} + +void DirectedEnergyTargetEnergyDeposition::setPeakIrradiance(float pX) +{ + _peakIrradiance = pX; +} + +void DirectedEnergyTargetEnergyDeposition::marshal(DataStream& dataStream) const +{ + _targetEntityID.marshal(dataStream); + dataStream << _padding; + dataStream << _peakIrradiance; +} + +void DirectedEnergyTargetEnergyDeposition::unmarshal(DataStream& dataStream) +{ + _targetEntityID.unmarshal(dataStream); + dataStream >> _padding; + dataStream >> _peakIrradiance; +} + + +bool DirectedEnergyTargetEnergyDeposition::operator ==(const DirectedEnergyTargetEnergyDeposition& rhs) const + { + bool ivarsEqual = true; + + if( ! (_targetEntityID == rhs._targetEntityID) ) ivarsEqual = false; + if( ! (_padding == rhs._padding) ) ivarsEqual = false; + if( ! (_peakIrradiance == rhs._peakIrradiance) ) ivarsEqual = false; + + return ivarsEqual; + } + +int DirectedEnergyTargetEnergyDeposition::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _targetEntityID.getMarshalledSize(); // _targetEntityID + marshalSize = marshalSize + 2; // _padding + marshalSize = marshalSize + 4; // _peakIrradiance + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/DirectedEnergyTargetEnergyDeposition.h b/cpp/DIS7/DirectedEnergyTargetEnergyDeposition.h new file mode 100644 index 00000000..4737f7ba --- /dev/null +++ b/cpp/DIS7/DirectedEnergyTargetEnergyDeposition.h @@ -0,0 +1,84 @@ +#ifndef DIRECTEDENERGYTARGETENERGYDEPOSITION_H +#define DIRECTEDENERGYTARGETENERGYDEPOSITION_H + +#include +#include +#include + + +namespace DIS +{ +// DE energy depostion properties for a target entity. Section 6.2.21.4 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO DirectedEnergyTargetEnergyDeposition +{ +protected: + /** Unique ID of the target entity. */ + EntityID _targetEntityID; + + /** padding */ + unsigned short _padding; + + /** Peak irrandiance */ + float _peakIrradiance; + + + public: + DirectedEnergyTargetEnergyDeposition(); + virtual ~DirectedEnergyTargetEnergyDeposition(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getTargetEntityID(); + const EntityID& getTargetEntityID() const; + void setTargetEntityID(const EntityID &pX); + + unsigned short getPadding() const; + void setPadding(unsigned short pX); + + float getPeakIrradiance() const; + void setPeakIrradiance(float pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const DirectedEnergyTargetEnergyDeposition& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/DistributedEmissionsFamilyPdu.cpp b/cpp/DIS7/DistributedEmissionsFamilyPdu.cpp new file mode 100644 index 00000000..0aa68dc3 --- /dev/null +++ b/cpp/DIS7/DistributedEmissionsFamilyPdu.cpp @@ -0,0 +1,74 @@ +#include + +using namespace DIS; + + +DistributedEmissionsFamilyPdu::DistributedEmissionsFamilyPdu() : Pdu() + +{ + setProtocolFamily( 6 ); +} + +DistributedEmissionsFamilyPdu::~DistributedEmissionsFamilyPdu() +{ +} + +void DistributedEmissionsFamilyPdu::marshal(DataStream& dataStream) const +{ + Pdu::marshal(dataStream); // Marshal information in superclass first +} + +void DistributedEmissionsFamilyPdu::unmarshal(DataStream& dataStream) +{ + Pdu::unmarshal(dataStream); // unmarshal information in superclass first +} + + +bool DistributedEmissionsFamilyPdu::operator ==(const DistributedEmissionsFamilyPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = Pdu::operator==(rhs); + + + return ivarsEqual; + } + +int DistributedEmissionsFamilyPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = Pdu::getMarshalledSize(); + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/DistributedEmissionsFamilyPdu.h b/cpp/DIS7/DistributedEmissionsFamilyPdu.h new file mode 100644 index 00000000..186242cd --- /dev/null +++ b/cpp/DIS7/DistributedEmissionsFamilyPdu.h @@ -0,0 +1,65 @@ +#ifndef DISTRIBUTEDEMISSIONSFAMILYPDU_H +#define DISTRIBUTEDEMISSIONSFAMILYPDU_H + +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.7. Electronic Emissions. Abstract superclass for distirubted emissions PDU + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO DistributedEmissionsFamilyPdu : public Pdu +{ +protected: + + public: + DistributedEmissionsFamilyPdu(); + virtual ~DistributedEmissionsFamilyPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + +virtual int getMarshalledSize() const; + + bool operator ==(const DistributedEmissionsFamilyPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EEFundamentalParameterData.cpp b/cpp/DIS7/EEFundamentalParameterData.cpp new file mode 100644 index 00000000..b9d0cb8c --- /dev/null +++ b/cpp/DIS7/EEFundamentalParameterData.cpp @@ -0,0 +1,142 @@ +#include + +using namespace DIS; + + +EEFundamentalParameterData::EEFundamentalParameterData(): + _frequency(0.0), + _frequencyRange(0.0), + _effectiveRadiatedPower(0.0), + _pulseRepetitionFrequency(0.0), + _pulseWidth(0.0) +{ +} + +EEFundamentalParameterData::~EEFundamentalParameterData() +{ +} + +float EEFundamentalParameterData::getFrequency() const +{ + return _frequency; +} + +void EEFundamentalParameterData::setFrequency(float pX) +{ + _frequency = pX; +} + +float EEFundamentalParameterData::getFrequencyRange() const +{ + return _frequencyRange; +} + +void EEFundamentalParameterData::setFrequencyRange(float pX) +{ + _frequencyRange = pX; +} + +float EEFundamentalParameterData::getEffectiveRadiatedPower() const +{ + return _effectiveRadiatedPower; +} + +void EEFundamentalParameterData::setEffectiveRadiatedPower(float pX) +{ + _effectiveRadiatedPower = pX; +} + +float EEFundamentalParameterData::getPulseRepetitionFrequency() const +{ + return _pulseRepetitionFrequency; +} + +void EEFundamentalParameterData::setPulseRepetitionFrequency(float pX) +{ + _pulseRepetitionFrequency = pX; +} + +float EEFundamentalParameterData::getPulseWidth() const +{ + return _pulseWidth; +} + +void EEFundamentalParameterData::setPulseWidth(float pX) +{ + _pulseWidth = pX; +} + +void EEFundamentalParameterData::marshal(DataStream& dataStream) const +{ + dataStream << _frequency; + dataStream << _frequencyRange; + dataStream << _effectiveRadiatedPower; + dataStream << _pulseRepetitionFrequency; + dataStream << _pulseWidth; +} + +void EEFundamentalParameterData::unmarshal(DataStream& dataStream) +{ + dataStream >> _frequency; + dataStream >> _frequencyRange; + dataStream >> _effectiveRadiatedPower; + dataStream >> _pulseRepetitionFrequency; + dataStream >> _pulseWidth; +} + + +bool EEFundamentalParameterData::operator ==(const EEFundamentalParameterData& rhs) const + { + bool ivarsEqual = true; + + if( ! (_frequency == rhs._frequency) ) ivarsEqual = false; + if( ! (_frequencyRange == rhs._frequencyRange) ) ivarsEqual = false; + if( ! (_effectiveRadiatedPower == rhs._effectiveRadiatedPower) ) ivarsEqual = false; + if( ! (_pulseRepetitionFrequency == rhs._pulseRepetitionFrequency) ) ivarsEqual = false; + if( ! (_pulseWidth == rhs._pulseWidth) ) ivarsEqual = false; + + return ivarsEqual; + } + +int EEFundamentalParameterData::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _frequency + marshalSize = marshalSize + 4; // _frequencyRange + marshalSize = marshalSize + 4; // _effectiveRadiatedPower + marshalSize = marshalSize + 4; // _pulseRepetitionFrequency + marshalSize = marshalSize + 4; // _pulseWidth + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EEFundamentalParameterData.h b/cpp/DIS7/EEFundamentalParameterData.h new file mode 100644 index 00000000..aeff9169 --- /dev/null +++ b/cpp/DIS7/EEFundamentalParameterData.h @@ -0,0 +1,94 @@ +#ifndef EEFUNDAMENTALPARAMETERDATA_H +#define EEFUNDAMENTALPARAMETERDATA_H + +#include +#include + + +namespace DIS +{ +// Contains electromagnetic emmission regeneration parameters that are variable throught a scenario. Section 6.2.22. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EEFundamentalParameterData +{ +protected: + /** center frequency of the emission in hertz. */ + float _frequency; + + /** Bandwidth of the frequencies corresponding to the fequency field. */ + float _frequencyRange; + + /** Effective radiated power for the emission in DdBm. For a radar noise jammer, indicates the peak of the transmitted power. */ + float _effectiveRadiatedPower; + + /** Average repetition frequency of the emission in hertz. */ + float _pulseRepetitionFrequency; + + /** Average pulse width of the emission in microseconds. */ + float _pulseWidth; + + + public: + EEFundamentalParameterData(); + virtual ~EEFundamentalParameterData(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + float getFrequency() const; + void setFrequency(float pX); + + float getFrequencyRange() const; + void setFrequencyRange(float pX); + + float getEffectiveRadiatedPower() const; + void setEffectiveRadiatedPower(float pX); + + float getPulseRepetitionFrequency() const; + void setPulseRepetitionFrequency(float pX); + + float getPulseWidth() const; + void setPulseWidth(float pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EEFundamentalParameterData& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EightByteChunk.cpp b/cpp/DIS7/EightByteChunk.cpp new file mode 100644 index 00000000..e53466e4 --- /dev/null +++ b/cpp/DIS7/EightByteChunk.cpp @@ -0,0 +1,110 @@ +#include + +using namespace DIS; + + +EightByteChunk::EightByteChunk() +{ + // Initialize fixed length array + for(int lengthotherParameters= 0; lengthotherParameters < 8; lengthotherParameters++) + { + _otherParameters[lengthotherParameters] = 0; + } + +} + +EightByteChunk::~EightByteChunk() +{ +} + +char* EightByteChunk::getOtherParameters() +{ + return _otherParameters; +} + +const char* EightByteChunk::getOtherParameters() const +{ + return _otherParameters; +} + +void EightByteChunk::setOtherParameters(const char* x) +{ + for(int i = 0; i < 8; i++) + { + _otherParameters[i] = x[i]; + } +} + +void EightByteChunk::marshal(DataStream& dataStream) const +{ + + for(size_t idx = 0; idx < 8; idx++) + { + dataStream << _otherParameters[idx]; + } + +} + +void EightByteChunk::unmarshal(DataStream& dataStream) +{ + + for(size_t idx = 0; idx < 8; idx++) + { + dataStream >> _otherParameters[idx]; + } + +} + + +bool EightByteChunk::operator ==(const EightByteChunk& rhs) const + { + bool ivarsEqual = true; + + + for(char idx = 0; idx < 8; idx++) + { + if(!(_otherParameters[idx] == rhs._otherParameters[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int EightByteChunk::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 8 * 1; // _otherParameters + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EightByteChunk.h b/cpp/DIS7/EightByteChunk.h new file mode 100644 index 00000000..0f3bdfa4 --- /dev/null +++ b/cpp/DIS7/EightByteChunk.h @@ -0,0 +1,71 @@ +#ifndef EIGHTBYTECHUNK_H +#define EIGHTBYTECHUNK_H + +#include +#include + + +namespace DIS +{ +// 64 bit piece of data + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EightByteChunk +{ +protected: + /** Eight bytes of arbitrary data */ + char _otherParameters[8]; + + + public: + EightByteChunk(); + virtual ~EightByteChunk(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + char* getOtherParameters(); + const char* getOtherParameters() const; + void setOtherParameters( const char* pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EightByteChunk& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ElectronicEmissionsPdu.cpp b/cpp/DIS7/ElectronicEmissionsPdu.cpp new file mode 100644 index 00000000..51b429f8 --- /dev/null +++ b/cpp/DIS7/ElectronicEmissionsPdu.cpp @@ -0,0 +1,267 @@ +#include + +using namespace DIS; + + +ElectronicEmissionsPdu::ElectronicEmissionsPdu() : DistributedEmissionsFamilyPdu(), + _emittingEntityID(), + _eventID(), + _stateUpdateIndicator(0), + _numberOfSystems(0), + _paddingForEmissionsPdu(0), + _systemDataLength(0), + _numberOfBeams(0), + _emitterSystem(), + _location() +{ + setPduType( 23 ); + setPaddingForEmissionsPdu( 0 ); +} + +ElectronicEmissionsPdu::~ElectronicEmissionsPdu() +{ + _systems.clear(); +} + +EntityID& ElectronicEmissionsPdu::getEmittingEntityID() +{ + return _emittingEntityID; +} + +const EntityID& ElectronicEmissionsPdu::getEmittingEntityID() const +{ + return _emittingEntityID; +} + +void ElectronicEmissionsPdu::setEmittingEntityID(const EntityID &pX) +{ + _emittingEntityID = pX; +} + +EventIdentifier& ElectronicEmissionsPdu::getEventID() +{ + return _eventID; +} + +const EventIdentifier& ElectronicEmissionsPdu::getEventID() const +{ + return _eventID; +} + +void ElectronicEmissionsPdu::setEventID(const EventIdentifier &pX) +{ + _eventID = pX; +} + +unsigned char ElectronicEmissionsPdu::getStateUpdateIndicator() const +{ + return _stateUpdateIndicator; +} + +void ElectronicEmissionsPdu::setStateUpdateIndicator(unsigned char pX) +{ + _stateUpdateIndicator = pX; +} + +unsigned char ElectronicEmissionsPdu::getNumberOfSystems() const +{ + return _systems.size(); +} + +unsigned short ElectronicEmissionsPdu::getPaddingForEmissionsPdu() const +{ + return _paddingForEmissionsPdu; +} + +void ElectronicEmissionsPdu::setPaddingForEmissionsPdu(unsigned short pX) +{ + _paddingForEmissionsPdu = pX; +} + +unsigned char ElectronicEmissionsPdu::getSystemDataLength() const +{ + return _systemDataLength; +} + +void ElectronicEmissionsPdu::setSystemDataLength(unsigned char pX) +{ + _systemDataLength = pX; +} + +unsigned char ElectronicEmissionsPdu::getNumberOfBeams() const +{ + return _numberOfBeams; +} + +void ElectronicEmissionsPdu::setNumberOfBeams(unsigned char pX) +{ + _numberOfBeams = pX; +} + +EmitterSystem& ElectronicEmissionsPdu::getEmitterSystem() +{ + return _emitterSystem; +} + +const EmitterSystem& ElectronicEmissionsPdu::getEmitterSystem() const +{ + return _emitterSystem; +} + +void ElectronicEmissionsPdu::setEmitterSystem(const EmitterSystem &pX) +{ + _emitterSystem = pX; +} + +Vector3Float& ElectronicEmissionsPdu::getLocation() +{ + return _location; +} + +const Vector3Float& ElectronicEmissionsPdu::getLocation() const +{ + return _location; +} + +void ElectronicEmissionsPdu::setLocation(const Vector3Float &pX) +{ + _location = pX; +} + +std::vector& ElectronicEmissionsPdu::getSystems() +{ + return _systems; +} + +const std::vector& ElectronicEmissionsPdu::getSystems() const +{ + return _systems; +} + +void ElectronicEmissionsPdu::setSystems(const std::vector& pX) +{ + _systems = pX; +} + +void ElectronicEmissionsPdu::marshal(DataStream& dataStream) const +{ + DistributedEmissionsFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _emittingEntityID.marshal(dataStream); + _eventID.marshal(dataStream); + dataStream << _stateUpdateIndicator; + dataStream << ( unsigned char )_systems.size(); + dataStream << _paddingForEmissionsPdu; + dataStream << _systemDataLength; + dataStream << _numberOfBeams; + _emitterSystem.marshal(dataStream); + _location.marshal(dataStream); + + for(size_t idx = 0; idx < _systems.size(); idx++) + { + Vector3Float x = _systems[idx]; + x.marshal(dataStream); + } + +} + +void ElectronicEmissionsPdu::unmarshal(DataStream& dataStream) +{ + DistributedEmissionsFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _emittingEntityID.unmarshal(dataStream); + _eventID.unmarshal(dataStream); + dataStream >> _stateUpdateIndicator; + dataStream >> _numberOfSystems; + dataStream >> _paddingForEmissionsPdu; + dataStream >> _systemDataLength; + dataStream >> _numberOfBeams; + _emitterSystem.unmarshal(dataStream); + _location.unmarshal(dataStream); + + _systems.clear(); + for(size_t idx = 0; idx < _numberOfSystems; idx++) + { + Vector3Float x; + x.unmarshal(dataStream); + _systems.push_back(x); + } +} + + +bool ElectronicEmissionsPdu::operator ==(const ElectronicEmissionsPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = DistributedEmissionsFamilyPdu::operator==(rhs); + + if( ! (_emittingEntityID == rhs._emittingEntityID) ) ivarsEqual = false; + if( ! (_eventID == rhs._eventID) ) ivarsEqual = false; + if( ! (_stateUpdateIndicator == rhs._stateUpdateIndicator) ) ivarsEqual = false; + if( ! (_paddingForEmissionsPdu == rhs._paddingForEmissionsPdu) ) ivarsEqual = false; + if( ! (_systemDataLength == rhs._systemDataLength) ) ivarsEqual = false; + if( ! (_numberOfBeams == rhs._numberOfBeams) ) ivarsEqual = false; + if( ! (_emitterSystem == rhs._emitterSystem) ) ivarsEqual = false; + if( ! (_location == rhs._location) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _systems.size(); idx++) + { + if( ! ( _systems[idx] == rhs._systems[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int ElectronicEmissionsPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = DistributedEmissionsFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _emittingEntityID.getMarshalledSize(); // _emittingEntityID + marshalSize = marshalSize + _eventID.getMarshalledSize(); // _eventID + marshalSize = marshalSize + 1; // _stateUpdateIndicator + marshalSize = marshalSize + 1; // _numberOfSystems + marshalSize = marshalSize + 2; // _paddingForEmissionsPdu + marshalSize = marshalSize + 1; // _systemDataLength + marshalSize = marshalSize + 1; // _numberOfBeams + marshalSize = marshalSize + _emitterSystem.getMarshalledSize(); // _emitterSystem + marshalSize = marshalSize + _location.getMarshalledSize(); // _location + + for(int idx=0; idx < _systems.size(); idx++) + { + Vector3Float listElement = _systems[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ElectronicEmissionsPdu.h b/cpp/DIS7/ElectronicEmissionsPdu.h new file mode 100644 index 00000000..2d59269b --- /dev/null +++ b/cpp/DIS7/ElectronicEmissionsPdu.h @@ -0,0 +1,135 @@ +#ifndef ELECTRONICEMISSIONSPDU_H +#define ELECTRONICEMISSIONSPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.7.1. Information about active electronic warfare (EW) emissions and active EW countermeasures shall be communicated using an Electromagnetic Emission PDU. NOT COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ElectronicEmissionsPdu : public DistributedEmissionsFamilyPdu +{ +protected: + /** ID of the entity emitting */ + EntityID _emittingEntityID; + + /** ID of event */ + EventIdentifier _eventID; + + /** This field shall be used to indicate if the data in the PDU represents a state update or just data that has changed since issuance of the last Electromagnetic Emission PDU [relative to the identified entity and emission system(s)]. */ + unsigned char _stateUpdateIndicator; + + /** This field shall specify the number of emission systems being described in the current PDU. */ + unsigned char _numberOfSystems; + + /** padding */ + unsigned short _paddingForEmissionsPdu; + + /** this field shall specify the length of this emitter system's data in 32-bit words. */ + unsigned char _systemDataLength; + + /** the number of beams being described in the current PDU for the emitter system being described. */ + unsigned char _numberOfBeams; + + /** information about a particular emitter system and shall be represented by an Emitter System record (see 6.2.23). */ + EmitterSystem _emitterSystem; + + /** the location of the antenna beam source with respect to the emitting entity's coordinate system. This location shall be the origin of the emitter coordinate system that shall have the same orientation as the entity coordinate system. This field shall be represented by an Entity Coordinate Vector record see 6.2.95 */ + Vector3Float _location; + + /** Electronic emmissions systems THIS IS WRONG. It has the WRONG class type and will cause problems in any marshalling. */ + std::vector _systems; + + + public: + ElectronicEmissionsPdu(); + virtual ~ElectronicEmissionsPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getEmittingEntityID(); + const EntityID& getEmittingEntityID() const; + void setEmittingEntityID(const EntityID &pX); + + EventIdentifier& getEventID(); + const EventIdentifier& getEventID() const; + void setEventID(const EventIdentifier &pX); + + unsigned char getStateUpdateIndicator() const; + void setStateUpdateIndicator(unsigned char pX); + + unsigned char getNumberOfSystems() const; + + unsigned short getPaddingForEmissionsPdu() const; + void setPaddingForEmissionsPdu(unsigned short pX); + + unsigned char getSystemDataLength() const; + void setSystemDataLength(unsigned char pX); + + unsigned char getNumberOfBeams() const; + void setNumberOfBeams(unsigned char pX); + + EmitterSystem& getEmitterSystem(); + const EmitterSystem& getEmitterSystem() const; + void setEmitterSystem(const EmitterSystem &pX); + + Vector3Float& getLocation(); + const Vector3Float& getLocation() const; + void setLocation(const Vector3Float &pX); + + std::vector& getSystems(); + const std::vector& getSystems() const; + void setSystems(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ElectronicEmissionsPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EmitterSystem.cpp b/cpp/DIS7/EmitterSystem.cpp new file mode 100644 index 00000000..67976b45 --- /dev/null +++ b/cpp/DIS7/EmitterSystem.cpp @@ -0,0 +1,112 @@ +#include + +using namespace DIS; + + +EmitterSystem::EmitterSystem(): + _emitterName(0), + _function(0), + _emitterIdNumber(0) +{ +} + +EmitterSystem::~EmitterSystem() +{ +} + +unsigned short EmitterSystem::getEmitterName() const +{ + return _emitterName; +} + +void EmitterSystem::setEmitterName(unsigned short pX) +{ + _emitterName = pX; +} + +unsigned char EmitterSystem::getFunction() const +{ + return _function; +} + +void EmitterSystem::setFunction(unsigned char pX) +{ + _function = pX; +} + +unsigned char EmitterSystem::getEmitterIdNumber() const +{ + return _emitterIdNumber; +} + +void EmitterSystem::setEmitterIdNumber(unsigned char pX) +{ + _emitterIdNumber = pX; +} + +void EmitterSystem::marshal(DataStream& dataStream) const +{ + dataStream << _emitterName; + dataStream << _function; + dataStream << _emitterIdNumber; +} + +void EmitterSystem::unmarshal(DataStream& dataStream) +{ + dataStream >> _emitterName; + dataStream >> _function; + dataStream >> _emitterIdNumber; +} + + +bool EmitterSystem::operator ==(const EmitterSystem& rhs) const + { + bool ivarsEqual = true; + + if( ! (_emitterName == rhs._emitterName) ) ivarsEqual = false; + if( ! (_function == rhs._function) ) ivarsEqual = false; + if( ! (_emitterIdNumber == rhs._emitterIdNumber) ) ivarsEqual = false; + + return ivarsEqual; + } + +int EmitterSystem::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2; // _emitterName + marshalSize = marshalSize + 1; // _function + marshalSize = marshalSize + 1; // _emitterIdNumber + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EmitterSystem.h b/cpp/DIS7/EmitterSystem.h new file mode 100644 index 00000000..8707c636 --- /dev/null +++ b/cpp/DIS7/EmitterSystem.h @@ -0,0 +1,82 @@ +#ifndef EMITTERSYSTEM_H +#define EMITTERSYSTEM_H + +#include +#include + + +namespace DIS +{ +// This field shall specify information about a particular emitter system. Section 6.2.23. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EmitterSystem +{ +protected: + /** Name of the emitter, 16 bit enumeration */ + unsigned short _emitterName; + + /** function of the emitter, 8 bit enumeration */ + unsigned char _function; + + /** emitter ID, 8 bit enumeration */ + unsigned char _emitterIdNumber; + + + public: + EmitterSystem(); + virtual ~EmitterSystem(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getEmitterName() const; + void setEmitterName(unsigned short pX); + + unsigned char getFunction() const; + void setFunction(unsigned char pX); + + unsigned char getEmitterIdNumber() const; + void setEmitterIdNumber(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EmitterSystem& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EngineFuel.cpp b/cpp/DIS7/EngineFuel.cpp new file mode 100644 index 00000000..aa9c6e67 --- /dev/null +++ b/cpp/DIS7/EngineFuel.cpp @@ -0,0 +1,142 @@ +#include + +using namespace DIS; + + +EngineFuel::EngineFuel(): + _fuelQuantity(0), + _fuelMeasurementUnits(0), + _fuelType(0), + _fuelLocation(0), + _padding(0) +{ +} + +EngineFuel::~EngineFuel() +{ +} + +unsigned int EngineFuel::getFuelQuantity() const +{ + return _fuelQuantity; +} + +void EngineFuel::setFuelQuantity(unsigned int pX) +{ + _fuelQuantity = pX; +} + +unsigned char EngineFuel::getFuelMeasurementUnits() const +{ + return _fuelMeasurementUnits; +} + +void EngineFuel::setFuelMeasurementUnits(unsigned char pX) +{ + _fuelMeasurementUnits = pX; +} + +unsigned char EngineFuel::getFuelType() const +{ + return _fuelType; +} + +void EngineFuel::setFuelType(unsigned char pX) +{ + _fuelType = pX; +} + +unsigned char EngineFuel::getFuelLocation() const +{ + return _fuelLocation; +} + +void EngineFuel::setFuelLocation(unsigned char pX) +{ + _fuelLocation = pX; +} + +unsigned char EngineFuel::getPadding() const +{ + return _padding; +} + +void EngineFuel::setPadding(unsigned char pX) +{ + _padding = pX; +} + +void EngineFuel::marshal(DataStream& dataStream) const +{ + dataStream << _fuelQuantity; + dataStream << _fuelMeasurementUnits; + dataStream << _fuelType; + dataStream << _fuelLocation; + dataStream << _padding; +} + +void EngineFuel::unmarshal(DataStream& dataStream) +{ + dataStream >> _fuelQuantity; + dataStream >> _fuelMeasurementUnits; + dataStream >> _fuelType; + dataStream >> _fuelLocation; + dataStream >> _padding; +} + + +bool EngineFuel::operator ==(const EngineFuel& rhs) const + { + bool ivarsEqual = true; + + if( ! (_fuelQuantity == rhs._fuelQuantity) ) ivarsEqual = false; + if( ! (_fuelMeasurementUnits == rhs._fuelMeasurementUnits) ) ivarsEqual = false; + if( ! (_fuelType == rhs._fuelType) ) ivarsEqual = false; + if( ! (_fuelLocation == rhs._fuelLocation) ) ivarsEqual = false; + if( ! (_padding == rhs._padding) ) ivarsEqual = false; + + return ivarsEqual; + } + +int EngineFuel::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _fuelQuantity + marshalSize = marshalSize + 1; // _fuelMeasurementUnits + marshalSize = marshalSize + 1; // _fuelType + marshalSize = marshalSize + 1; // _fuelLocation + marshalSize = marshalSize + 1; // _padding + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EngineFuel.h b/cpp/DIS7/EngineFuel.h new file mode 100644 index 00000000..f454b07e --- /dev/null +++ b/cpp/DIS7/EngineFuel.h @@ -0,0 +1,94 @@ +#ifndef ENGINEFUEL_H +#define ENGINEFUEL_H + +#include +#include + + +namespace DIS +{ +// Information about an entity's engine fuel. Section 6.2.24. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EngineFuel +{ +protected: + /** Fuel quantity, units specified by next field */ + unsigned int _fuelQuantity; + + /** Units in which the fuel is measured */ + unsigned char _fuelMeasurementUnits; + + /** Type of fuel */ + unsigned char _fuelType; + + /** Location of fuel as related to entity. See section 14 of EBV document */ + unsigned char _fuelLocation; + + /** padding */ + unsigned char _padding; + + + public: + EngineFuel(); + virtual ~EngineFuel(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getFuelQuantity() const; + void setFuelQuantity(unsigned int pX); + + unsigned char getFuelMeasurementUnits() const; + void setFuelMeasurementUnits(unsigned char pX); + + unsigned char getFuelType() const; + void setFuelType(unsigned char pX); + + unsigned char getFuelLocation() const; + void setFuelLocation(unsigned char pX); + + unsigned char getPadding() const; + void setPadding(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EngineFuel& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EngineFuelReload.cpp b/cpp/DIS7/EngineFuelReload.cpp new file mode 100644 index 00000000..15599a0b --- /dev/null +++ b/cpp/DIS7/EngineFuelReload.cpp @@ -0,0 +1,172 @@ +#include + +using namespace DIS; + + +EngineFuelReload::EngineFuelReload(): + _standardQuantity(0), + _maximumQuantity(0), + _standardQuantityReloadTime(0), + _maximumQuantityReloadTime(0), + _fuelMeasurmentUnits(0), + _fuelLocation(0), + _padding(0) +{ +} + +EngineFuelReload::~EngineFuelReload() +{ +} + +unsigned int EngineFuelReload::getStandardQuantity() const +{ + return _standardQuantity; +} + +void EngineFuelReload::setStandardQuantity(unsigned int pX) +{ + _standardQuantity = pX; +} + +unsigned int EngineFuelReload::getMaximumQuantity() const +{ + return _maximumQuantity; +} + +void EngineFuelReload::setMaximumQuantity(unsigned int pX) +{ + _maximumQuantity = pX; +} + +unsigned int EngineFuelReload::getStandardQuantityReloadTime() const +{ + return _standardQuantityReloadTime; +} + +void EngineFuelReload::setStandardQuantityReloadTime(unsigned int pX) +{ + _standardQuantityReloadTime = pX; +} + +unsigned int EngineFuelReload::getMaximumQuantityReloadTime() const +{ + return _maximumQuantityReloadTime; +} + +void EngineFuelReload::setMaximumQuantityReloadTime(unsigned int pX) +{ + _maximumQuantityReloadTime = pX; +} + +unsigned char EngineFuelReload::getFuelMeasurmentUnits() const +{ + return _fuelMeasurmentUnits; +} + +void EngineFuelReload::setFuelMeasurmentUnits(unsigned char pX) +{ + _fuelMeasurmentUnits = pX; +} + +unsigned char EngineFuelReload::getFuelLocation() const +{ + return _fuelLocation; +} + +void EngineFuelReload::setFuelLocation(unsigned char pX) +{ + _fuelLocation = pX; +} + +unsigned char EngineFuelReload::getPadding() const +{ + return _padding; +} + +void EngineFuelReload::setPadding(unsigned char pX) +{ + _padding = pX; +} + +void EngineFuelReload::marshal(DataStream& dataStream) const +{ + dataStream << _standardQuantity; + dataStream << _maximumQuantity; + dataStream << _standardQuantityReloadTime; + dataStream << _maximumQuantityReloadTime; + dataStream << _fuelMeasurmentUnits; + dataStream << _fuelLocation; + dataStream << _padding; +} + +void EngineFuelReload::unmarshal(DataStream& dataStream) +{ + dataStream >> _standardQuantity; + dataStream >> _maximumQuantity; + dataStream >> _standardQuantityReloadTime; + dataStream >> _maximumQuantityReloadTime; + dataStream >> _fuelMeasurmentUnits; + dataStream >> _fuelLocation; + dataStream >> _padding; +} + + +bool EngineFuelReload::operator ==(const EngineFuelReload& rhs) const + { + bool ivarsEqual = true; + + if( ! (_standardQuantity == rhs._standardQuantity) ) ivarsEqual = false; + if( ! (_maximumQuantity == rhs._maximumQuantity) ) ivarsEqual = false; + if( ! (_standardQuantityReloadTime == rhs._standardQuantityReloadTime) ) ivarsEqual = false; + if( ! (_maximumQuantityReloadTime == rhs._maximumQuantityReloadTime) ) ivarsEqual = false; + if( ! (_fuelMeasurmentUnits == rhs._fuelMeasurmentUnits) ) ivarsEqual = false; + if( ! (_fuelLocation == rhs._fuelLocation) ) ivarsEqual = false; + if( ! (_padding == rhs._padding) ) ivarsEqual = false; + + return ivarsEqual; + } + +int EngineFuelReload::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _standardQuantity + marshalSize = marshalSize + 4; // _maximumQuantity + marshalSize = marshalSize + 4; // _standardQuantityReloadTime + marshalSize = marshalSize + 4; // _maximumQuantityReloadTime + marshalSize = marshalSize + 1; // _fuelMeasurmentUnits + marshalSize = marshalSize + 1; // _fuelLocation + marshalSize = marshalSize + 1; // _padding + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EngineFuelReload.h b/cpp/DIS7/EngineFuelReload.h new file mode 100644 index 00000000..2c21193b --- /dev/null +++ b/cpp/DIS7/EngineFuelReload.h @@ -0,0 +1,106 @@ +#ifndef ENGINEFUELRELOAD_H +#define ENGINEFUELRELOAD_H + +#include +#include + + +namespace DIS +{ +// For each type or location of engine fuell, this record specifies the type, location, fuel measurement units, and reload quantity and maximum quantity. Section 6.2.25. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EngineFuelReload +{ +protected: + /** standard quantity of fuel loaded */ + unsigned int _standardQuantity; + + /** maximum quantity of fuel loaded */ + unsigned int _maximumQuantity; + + /** seconds normally required to to reload standard qty */ + unsigned int _standardQuantityReloadTime; + + /** seconds normally required to to reload maximum qty */ + unsigned int _maximumQuantityReloadTime; + + /** Units of measure */ + unsigned char _fuelMeasurmentUnits; + + /** fuel location as related to the entity */ + unsigned char _fuelLocation; + + /** padding */ + unsigned char _padding; + + + public: + EngineFuelReload(); + virtual ~EngineFuelReload(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getStandardQuantity() const; + void setStandardQuantity(unsigned int pX); + + unsigned int getMaximumQuantity() const; + void setMaximumQuantity(unsigned int pX); + + unsigned int getStandardQuantityReloadTime() const; + void setStandardQuantityReloadTime(unsigned int pX); + + unsigned int getMaximumQuantityReloadTime() const; + void setMaximumQuantityReloadTime(unsigned int pX); + + unsigned char getFuelMeasurmentUnits() const; + void setFuelMeasurmentUnits(unsigned char pX); + + unsigned char getFuelLocation() const; + void setFuelLocation(unsigned char pX); + + unsigned char getPadding() const; + void setPadding(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EngineFuelReload& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EntityAssociation.cpp b/cpp/DIS7/EntityAssociation.cpp new file mode 100644 index 00000000..ead32ef7 --- /dev/null +++ b/cpp/DIS7/EntityAssociation.cpp @@ -0,0 +1,207 @@ +#include + +using namespace DIS; + + +EntityAssociation::EntityAssociation(): + _recordType(2), + _changeIndicator(0), + _associationStatus(0), + _associationType(0), + _entityID(), + _owsSttionLocation(0), + _physicalConnectionType(0), + _groupMemberType(0), + _groupNumber(0) +{ +} + +EntityAssociation::~EntityAssociation() +{ +} + +unsigned char EntityAssociation::getRecordType() const +{ + return _recordType; +} + +void EntityAssociation::setRecordType(unsigned char pX) +{ + _recordType = pX; +} + +unsigned char EntityAssociation::getChangeIndicator() const +{ + return _changeIndicator; +} + +void EntityAssociation::setChangeIndicator(unsigned char pX) +{ + _changeIndicator = pX; +} + +unsigned char EntityAssociation::getAssociationStatus() const +{ + return _associationStatus; +} + +void EntityAssociation::setAssociationStatus(unsigned char pX) +{ + _associationStatus = pX; +} + +unsigned char EntityAssociation::getAssociationType() const +{ + return _associationType; +} + +void EntityAssociation::setAssociationType(unsigned char pX) +{ + _associationType = pX; +} + +EntityID& EntityAssociation::getEntityID() +{ + return _entityID; +} + +const EntityID& EntityAssociation::getEntityID() const +{ + return _entityID; +} + +void EntityAssociation::setEntityID(const EntityID &pX) +{ + _entityID = pX; +} + +unsigned short EntityAssociation::getOwsSttionLocation() const +{ + return _owsSttionLocation; +} + +void EntityAssociation::setOwsSttionLocation(unsigned short pX) +{ + _owsSttionLocation = pX; +} + +unsigned short EntityAssociation::getPhysicalConnectionType() const +{ + return _physicalConnectionType; +} + +void EntityAssociation::setPhysicalConnectionType(unsigned short pX) +{ + _physicalConnectionType = pX; +} + +unsigned char EntityAssociation::getGroupMemberType() const +{ + return _groupMemberType; +} + +void EntityAssociation::setGroupMemberType(unsigned char pX) +{ + _groupMemberType = pX; +} + +unsigned short EntityAssociation::getGroupNumber() const +{ + return _groupNumber; +} + +void EntityAssociation::setGroupNumber(unsigned short pX) +{ + _groupNumber = pX; +} + +void EntityAssociation::marshal(DataStream& dataStream) const +{ + dataStream << _recordType; + dataStream << _changeIndicator; + dataStream << _associationStatus; + dataStream << _associationType; + _entityID.marshal(dataStream); + dataStream << _owsSttionLocation; + dataStream << _physicalConnectionType; + dataStream << _groupMemberType; + dataStream << _groupNumber; +} + +void EntityAssociation::unmarshal(DataStream& dataStream) +{ + dataStream >> _recordType; + dataStream >> _changeIndicator; + dataStream >> _associationStatus; + dataStream >> _associationType; + _entityID.unmarshal(dataStream); + dataStream >> _owsSttionLocation; + dataStream >> _physicalConnectionType; + dataStream >> _groupMemberType; + dataStream >> _groupNumber; +} + + +bool EntityAssociation::operator ==(const EntityAssociation& rhs) const + { + bool ivarsEqual = true; + + if( ! (_recordType == rhs._recordType) ) ivarsEqual = false; + if( ! (_changeIndicator == rhs._changeIndicator) ) ivarsEqual = false; + if( ! (_associationStatus == rhs._associationStatus) ) ivarsEqual = false; + if( ! (_associationType == rhs._associationType) ) ivarsEqual = false; + if( ! (_entityID == rhs._entityID) ) ivarsEqual = false; + if( ! (_owsSttionLocation == rhs._owsSttionLocation) ) ivarsEqual = false; + if( ! (_physicalConnectionType == rhs._physicalConnectionType) ) ivarsEqual = false; + if( ! (_groupMemberType == rhs._groupMemberType) ) ivarsEqual = false; + if( ! (_groupNumber == rhs._groupNumber) ) ivarsEqual = false; + + return ivarsEqual; + } + +int EntityAssociation::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _recordType + marshalSize = marshalSize + 1; // _changeIndicator + marshalSize = marshalSize + 1; // _associationStatus + marshalSize = marshalSize + 1; // _associationType + marshalSize = marshalSize + _entityID.getMarshalledSize(); // _entityID + marshalSize = marshalSize + 2; // _owsSttionLocation + marshalSize = marshalSize + 2; // _physicalConnectionType + marshalSize = marshalSize + 1; // _groupMemberType + marshalSize = marshalSize + 2; // _groupNumber + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EntityAssociation.h b/cpp/DIS7/EntityAssociation.h new file mode 100644 index 00000000..9b4ca82d --- /dev/null +++ b/cpp/DIS7/EntityAssociation.h @@ -0,0 +1,120 @@ +#ifndef ENTITYASSOCIATION_H +#define ENTITYASSOCIATION_H + +#include +#include +#include + + +namespace DIS +{ +// Association or disassociation of two entities. Section 6.2.93.4 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EntityAssociation +{ +protected: + /** the identification of the Variable Parameter record. Enumeration from EBV */ + unsigned char _recordType; + + /** Indicates if this VP has changed since last issuance */ + unsigned char _changeIndicator; + + /** Indicates association status between two entities; 8 bit enum */ + unsigned char _associationStatus; + + /** Type of association; 8 bit enum */ + unsigned char _associationType; + + /** Object ID of entity associated with this entity */ + EntityID _entityID; + + /** Station location on one's own entity. EBV doc. */ + unsigned short _owsSttionLocation; + + /** Type of physical connection. EBV doc */ + unsigned short _physicalConnectionType; + + /** Type of member the entity is within th egroup */ + unsigned char _groupMemberType; + + /** Group if any to which the entity belongs */ + unsigned short _groupNumber; + + + public: + EntityAssociation(); + virtual ~EntityAssociation(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getRecordType() const; + void setRecordType(unsigned char pX); + + unsigned char getChangeIndicator() const; + void setChangeIndicator(unsigned char pX); + + unsigned char getAssociationStatus() const; + void setAssociationStatus(unsigned char pX); + + unsigned char getAssociationType() const; + void setAssociationType(unsigned char pX); + + EntityID& getEntityID(); + const EntityID& getEntityID() const; + void setEntityID(const EntityID &pX); + + unsigned short getOwsSttionLocation() const; + void setOwsSttionLocation(unsigned short pX); + + unsigned short getPhysicalConnectionType() const; + void setPhysicalConnectionType(unsigned short pX); + + unsigned char getGroupMemberType() const; + void setGroupMemberType(unsigned char pX); + + unsigned short getGroupNumber() const; + void setGroupNumber(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EntityAssociation& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EntityDamageStatusPdu.cpp b/cpp/DIS7/EntityDamageStatusPdu.cpp new file mode 100644 index 00000000..99bcb0b0 --- /dev/null +++ b/cpp/DIS7/EntityDamageStatusPdu.cpp @@ -0,0 +1,176 @@ +#include + +using namespace DIS; + + +EntityDamageStatusPdu::EntityDamageStatusPdu() : WarfareFamilyPdu(), + _damagedEntityID(), + _padding1(0), + _padding2(0), + _numberOfDamageDescription(0) +{ + setPduType( 69 ); +} + +EntityDamageStatusPdu::~EntityDamageStatusPdu() +{ + _damageDescriptionRecords.clear(); +} + +EntityID& EntityDamageStatusPdu::getDamagedEntityID() +{ + return _damagedEntityID; +} + +const EntityID& EntityDamageStatusPdu::getDamagedEntityID() const +{ + return _damagedEntityID; +} + +void EntityDamageStatusPdu::setDamagedEntityID(const EntityID &pX) +{ + _damagedEntityID = pX; +} + +unsigned short EntityDamageStatusPdu::getPadding1() const +{ + return _padding1; +} + +void EntityDamageStatusPdu::setPadding1(unsigned short pX) +{ + _padding1 = pX; +} + +unsigned short EntityDamageStatusPdu::getPadding2() const +{ + return _padding2; +} + +void EntityDamageStatusPdu::setPadding2(unsigned short pX) +{ + _padding2 = pX; +} + +unsigned short EntityDamageStatusPdu::getNumberOfDamageDescription() const +{ + return _damageDescriptionRecords.size(); +} + +std::vector& EntityDamageStatusPdu::getDamageDescriptionRecords() +{ + return _damageDescriptionRecords; +} + +const std::vector& EntityDamageStatusPdu::getDamageDescriptionRecords() const +{ + return _damageDescriptionRecords; +} + +void EntityDamageStatusPdu::setDamageDescriptionRecords(const std::vector& pX) +{ + _damageDescriptionRecords = pX; +} + +void EntityDamageStatusPdu::marshal(DataStream& dataStream) const +{ + WarfareFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _damagedEntityID.marshal(dataStream); + dataStream << _padding1; + dataStream << _padding2; + dataStream << ( unsigned short )_damageDescriptionRecords.size(); + + for(size_t idx = 0; idx < _damageDescriptionRecords.size(); idx++) + { + DirectedEnergyDamage x = _damageDescriptionRecords[idx]; + x.marshal(dataStream); + } + +} + +void EntityDamageStatusPdu::unmarshal(DataStream& dataStream) +{ + WarfareFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _damagedEntityID.unmarshal(dataStream); + dataStream >> _padding1; + dataStream >> _padding2; + dataStream >> _numberOfDamageDescription; + + _damageDescriptionRecords.clear(); + for(size_t idx = 0; idx < _numberOfDamageDescription; idx++) + { + DirectedEnergyDamage x; + x.unmarshal(dataStream); + _damageDescriptionRecords.push_back(x); + } +} + + +bool EntityDamageStatusPdu::operator ==(const EntityDamageStatusPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = WarfareFamilyPdu::operator==(rhs); + + if( ! (_damagedEntityID == rhs._damagedEntityID) ) ivarsEqual = false; + if( ! (_padding1 == rhs._padding1) ) ivarsEqual = false; + if( ! (_padding2 == rhs._padding2) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _damageDescriptionRecords.size(); idx++) + { + if( ! ( _damageDescriptionRecords[idx] == rhs._damageDescriptionRecords[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int EntityDamageStatusPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = WarfareFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _damagedEntityID.getMarshalledSize(); // _damagedEntityID + marshalSize = marshalSize + 2; // _padding1 + marshalSize = marshalSize + 2; // _padding2 + marshalSize = marshalSize + 2; // _numberOfDamageDescription + + for(int idx=0; idx < _damageDescriptionRecords.size(); idx++) + { + DirectedEnergyDamage listElement = _damageDescriptionRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EntityDamageStatusPdu.h b/cpp/DIS7/EntityDamageStatusPdu.h new file mode 100644 index 00000000..03bc33a5 --- /dev/null +++ b/cpp/DIS7/EntityDamageStatusPdu.h @@ -0,0 +1,99 @@ +#ifndef ENTITYDAMAGESTATUSPDU_H +#define ENTITYDAMAGESTATUSPDU_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// shall be used to communicate detailed damage information sustained by an entity regardless of the source of the damage Section 7.3.5 COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EntityDamageStatusPdu : public WarfareFamilyPdu +{ +protected: + /** Field shall identify the damaged entity (see 6.2.28), Section 7.3.4 COMPLETE */ + EntityID _damagedEntityID; + + /** Padding. */ + unsigned short _padding1; + + /** Padding. */ + unsigned short _padding2; + + /** field shall specify the number of Damage Description records, Section 7.3.5 */ + unsigned short _numberOfDamageDescription; + + /** Fields shall contain one or more Damage Description records (see 6.2.17) and may contain other Standard Variable records, Section 7.3.5 */ + std::vector _damageDescriptionRecords; + + + public: + EntityDamageStatusPdu(); + virtual ~EntityDamageStatusPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getDamagedEntityID(); + const EntityID& getDamagedEntityID() const; + void setDamagedEntityID(const EntityID &pX); + + unsigned short getPadding1() const; + void setPadding1(unsigned short pX); + + unsigned short getPadding2() const; + void setPadding2(unsigned short pX); + + unsigned short getNumberOfDamageDescription() const; + + std::vector& getDamageDescriptionRecords(); + const std::vector& getDamageDescriptionRecords() const; + void setDamageDescriptionRecords(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EntityDamageStatusPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EntityID.cpp b/cpp/DIS7/EntityID.cpp new file mode 100644 index 00000000..fb44327f --- /dev/null +++ b/cpp/DIS7/EntityID.cpp @@ -0,0 +1,102 @@ +#include + +using namespace DIS; + + +EntityID::EntityID(): + _simulationAddress(), + _entityNumber(0) +{ +} + +EntityID::~EntityID() +{ +} + +SimulationAddress& EntityID::getSimulationAddress() +{ + return _simulationAddress; +} + +const SimulationAddress& EntityID::getSimulationAddress() const +{ + return _simulationAddress; +} + +void EntityID::setSimulationAddress(const SimulationAddress &pX) +{ + _simulationAddress = pX; +} + +unsigned short EntityID::getEntityNumber() const +{ + return _entityNumber; +} + +void EntityID::setEntityNumber(unsigned short pX) +{ + _entityNumber = pX; +} + +void EntityID::marshal(DataStream& dataStream) const +{ + _simulationAddress.marshal(dataStream); + dataStream << _entityNumber; +} + +void EntityID::unmarshal(DataStream& dataStream) +{ + _simulationAddress.unmarshal(dataStream); + dataStream >> _entityNumber; +} + + +bool EntityID::operator ==(const EntityID& rhs) const + { + bool ivarsEqual = true; + + if( ! (_simulationAddress == rhs._simulationAddress) ) ivarsEqual = false; + if( ! (_entityNumber == rhs._entityNumber) ) ivarsEqual = false; + + return ivarsEqual; + } + +int EntityID::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _simulationAddress.getMarshalledSize(); // _simulationAddress + marshalSize = marshalSize + 2; // _entityNumber + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EntityID.h b/cpp/DIS7/EntityID.h new file mode 100644 index 00000000..540791ac --- /dev/null +++ b/cpp/DIS7/EntityID.h @@ -0,0 +1,78 @@ +#ifndef ENTITYID_H +#define ENTITYID_H + +#include +#include +#include + + +namespace DIS +{ +// Entity Identifier. Unique ID for entities in the world. Consists of an simulation address and a entity number. Section 6.2.28. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EntityID +{ +protected: + /** Site and application IDs */ + SimulationAddress _simulationAddress; + + /** Entity number */ + unsigned short _entityNumber; + + + public: + EntityID(); + virtual ~EntityID(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + SimulationAddress& getSimulationAddress(); + const SimulationAddress& getSimulationAddress() const; + void setSimulationAddress(const SimulationAddress &pX); + + unsigned short getEntityNumber() const; + void setEntityNumber(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EntityID& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EntityInformationFamilyPdu.cpp b/cpp/DIS7/EntityInformationFamilyPdu.cpp new file mode 100644 index 00000000..92a4a227 --- /dev/null +++ b/cpp/DIS7/EntityInformationFamilyPdu.cpp @@ -0,0 +1,74 @@ +#include + +using namespace DIS; + + +EntityInformationFamilyPdu::EntityInformationFamilyPdu() : Pdu() + +{ + setProtocolFamily( 1 ); +} + +EntityInformationFamilyPdu::~EntityInformationFamilyPdu() +{ +} + +void EntityInformationFamilyPdu::marshal(DataStream& dataStream) const +{ + Pdu::marshal(dataStream); // Marshal information in superclass first +} + +void EntityInformationFamilyPdu::unmarshal(DataStream& dataStream) +{ + Pdu::unmarshal(dataStream); // unmarshal information in superclass first +} + + +bool EntityInformationFamilyPdu::operator ==(const EntityInformationFamilyPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = Pdu::operator==(rhs); + + + return ivarsEqual; + } + +int EntityInformationFamilyPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = Pdu::getMarshalledSize(); + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EntityInformationFamilyPdu.h b/cpp/DIS7/EntityInformationFamilyPdu.h new file mode 100644 index 00000000..4dc801eb --- /dev/null +++ b/cpp/DIS7/EntityInformationFamilyPdu.h @@ -0,0 +1,65 @@ +#ifndef ENTITYINFORMATIONFAMILYPDU_H +#define ENTITYINFORMATIONFAMILYPDU_H + +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.3. Common superclass for EntityState, Collision, collision-elastic, and entity state update PDUs. This should be abstract. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EntityInformationFamilyPdu : public Pdu +{ +protected: + + public: + EntityInformationFamilyPdu(); + virtual ~EntityInformationFamilyPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EntityInformationFamilyPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EntityManagementFamilyPdu.cpp b/cpp/DIS7/EntityManagementFamilyPdu.cpp new file mode 100644 index 00000000..4eefbdea --- /dev/null +++ b/cpp/DIS7/EntityManagementFamilyPdu.cpp @@ -0,0 +1,74 @@ +#include + +using namespace DIS; + + +EntityManagementFamilyPdu::EntityManagementFamilyPdu() : Pdu() + +{ + setProtocolFamily( 7 ); +} + +EntityManagementFamilyPdu::~EntityManagementFamilyPdu() +{ +} + +void EntityManagementFamilyPdu::marshal(DataStream& dataStream) const +{ + Pdu::marshal(dataStream); // Marshal information in superclass first +} + +void EntityManagementFamilyPdu::unmarshal(DataStream& dataStream) +{ + Pdu::unmarshal(dataStream); // unmarshal information in superclass first +} + + +bool EntityManagementFamilyPdu::operator ==(const EntityManagementFamilyPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = Pdu::operator==(rhs); + + + return ivarsEqual; + } + +int EntityManagementFamilyPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = Pdu::getMarshalledSize(); + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EntityManagementFamilyPdu.h b/cpp/DIS7/EntityManagementFamilyPdu.h new file mode 100644 index 00000000..3148db1f --- /dev/null +++ b/cpp/DIS7/EntityManagementFamilyPdu.h @@ -0,0 +1,65 @@ +#ifndef ENTITYMANAGEMENTFAMILYPDU_H +#define ENTITYMANAGEMENTFAMILYPDU_H + +#include +#include +#include + + +namespace DIS +{ +// Managment of grouping of PDUs, and more. Section 7.8 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EntityManagementFamilyPdu : public Pdu +{ +protected: + + public: + EntityManagementFamilyPdu(); + virtual ~EntityManagementFamilyPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EntityManagementFamilyPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EntityMarking.cpp b/cpp/DIS7/EntityMarking.cpp new file mode 100644 index 00000000..9748e1ed --- /dev/null +++ b/cpp/DIS7/EntityMarking.cpp @@ -0,0 +1,132 @@ +#include + +using namespace DIS; + + +EntityMarking::EntityMarking(): + _characterSet(0) +{ + // Initialize fixed length array + for(int lengthcharacters= 0; lengthcharacters < 11; lengthcharacters++) + { + _characters[lengthcharacters] = 0; + } + +} + +EntityMarking::~EntityMarking() +{ +} + +unsigned char EntityMarking::getCharacterSet() const +{ + return _characterSet; +} + +void EntityMarking::setCharacterSet(unsigned char pX) +{ + _characterSet = pX; +} + +char* EntityMarking::getCharacters() +{ + return _characters; +} + +const char* EntityMarking::getCharacters() const +{ + return _characters; +} + +void EntityMarking::setCharacters(const char* x) +{ + for(int i = 0; i < 11; i++) + { + _characters[i] = x[i]; + } +} + +// An alternate method to set the value if this could be a string. This is not strictly comnpliant with the DIS standard. +void EntityMarking::setByStringCharacters(const char* x) +{ + strncpy(_characters, x, 11-1); + _characters[11 -1] = '\0'; +} + +void EntityMarking::marshal(DataStream& dataStream) const +{ + dataStream << _characterSet; + + for(size_t idx = 0; idx < 11; idx++) + { + dataStream << _characters[idx]; + } + +} + +void EntityMarking::unmarshal(DataStream& dataStream) +{ + dataStream >> _characterSet; + + for(size_t idx = 0; idx < 11; idx++) + { + dataStream >> _characters[idx]; + } + +} + + +bool EntityMarking::operator ==(const EntityMarking& rhs) const + { + bool ivarsEqual = true; + + if( ! (_characterSet == rhs._characterSet) ) ivarsEqual = false; + + for(char idx = 0; idx < 11; idx++) + { + if(!(_characters[idx] == rhs._characters[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int EntityMarking::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _characterSet + marshalSize = marshalSize + 11 * 1; // _characters + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EntityMarking.h b/cpp/DIS7/EntityMarking.h new file mode 100644 index 00000000..91814c96 --- /dev/null +++ b/cpp/DIS7/EntityMarking.h @@ -0,0 +1,78 @@ +#ifndef ENTITYMARKING_H +#define ENTITYMARKING_H + +#include +#include + + +namespace DIS +{ +// Specifies the character set used inthe first byte, followed by 11 characters of text data. Section 6.29 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EntityMarking +{ +protected: + /** The character set */ + unsigned char _characterSet; + + /** The characters */ + char _characters[11]; + + + public: + EntityMarking(); + virtual ~EntityMarking(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getCharacterSet() const; + void setCharacterSet(unsigned char pX); + + char* getCharacters(); + const char* getCharacters() const; + void setCharacters( const char* pX); + void setByStringCharacters(const char* pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EntityMarking& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EntityStatePdu.cpp b/cpp/DIS7/EntityStatePdu.cpp new file mode 100644 index 00000000..ba3a33d2 --- /dev/null +++ b/cpp/DIS7/EntityStatePdu.cpp @@ -0,0 +1,331 @@ +#include + +using namespace DIS; + + +EntityStatePdu::EntityStatePdu() : EntityInformationFamilyPdu(), + _entityID(), + _forceId(0), + _numberOfVariableParameters(0), + _entityType(), + _alternativeEntityType(), + _entityLinearVelocity(), + _entityLocation(), + _entityOrientation(), + _entityAppearance(0), + _deadReckoningParameters(), + _marking(), + _capabilities(0) +{ + setPduType( 1 ); +} + +EntityStatePdu::~EntityStatePdu() +{ + _variableParameters.clear(); +} + +EntityID& EntityStatePdu::getEntityID() +{ + return _entityID; +} + +const EntityID& EntityStatePdu::getEntityID() const +{ + return _entityID; +} + +void EntityStatePdu::setEntityID(const EntityID &pX) +{ + _entityID = pX; +} + +unsigned char EntityStatePdu::getForceId() const +{ + return _forceId; +} + +void EntityStatePdu::setForceId(unsigned char pX) +{ + _forceId = pX; +} + +unsigned char EntityStatePdu::getNumberOfVariableParameters() const +{ + return _variableParameters.size(); +} + +EntityType& EntityStatePdu::getEntityType() +{ + return _entityType; +} + +const EntityType& EntityStatePdu::getEntityType() const +{ + return _entityType; +} + +void EntityStatePdu::setEntityType(const EntityType &pX) +{ + _entityType = pX; +} + +EntityType& EntityStatePdu::getAlternativeEntityType() +{ + return _alternativeEntityType; +} + +const EntityType& EntityStatePdu::getAlternativeEntityType() const +{ + return _alternativeEntityType; +} + +void EntityStatePdu::setAlternativeEntityType(const EntityType &pX) +{ + _alternativeEntityType = pX; +} + +Vector3Float& EntityStatePdu::getEntityLinearVelocity() +{ + return _entityLinearVelocity; +} + +const Vector3Float& EntityStatePdu::getEntityLinearVelocity() const +{ + return _entityLinearVelocity; +} + +void EntityStatePdu::setEntityLinearVelocity(const Vector3Float &pX) +{ + _entityLinearVelocity = pX; +} + +Vector3Double& EntityStatePdu::getEntityLocation() +{ + return _entityLocation; +} + +const Vector3Double& EntityStatePdu::getEntityLocation() const +{ + return _entityLocation; +} + +void EntityStatePdu::setEntityLocation(const Vector3Double &pX) +{ + _entityLocation = pX; +} + +EulerAngles& EntityStatePdu::getEntityOrientation() +{ + return _entityOrientation; +} + +const EulerAngles& EntityStatePdu::getEntityOrientation() const +{ + return _entityOrientation; +} + +void EntityStatePdu::setEntityOrientation(const EulerAngles &pX) +{ + _entityOrientation = pX; +} + +unsigned int EntityStatePdu::getEntityAppearance() const +{ + return _entityAppearance; +} + +void EntityStatePdu::setEntityAppearance(unsigned int pX) +{ + _entityAppearance = pX; +} + +DeadReckoningParameters& EntityStatePdu::getDeadReckoningParameters() +{ + return _deadReckoningParameters; +} + +const DeadReckoningParameters& EntityStatePdu::getDeadReckoningParameters() const +{ + return _deadReckoningParameters; +} + +void EntityStatePdu::setDeadReckoningParameters(const DeadReckoningParameters &pX) +{ + _deadReckoningParameters = pX; +} + +EntityMarking& EntityStatePdu::getMarking() +{ + return _marking; +} + +const EntityMarking& EntityStatePdu::getMarking() const +{ + return _marking; +} + +void EntityStatePdu::setMarking(const EntityMarking &pX) +{ + _marking = pX; +} + +unsigned int EntityStatePdu::getCapabilities() const +{ + return _capabilities; +} + +void EntityStatePdu::setCapabilities(unsigned int pX) +{ + _capabilities = pX; +} + +std::vector& EntityStatePdu::getVariableParameters() +{ + return _variableParameters; +} + +const std::vector& EntityStatePdu::getVariableParameters() const +{ + return _variableParameters; +} + +void EntityStatePdu::setVariableParameters(const std::vector& pX) +{ + _variableParameters = pX; +} + +void EntityStatePdu::marshal(DataStream& dataStream) const +{ + EntityInformationFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _entityID.marshal(dataStream); + dataStream << _forceId; + dataStream << ( unsigned char )_variableParameters.size(); + _entityType.marshal(dataStream); + _alternativeEntityType.marshal(dataStream); + _entityLinearVelocity.marshal(dataStream); + _entityLocation.marshal(dataStream); + _entityOrientation.marshal(dataStream); + dataStream << _entityAppearance; + _deadReckoningParameters.marshal(dataStream); + _marking.marshal(dataStream); + dataStream << _capabilities; + + for(size_t idx = 0; idx < _variableParameters.size(); idx++) + { + VariableParameter x = _variableParameters[idx]; + x.marshal(dataStream); + } + +} + +void EntityStatePdu::unmarshal(DataStream& dataStream) +{ + EntityInformationFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _entityID.unmarshal(dataStream); + dataStream >> _forceId; + dataStream >> _numberOfVariableParameters; + _entityType.unmarshal(dataStream); + _alternativeEntityType.unmarshal(dataStream); + _entityLinearVelocity.unmarshal(dataStream); + _entityLocation.unmarshal(dataStream); + _entityOrientation.unmarshal(dataStream); + dataStream >> _entityAppearance; + _deadReckoningParameters.unmarshal(dataStream); + _marking.unmarshal(dataStream); + dataStream >> _capabilities; + + _variableParameters.clear(); + for(size_t idx = 0; idx < _numberOfVariableParameters; idx++) + { + VariableParameter x; + x.unmarshal(dataStream); + _variableParameters.push_back(x); + } +} + + +bool EntityStatePdu::operator ==(const EntityStatePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = EntityInformationFamilyPdu::operator==(rhs); + + if( ! (_entityID == rhs._entityID) ) ivarsEqual = false; + if( ! (_forceId == rhs._forceId) ) ivarsEqual = false; + if( ! (_entityType == rhs._entityType) ) ivarsEqual = false; + if( ! (_alternativeEntityType == rhs._alternativeEntityType) ) ivarsEqual = false; + if( ! (_entityLinearVelocity == rhs._entityLinearVelocity) ) ivarsEqual = false; + if( ! (_entityLocation == rhs._entityLocation) ) ivarsEqual = false; + if( ! (_entityOrientation == rhs._entityOrientation) ) ivarsEqual = false; + if( ! (_entityAppearance == rhs._entityAppearance) ) ivarsEqual = false; + if( ! (_deadReckoningParameters == rhs._deadReckoningParameters) ) ivarsEqual = false; + if( ! (_marking == rhs._marking) ) ivarsEqual = false; + if( ! (_capabilities == rhs._capabilities) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _variableParameters.size(); idx++) + { + if( ! ( _variableParameters[idx] == rhs._variableParameters[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int EntityStatePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = EntityInformationFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _entityID.getMarshalledSize(); // _entityID + marshalSize = marshalSize + 1; // _forceId + marshalSize = marshalSize + 1; // _numberOfVariableParameters + marshalSize = marshalSize + _entityType.getMarshalledSize(); // _entityType + marshalSize = marshalSize + _alternativeEntityType.getMarshalledSize(); // _alternativeEntityType + marshalSize = marshalSize + _entityLinearVelocity.getMarshalledSize(); // _entityLinearVelocity + marshalSize = marshalSize + _entityLocation.getMarshalledSize(); // _entityLocation + marshalSize = marshalSize + _entityOrientation.getMarshalledSize(); // _entityOrientation + marshalSize = marshalSize + 4; // _entityAppearance + marshalSize = marshalSize + _deadReckoningParameters.getMarshalledSize(); // _deadReckoningParameters + marshalSize = marshalSize + _marking.getMarshalledSize(); // _marking + marshalSize = marshalSize + 4; // _capabilities + + for(int idx=0; idx < _variableParameters.size(); idx++) + { + VariableParameter listElement = _variableParameters[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EntityStatePdu.h b/cpp/DIS7/EntityStatePdu.h new file mode 100644 index 00000000..78b433b1 --- /dev/null +++ b/cpp/DIS7/EntityStatePdu.h @@ -0,0 +1,160 @@ +#ifndef ENTITYSTATEPDU_H +#define ENTITYSTATEPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Represents the postion and state of one entity in the world. Section 7.2.2. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EntityStatePdu : public EntityInformationFamilyPdu +{ +protected: + /** Unique ID for an entity that is tied to this state information */ + EntityID _entityID; + + /** What force this entity is affiliated with, eg red, blue, neutral, etc */ + unsigned char _forceId; + + /** How many variable parameters are in the variable length list. In earlier versions of DIS these were known as articulation parameters */ + unsigned char _numberOfVariableParameters; + + /** Describes the type of entity in the world */ + EntityType _entityType; + + EntityType _alternativeEntityType; + + /** Describes the speed of the entity in the world */ + Vector3Float _entityLinearVelocity; + + /** describes the location of the entity in the world */ + Vector3Double _entityLocation; + + /** describes the orientation of the entity, in euler angles */ + EulerAngles _entityOrientation; + + /** a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc. */ + unsigned int _entityAppearance; + + /** parameters used for dead reckoning */ + DeadReckoningParameters _deadReckoningParameters; + + /** characters that can be used for debugging, or to draw unique strings on the side of entities in the world */ + EntityMarking _marking; + + /** a series of bit flags */ + unsigned int _capabilities; + + /** variable length list of variable parameters. In earlier DIS versions this was articulation parameters. */ + std::vector _variableParameters; + + + public: + EntityStatePdu(); + virtual ~EntityStatePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getEntityID(); + const EntityID& getEntityID() const; + void setEntityID(const EntityID &pX); + + unsigned char getForceId() const; + void setForceId(unsigned char pX); + + unsigned char getNumberOfVariableParameters() const; + + EntityType& getEntityType(); + const EntityType& getEntityType() const; + void setEntityType(const EntityType &pX); + + EntityType& getAlternativeEntityType(); + const EntityType& getAlternativeEntityType() const; + void setAlternativeEntityType(const EntityType &pX); + + Vector3Float& getEntityLinearVelocity(); + const Vector3Float& getEntityLinearVelocity() const; + void setEntityLinearVelocity(const Vector3Float &pX); + + Vector3Double& getEntityLocation(); + const Vector3Double& getEntityLocation() const; + void setEntityLocation(const Vector3Double &pX); + + EulerAngles& getEntityOrientation(); + const EulerAngles& getEntityOrientation() const; + void setEntityOrientation(const EulerAngles &pX); + + unsigned int getEntityAppearance() const; + void setEntityAppearance(unsigned int pX); + + DeadReckoningParameters& getDeadReckoningParameters(); + const DeadReckoningParameters& getDeadReckoningParameters() const; + void setDeadReckoningParameters(const DeadReckoningParameters &pX); + + EntityMarking& getMarking(); + const EntityMarking& getMarking() const; + void setMarking(const EntityMarking &pX); + + unsigned int getCapabilities() const; + void setCapabilities(unsigned int pX); + + std::vector& getVariableParameters(); + const std::vector& getVariableParameters() const; + void setVariableParameters(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EntityStatePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EntityStateUpdatePdu.cpp b/cpp/DIS7/EntityStateUpdatePdu.cpp new file mode 100644 index 00000000..a9351978 --- /dev/null +++ b/cpp/DIS7/EntityStateUpdatePdu.cpp @@ -0,0 +1,237 @@ +#include + +using namespace DIS; + + +EntityStateUpdatePdu::EntityStateUpdatePdu() : EntityInformationFamilyPdu(), + _entityID(), + _padding1(0), + _numberOfVariableParameters(0), + _entityLinearVelocity(), + _entityLocation(), + _entityOrientation(), + _entityAppearance(0) +{ + setPduType( 67 ); + setProtocolFamily( 1 ); +} + +EntityStateUpdatePdu::~EntityStateUpdatePdu() +{ + _variableParameters.clear(); +} + +EntityID& EntityStateUpdatePdu::getEntityID() +{ + return _entityID; +} + +const EntityID& EntityStateUpdatePdu::getEntityID() const +{ + return _entityID; +} + +void EntityStateUpdatePdu::setEntityID(const EntityID &pX) +{ + _entityID = pX; +} + +char EntityStateUpdatePdu::getPadding1() const +{ + return _padding1; +} + +void EntityStateUpdatePdu::setPadding1(char pX) +{ + _padding1 = pX; +} + +unsigned char EntityStateUpdatePdu::getNumberOfVariableParameters() const +{ + return _variableParameters.size(); +} + +Vector3Float& EntityStateUpdatePdu::getEntityLinearVelocity() +{ + return _entityLinearVelocity; +} + +const Vector3Float& EntityStateUpdatePdu::getEntityLinearVelocity() const +{ + return _entityLinearVelocity; +} + +void EntityStateUpdatePdu::setEntityLinearVelocity(const Vector3Float &pX) +{ + _entityLinearVelocity = pX; +} + +Vector3Double& EntityStateUpdatePdu::getEntityLocation() +{ + return _entityLocation; +} + +const Vector3Double& EntityStateUpdatePdu::getEntityLocation() const +{ + return _entityLocation; +} + +void EntityStateUpdatePdu::setEntityLocation(const Vector3Double &pX) +{ + _entityLocation = pX; +} + +EulerAngles& EntityStateUpdatePdu::getEntityOrientation() +{ + return _entityOrientation; +} + +const EulerAngles& EntityStateUpdatePdu::getEntityOrientation() const +{ + return _entityOrientation; +} + +void EntityStateUpdatePdu::setEntityOrientation(const EulerAngles &pX) +{ + _entityOrientation = pX; +} + +unsigned int EntityStateUpdatePdu::getEntityAppearance() const +{ + return _entityAppearance; +} + +void EntityStateUpdatePdu::setEntityAppearance(unsigned int pX) +{ + _entityAppearance = pX; +} + +std::vector& EntityStateUpdatePdu::getVariableParameters() +{ + return _variableParameters; +} + +const std::vector& EntityStateUpdatePdu::getVariableParameters() const +{ + return _variableParameters; +} + +void EntityStateUpdatePdu::setVariableParameters(const std::vector& pX) +{ + _variableParameters = pX; +} + +void EntityStateUpdatePdu::marshal(DataStream& dataStream) const +{ + EntityInformationFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _entityID.marshal(dataStream); + dataStream << _padding1; + dataStream << ( unsigned char )_variableParameters.size(); + _entityLinearVelocity.marshal(dataStream); + _entityLocation.marshal(dataStream); + _entityOrientation.marshal(dataStream); + dataStream << _entityAppearance; + + for(size_t idx = 0; idx < _variableParameters.size(); idx++) + { + VariableParameter x = _variableParameters[idx]; + x.marshal(dataStream); + } + +} + +void EntityStateUpdatePdu::unmarshal(DataStream& dataStream) +{ + EntityInformationFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _entityID.unmarshal(dataStream); + dataStream >> _padding1; + dataStream >> _numberOfVariableParameters; + _entityLinearVelocity.unmarshal(dataStream); + _entityLocation.unmarshal(dataStream); + _entityOrientation.unmarshal(dataStream); + dataStream >> _entityAppearance; + + _variableParameters.clear(); + for(size_t idx = 0; idx < _numberOfVariableParameters; idx++) + { + VariableParameter x; + x.unmarshal(dataStream); + _variableParameters.push_back(x); + } +} + + +bool EntityStateUpdatePdu::operator ==(const EntityStateUpdatePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = EntityInformationFamilyPdu::operator==(rhs); + + if( ! (_entityID == rhs._entityID) ) ivarsEqual = false; + if( ! (_padding1 == rhs._padding1) ) ivarsEqual = false; + if( ! (_entityLinearVelocity == rhs._entityLinearVelocity) ) ivarsEqual = false; + if( ! (_entityLocation == rhs._entityLocation) ) ivarsEqual = false; + if( ! (_entityOrientation == rhs._entityOrientation) ) ivarsEqual = false; + if( ! (_entityAppearance == rhs._entityAppearance) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _variableParameters.size(); idx++) + { + if( ! ( _variableParameters[idx] == rhs._variableParameters[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int EntityStateUpdatePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = EntityInformationFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _entityID.getMarshalledSize(); // _entityID + marshalSize = marshalSize + 1; // _padding1 + marshalSize = marshalSize + 1; // _numberOfVariableParameters + marshalSize = marshalSize + _entityLinearVelocity.getMarshalledSize(); // _entityLinearVelocity + marshalSize = marshalSize + _entityLocation.getMarshalledSize(); // _entityLocation + marshalSize = marshalSize + _entityOrientation.getMarshalledSize(); // _entityOrientation + marshalSize = marshalSize + 4; // _entityAppearance + + for(int idx=0; idx < _variableParameters.size(); idx++) + { + VariableParameter listElement = _variableParameters[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EntityStateUpdatePdu.h b/cpp/DIS7/EntityStateUpdatePdu.h new file mode 100644 index 00000000..dee27c7d --- /dev/null +++ b/cpp/DIS7/EntityStateUpdatePdu.h @@ -0,0 +1,123 @@ +#ifndef ENTITYSTATEUPDATEPDU_H +#define ENTITYSTATEUPDATEPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Nonstatic information about a particular entity may be communicated by issuing an Entity State Update PDU. Section 7.2.5. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EntityStateUpdatePdu : public EntityInformationFamilyPdu +{ +protected: + /** This field shall identify the entity issuing the PDU, and shall be represented by an Entity Identifier record (see 6.2.28). */ + EntityID _entityID; + + /** Padding */ + char _padding1; + + /** This field shall specify the number of variable parameters present. This field shall be represented by an 8-bit unsigned integer (see Annex I). */ + unsigned char _numberOfVariableParameters; + + /** This field shall specify an entity’s linear velocity. The coordinate system for an entity’s linear velocity depends on the dead reckoning algorithm used. This field shall be represented by a Linear Velocity Vector record [see 6.2.95 item c)]). */ + Vector3Float _entityLinearVelocity; + + /** This field shall specify an entity’s physical location in the simulated world and shall be represented by a World Coordinates record (see 6.2.97). */ + Vector3Double _entityLocation; + + /** This field shall specify an entity’s orientation and shall be represented by an Euler Angles record (see 6.2.33). */ + EulerAngles _entityOrientation; + + /** This field shall specify the dynamic changes to the entity’s appearance attributes. This field shall be represented by an Entity Appearance record (see 6.2.26). */ + unsigned int _entityAppearance; + + /** This field shall specify the parameter values for each Variable Parameter record that is included (see 6.2.93 and Annex I). */ + std::vector _variableParameters; + + + public: + EntityStateUpdatePdu(); + virtual ~EntityStateUpdatePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getEntityID(); + const EntityID& getEntityID() const; + void setEntityID(const EntityID &pX); + + char getPadding1() const; + void setPadding1(char pX); + + unsigned char getNumberOfVariableParameters() const; + + Vector3Float& getEntityLinearVelocity(); + const Vector3Float& getEntityLinearVelocity() const; + void setEntityLinearVelocity(const Vector3Float &pX); + + Vector3Double& getEntityLocation(); + const Vector3Double& getEntityLocation() const; + void setEntityLocation(const Vector3Double &pX); + + EulerAngles& getEntityOrientation(); + const EulerAngles& getEntityOrientation() const; + void setEntityOrientation(const EulerAngles &pX); + + unsigned int getEntityAppearance() const; + void setEntityAppearance(unsigned int pX); + + std::vector& getVariableParameters(); + const std::vector& getVariableParameters() const; + void setVariableParameters(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EntityStateUpdatePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EntityType.cpp b/cpp/DIS7/EntityType.cpp new file mode 100644 index 00000000..72c7b503 --- /dev/null +++ b/cpp/DIS7/EntityType.cpp @@ -0,0 +1,172 @@ +#include + +using namespace DIS; + + +EntityType::EntityType(): + _entityKind(0), + _domain(0), + _country(0), + _category(0), + _subcategory(0), + _specific(0), + _extra(0) +{ +} + +EntityType::~EntityType() +{ +} + +unsigned char EntityType::getEntityKind() const +{ + return _entityKind; +} + +void EntityType::setEntityKind(unsigned char pX) +{ + _entityKind = pX; +} + +unsigned char EntityType::getDomain() const +{ + return _domain; +} + +void EntityType::setDomain(unsigned char pX) +{ + _domain = pX; +} + +unsigned short EntityType::getCountry() const +{ + return _country; +} + +void EntityType::setCountry(unsigned short pX) +{ + _country = pX; +} + +unsigned char EntityType::getCategory() const +{ + return _category; +} + +void EntityType::setCategory(unsigned char pX) +{ + _category = pX; +} + +unsigned char EntityType::getSubcategory() const +{ + return _subcategory; +} + +void EntityType::setSubcategory(unsigned char pX) +{ + _subcategory = pX; +} + +unsigned char EntityType::getSpecific() const +{ + return _specific; +} + +void EntityType::setSpecific(unsigned char pX) +{ + _specific = pX; +} + +unsigned char EntityType::getExtra() const +{ + return _extra; +} + +void EntityType::setExtra(unsigned char pX) +{ + _extra = pX; +} + +void EntityType::marshal(DataStream& dataStream) const +{ + dataStream << _entityKind; + dataStream << _domain; + dataStream << _country; + dataStream << _category; + dataStream << _subcategory; + dataStream << _specific; + dataStream << _extra; +} + +void EntityType::unmarshal(DataStream& dataStream) +{ + dataStream >> _entityKind; + dataStream >> _domain; + dataStream >> _country; + dataStream >> _category; + dataStream >> _subcategory; + dataStream >> _specific; + dataStream >> _extra; +} + + +bool EntityType::operator ==(const EntityType& rhs) const + { + bool ivarsEqual = true; + + if( ! (_entityKind == rhs._entityKind) ) ivarsEqual = false; + if( ! (_domain == rhs._domain) ) ivarsEqual = false; + if( ! (_country == rhs._country) ) ivarsEqual = false; + if( ! (_category == rhs._category) ) ivarsEqual = false; + if( ! (_subcategory == rhs._subcategory) ) ivarsEqual = false; + if( ! (_specific == rhs._specific) ) ivarsEqual = false; + if( ! (_extra == rhs._extra) ) ivarsEqual = false; + + return ivarsEqual; + } + +int EntityType::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _entityKind + marshalSize = marshalSize + 1; // _domain + marshalSize = marshalSize + 2; // _country + marshalSize = marshalSize + 1; // _category + marshalSize = marshalSize + 1; // _subcategory + marshalSize = marshalSize + 1; // _specific + marshalSize = marshalSize + 1; // _extra + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EntityType.h b/cpp/DIS7/EntityType.h new file mode 100644 index 00000000..d0be447f --- /dev/null +++ b/cpp/DIS7/EntityType.h @@ -0,0 +1,105 @@ +#ifndef ENTITYTYPE_H +#define ENTITYTYPE_H + +#include +#include + + +namespace DIS +{ +// Identifies the type of entity, including kind of entity, domain (surface, subsurface, air, etc) country, category, etc. Section 6.2.30 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EntityType +{ +protected: + /** Kind of entity */ + unsigned char _entityKind; + + /** Domain of entity (air, surface, subsurface, space, etc) */ + unsigned char _domain; + + /** country to which the design of the entity is attributed */ + unsigned short _country; + + /** category of entity */ + unsigned char _category; + + /** subcategory of entity */ + unsigned char _subcategory; + + /** specific info based on subcategory field. Renamed from specific because that is a reserved word in SQL. */ + unsigned char _specific; + + unsigned char _extra; + + + public: + EntityType(); + virtual ~EntityType(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getEntityKind() const; + void setEntityKind(unsigned char pX); + + unsigned char getDomain() const; + void setDomain(unsigned char pX); + + unsigned short getCountry() const; + void setCountry(unsigned short pX); + + unsigned char getCategory() const; + void setCategory(unsigned char pX); + + unsigned char getSubcategory() const; + void setSubcategory(unsigned char pX); + + unsigned char getSpecific() const; + void setSpecific(unsigned char pX); + + unsigned char getExtra() const; + void setExtra(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EntityType& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EntityTypeVP.cpp b/cpp/DIS7/EntityTypeVP.cpp new file mode 100644 index 00000000..8c5f3410 --- /dev/null +++ b/cpp/DIS7/EntityTypeVP.cpp @@ -0,0 +1,147 @@ +#include + +using namespace DIS; + + +EntityTypeVP::EntityTypeVP(): + _recordType(3), + _changeIndicator(0), + _entityType(), + _padding(0), + _padding1(0) +{ +} + +EntityTypeVP::~EntityTypeVP() +{ +} + +unsigned char EntityTypeVP::getRecordType() const +{ + return _recordType; +} + +void EntityTypeVP::setRecordType(unsigned char pX) +{ + _recordType = pX; +} + +unsigned char EntityTypeVP::getChangeIndicator() const +{ + return _changeIndicator; +} + +void EntityTypeVP::setChangeIndicator(unsigned char pX) +{ + _changeIndicator = pX; +} + +EntityType& EntityTypeVP::getEntityType() +{ + return _entityType; +} + +const EntityType& EntityTypeVP::getEntityType() const +{ + return _entityType; +} + +void EntityTypeVP::setEntityType(const EntityType &pX) +{ + _entityType = pX; +} + +unsigned short EntityTypeVP::getPadding() const +{ + return _padding; +} + +void EntityTypeVP::setPadding(unsigned short pX) +{ + _padding = pX; +} + +unsigned int EntityTypeVP::getPadding1() const +{ + return _padding1; +} + +void EntityTypeVP::setPadding1(unsigned int pX) +{ + _padding1 = pX; +} + +void EntityTypeVP::marshal(DataStream& dataStream) const +{ + dataStream << _recordType; + dataStream << _changeIndicator; + _entityType.marshal(dataStream); + dataStream << _padding; + dataStream << _padding1; +} + +void EntityTypeVP::unmarshal(DataStream& dataStream) +{ + dataStream >> _recordType; + dataStream >> _changeIndicator; + _entityType.unmarshal(dataStream); + dataStream >> _padding; + dataStream >> _padding1; +} + + +bool EntityTypeVP::operator ==(const EntityTypeVP& rhs) const + { + bool ivarsEqual = true; + + if( ! (_recordType == rhs._recordType) ) ivarsEqual = false; + if( ! (_changeIndicator == rhs._changeIndicator) ) ivarsEqual = false; + if( ! (_entityType == rhs._entityType) ) ivarsEqual = false; + if( ! (_padding == rhs._padding) ) ivarsEqual = false; + if( ! (_padding1 == rhs._padding1) ) ivarsEqual = false; + + return ivarsEqual; + } + +int EntityTypeVP::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _recordType + marshalSize = marshalSize + 1; // _changeIndicator + marshalSize = marshalSize + _entityType.getMarshalledSize(); // _entityType + marshalSize = marshalSize + 2; // _padding + marshalSize = marshalSize + 4; // _padding1 + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EntityTypeVP.h b/cpp/DIS7/EntityTypeVP.h new file mode 100644 index 00000000..4fab8759 --- /dev/null +++ b/cpp/DIS7/EntityTypeVP.h @@ -0,0 +1,96 @@ +#ifndef ENTITYTYPEVP_H +#define ENTITYTYPEVP_H + +#include +#include +#include + + +namespace DIS +{ +// Association or disassociation of two entities. Section 6.2.93.5 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EntityTypeVP +{ +protected: + /** the identification of the Variable Parameter record. Enumeration from EBV */ + unsigned char _recordType; + + /** Indicates if this VP has changed since last issuance */ + unsigned char _changeIndicator; + + /** */ + EntityType _entityType; + + /** padding */ + unsigned short _padding; + + /** padding */ + unsigned int _padding1; + + + public: + EntityTypeVP(); + virtual ~EntityTypeVP(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getRecordType() const; + void setRecordType(unsigned char pX); + + unsigned char getChangeIndicator() const; + void setChangeIndicator(unsigned char pX); + + EntityType& getEntityType(); + const EntityType& getEntityType() const; + void setEntityType(const EntityType &pX); + + unsigned short getPadding() const; + void setPadding(unsigned short pX); + + unsigned int getPadding1() const; + void setPadding1(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EntityTypeVP& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/Environment.cpp b/cpp/DIS7/Environment.cpp new file mode 100644 index 00000000..703efd34 --- /dev/null +++ b/cpp/DIS7/Environment.cpp @@ -0,0 +1,127 @@ +#include + +using namespace DIS; + + +Environment::Environment(): + _environmentType(0), + _length(0), + _index(0), + _padding(0) +{ +} + +Environment::~Environment() +{ +} + +unsigned int Environment::getEnvironmentType() const +{ + return _environmentType; +} + +void Environment::setEnvironmentType(unsigned int pX) +{ + _environmentType = pX; +} + +unsigned short Environment::getLength() const +{ + return _length; +} + +void Environment::setLength(unsigned short pX) +{ + _length = pX; +} + +unsigned char Environment::getIndex() const +{ + return _index; +} + +void Environment::setIndex(unsigned char pX) +{ + _index = pX; +} + +unsigned char Environment::getPadding() const +{ + return _padding; +} + +void Environment::setPadding(unsigned char pX) +{ + _padding = pX; +} + +void Environment::marshal(DataStream& dataStream) const +{ + dataStream << _environmentType; + dataStream << _length; + dataStream << _index; + dataStream << _padding; +} + +void Environment::unmarshal(DataStream& dataStream) +{ + dataStream >> _environmentType; + dataStream >> _length; + dataStream >> _index; + dataStream >> _padding; +} + + +bool Environment::operator ==(const Environment& rhs) const + { + bool ivarsEqual = true; + + if( ! (_environmentType == rhs._environmentType) ) ivarsEqual = false; + if( ! (_length == rhs._length) ) ivarsEqual = false; + if( ! (_index == rhs._index) ) ivarsEqual = false; + if( ! (_padding == rhs._padding) ) ivarsEqual = false; + + return ivarsEqual; + } + +int Environment::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _environmentType + marshalSize = marshalSize + 2; // _length + marshalSize = marshalSize + 1; // _index + marshalSize = marshalSize + 1; // _padding + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/Environment.h b/cpp/DIS7/Environment.h new file mode 100644 index 00000000..ddfee3b4 --- /dev/null +++ b/cpp/DIS7/Environment.h @@ -0,0 +1,88 @@ +#ifndef ENVIRONMENT_H +#define ENVIRONMENT_H + +#include +#include + + +namespace DIS +{ +// Incomplete environment record; requires hand coding to fix. Section 6.2.31.1 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO Environment +{ +protected: + /** type */ + unsigned int _environmentType; + + /** length, in bits, of the record */ + unsigned short _length; + + /** identifies the sequntially numbered record index */ + unsigned char _index; + + /** padding */ + unsigned char _padding; + + + public: + Environment(); + virtual ~Environment(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getEnvironmentType() const; + void setEnvironmentType(unsigned int pX); + + unsigned short getLength() const; + void setLength(unsigned short pX); + + unsigned char getIndex() const; + void setIndex(unsigned char pX); + + unsigned char getPadding() const; + void setPadding(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const Environment& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EnvironmentGeneral.cpp b/cpp/DIS7/EnvironmentGeneral.cpp new file mode 100644 index 00000000..1007a7e4 --- /dev/null +++ b/cpp/DIS7/EnvironmentGeneral.cpp @@ -0,0 +1,157 @@ +#include + +using namespace DIS; + + +EnvironmentGeneral::EnvironmentGeneral(): + _environmentType(0), + _length(0), + _index(0), + _padding1(0), + _geometry(0), + _padding2(0) +{ +} + +EnvironmentGeneral::~EnvironmentGeneral() +{ +} + +unsigned int EnvironmentGeneral::getEnvironmentType() const +{ + return _environmentType; +} + +void EnvironmentGeneral::setEnvironmentType(unsigned int pX) +{ + _environmentType = pX; +} + +unsigned char EnvironmentGeneral::getLength() const +{ + return _length; +} + +void EnvironmentGeneral::setLength(unsigned char pX) +{ + _length = pX; +} + +unsigned char EnvironmentGeneral::getIndex() const +{ + return _index; +} + +void EnvironmentGeneral::setIndex(unsigned char pX) +{ + _index = pX; +} + +unsigned char EnvironmentGeneral::getPadding1() const +{ + return _padding1; +} + +void EnvironmentGeneral::setPadding1(unsigned char pX) +{ + _padding1 = pX; +} + +unsigned char EnvironmentGeneral::getGeometry() const +{ + return _geometry; +} + +void EnvironmentGeneral::setGeometry(unsigned char pX) +{ + _geometry = pX; +} + +unsigned char EnvironmentGeneral::getPadding2() const +{ + return _padding2; +} + +void EnvironmentGeneral::setPadding2(unsigned char pX) +{ + _padding2 = pX; +} + +void EnvironmentGeneral::marshal(DataStream& dataStream) const +{ + dataStream << _environmentType; + dataStream << _length; + dataStream << _index; + dataStream << _padding1; + dataStream << _geometry; + dataStream << _padding2; +} + +void EnvironmentGeneral::unmarshal(DataStream& dataStream) +{ + dataStream >> _environmentType; + dataStream >> _length; + dataStream >> _index; + dataStream >> _padding1; + dataStream >> _geometry; + dataStream >> _padding2; +} + + +bool EnvironmentGeneral::operator ==(const EnvironmentGeneral& rhs) const + { + bool ivarsEqual = true; + + if( ! (_environmentType == rhs._environmentType) ) ivarsEqual = false; + if( ! (_length == rhs._length) ) ivarsEqual = false; + if( ! (_index == rhs._index) ) ivarsEqual = false; + if( ! (_padding1 == rhs._padding1) ) ivarsEqual = false; + if( ! (_geometry == rhs._geometry) ) ivarsEqual = false; + if( ! (_padding2 == rhs._padding2) ) ivarsEqual = false; + + return ivarsEqual; + } + +int EnvironmentGeneral::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _environmentType + marshalSize = marshalSize + 1; // _length + marshalSize = marshalSize + 1; // _index + marshalSize = marshalSize + 1; // _padding1 + marshalSize = marshalSize + 1; // _geometry + marshalSize = marshalSize + 1; // _padding2 + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EnvironmentGeneral.h b/cpp/DIS7/EnvironmentGeneral.h new file mode 100644 index 00000000..b5abd13a --- /dev/null +++ b/cpp/DIS7/EnvironmentGeneral.h @@ -0,0 +1,100 @@ +#ifndef ENVIRONMENTGENERAL_H +#define ENVIRONMENTGENERAL_H + +#include +#include + + +namespace DIS +{ +// Information about a geometry, a state associated with a geometry, a bounding volume, or an associated entity ID. NOTE: this class requires hand coding. 6.2.31 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EnvironmentGeneral +{ +protected: + /** Record type */ + unsigned int _environmentType; + + /** length, in bits */ + unsigned char _length; + + /** Identify the sequentially numbered record index */ + unsigned char _index; + + /** padding */ + unsigned char _padding1; + + /** Geometry or state record */ + unsigned char _geometry; + + /** padding to bring the total size up to a 64 bit boundry */ + unsigned char _padding2; + + + public: + EnvironmentGeneral(); + virtual ~EnvironmentGeneral(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getEnvironmentType() const; + void setEnvironmentType(unsigned int pX); + + unsigned char getLength() const; + void setLength(unsigned char pX); + + unsigned char getIndex() const; + void setIndex(unsigned char pX); + + unsigned char getPadding1() const; + void setPadding1(unsigned char pX); + + unsigned char getGeometry() const; + void setGeometry(unsigned char pX); + + unsigned char getPadding2() const; + void setPadding2(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EnvironmentGeneral& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EnvironmentType.cpp b/cpp/DIS7/EnvironmentType.cpp new file mode 100644 index 00000000..a903ef87 --- /dev/null +++ b/cpp/DIS7/EnvironmentType.cpp @@ -0,0 +1,172 @@ +#include + +using namespace DIS; + + +EnvironmentType::EnvironmentType(): + _entityKind(0), + _domain(0), + _entityClass(0), + _category(0), + _subcategory(0), + _specific(0), + _extra(0) +{ +} + +EnvironmentType::~EnvironmentType() +{ +} + +unsigned char EnvironmentType::getEntityKind() const +{ + return _entityKind; +} + +void EnvironmentType::setEntityKind(unsigned char pX) +{ + _entityKind = pX; +} + +unsigned char EnvironmentType::getDomain() const +{ + return _domain; +} + +void EnvironmentType::setDomain(unsigned char pX) +{ + _domain = pX; +} + +unsigned short EnvironmentType::getEntityClass() const +{ + return _entityClass; +} + +void EnvironmentType::setEntityClass(unsigned short pX) +{ + _entityClass = pX; +} + +unsigned char EnvironmentType::getCategory() const +{ + return _category; +} + +void EnvironmentType::setCategory(unsigned char pX) +{ + _category = pX; +} + +unsigned char EnvironmentType::getSubcategory() const +{ + return _subcategory; +} + +void EnvironmentType::setSubcategory(unsigned char pX) +{ + _subcategory = pX; +} + +unsigned char EnvironmentType::getSpecific() const +{ + return _specific; +} + +void EnvironmentType::setSpecific(unsigned char pX) +{ + _specific = pX; +} + +unsigned char EnvironmentType::getExtra() const +{ + return _extra; +} + +void EnvironmentType::setExtra(unsigned char pX) +{ + _extra = pX; +} + +void EnvironmentType::marshal(DataStream& dataStream) const +{ + dataStream << _entityKind; + dataStream << _domain; + dataStream << _entityClass; + dataStream << _category; + dataStream << _subcategory; + dataStream << _specific; + dataStream << _extra; +} + +void EnvironmentType::unmarshal(DataStream& dataStream) +{ + dataStream >> _entityKind; + dataStream >> _domain; + dataStream >> _entityClass; + dataStream >> _category; + dataStream >> _subcategory; + dataStream >> _specific; + dataStream >> _extra; +} + + +bool EnvironmentType::operator ==(const EnvironmentType& rhs) const + { + bool ivarsEqual = true; + + if( ! (_entityKind == rhs._entityKind) ) ivarsEqual = false; + if( ! (_domain == rhs._domain) ) ivarsEqual = false; + if( ! (_entityClass == rhs._entityClass) ) ivarsEqual = false; + if( ! (_category == rhs._category) ) ivarsEqual = false; + if( ! (_subcategory == rhs._subcategory) ) ivarsEqual = false; + if( ! (_specific == rhs._specific) ) ivarsEqual = false; + if( ! (_extra == rhs._extra) ) ivarsEqual = false; + + return ivarsEqual; + } + +int EnvironmentType::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _entityKind + marshalSize = marshalSize + 1; // _domain + marshalSize = marshalSize + 2; // _entityClass + marshalSize = marshalSize + 1; // _category + marshalSize = marshalSize + 1; // _subcategory + marshalSize = marshalSize + 1; // _specific + marshalSize = marshalSize + 1; // _extra + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EnvironmentType.h b/cpp/DIS7/EnvironmentType.h new file mode 100644 index 00000000..8e306a07 --- /dev/null +++ b/cpp/DIS7/EnvironmentType.h @@ -0,0 +1,105 @@ +#ifndef ENVIRONMENTTYPE_H +#define ENVIRONMENTTYPE_H + +#include +#include + + +namespace DIS +{ +// Description of environmental data in environmental process and gridded data PDUs. Section 6.2.32 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EnvironmentType +{ +protected: + /** Kind of entity */ + unsigned char _entityKind; + + /** Domain of entity (air, surface, subsurface, space, etc) */ + unsigned char _domain; + + /** class of environmental entity */ + unsigned short _entityClass; + + /** category of entity */ + unsigned char _category; + + /** subcategory of entity */ + unsigned char _subcategory; + + /** specific info based on subcategory field */ + unsigned char _specific; + + unsigned char _extra; + + + public: + EnvironmentType(); + virtual ~EnvironmentType(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getEntityKind() const; + void setEntityKind(unsigned char pX); + + unsigned char getDomain() const; + void setDomain(unsigned char pX); + + unsigned short getEntityClass() const; + void setEntityClass(unsigned short pX); + + unsigned char getCategory() const; + void setCategory(unsigned char pX); + + unsigned char getSubcategory() const; + void setSubcategory(unsigned char pX); + + unsigned char getSpecific() const; + void setSpecific(unsigned char pX); + + unsigned char getExtra() const; + void setExtra(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EnvironmentType& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EulerAngles.cpp b/cpp/DIS7/EulerAngles.cpp new file mode 100644 index 00000000..bb2dcfbf --- /dev/null +++ b/cpp/DIS7/EulerAngles.cpp @@ -0,0 +1,112 @@ +#include + +using namespace DIS; + + +EulerAngles::EulerAngles(): + _psi(0.0), + _theta(0.0), + _phi(0.0) +{ +} + +EulerAngles::~EulerAngles() +{ +} + +float EulerAngles::getPsi() const +{ + return _psi; +} + +void EulerAngles::setPsi(float pX) +{ + _psi = pX; +} + +float EulerAngles::getTheta() const +{ + return _theta; +} + +void EulerAngles::setTheta(float pX) +{ + _theta = pX; +} + +float EulerAngles::getPhi() const +{ + return _phi; +} + +void EulerAngles::setPhi(float pX) +{ + _phi = pX; +} + +void EulerAngles::marshal(DataStream& dataStream) const +{ + dataStream << _psi; + dataStream << _theta; + dataStream << _phi; +} + +void EulerAngles::unmarshal(DataStream& dataStream) +{ + dataStream >> _psi; + dataStream >> _theta; + dataStream >> _phi; +} + + +bool EulerAngles::operator ==(const EulerAngles& rhs) const + { + bool ivarsEqual = true; + + if( ! (_psi == rhs._psi) ) ivarsEqual = false; + if( ! (_theta == rhs._theta) ) ivarsEqual = false; + if( ! (_phi == rhs._phi) ) ivarsEqual = false; + + return ivarsEqual; + } + +int EulerAngles::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _psi + marshalSize = marshalSize + 4; // _theta + marshalSize = marshalSize + 4; // _phi + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EulerAngles.h b/cpp/DIS7/EulerAngles.h new file mode 100644 index 00000000..859927ed --- /dev/null +++ b/cpp/DIS7/EulerAngles.h @@ -0,0 +1,79 @@ +#ifndef EULERANGLES_H +#define EULERANGLES_H + +#include +#include + + +namespace DIS +{ +// Three floating point values representing an orientation, psi, theta, and phi, aka the euler angles, in radians. Section 6.2.33 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EulerAngles +{ +protected: + float _psi; + + float _theta; + + float _phi; + + + public: + EulerAngles(); + virtual ~EulerAngles(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + float getPsi() const; + void setPsi(float pX); + + float getTheta() const; + void setTheta(float pX); + + float getPhi() const; + void setPhi(float pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EulerAngles& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EventIdentifier.cpp b/cpp/DIS7/EventIdentifier.cpp new file mode 100644 index 00000000..c861941e --- /dev/null +++ b/cpp/DIS7/EventIdentifier.cpp @@ -0,0 +1,102 @@ +#include + +using namespace DIS; + + +EventIdentifier::EventIdentifier(): + _simulationAddress(), + _eventNumber(0) +{ +} + +EventIdentifier::~EventIdentifier() +{ +} + +SimulationAddress& EventIdentifier::getSimulationAddress() +{ + return _simulationAddress; +} + +const SimulationAddress& EventIdentifier::getSimulationAddress() const +{ + return _simulationAddress; +} + +void EventIdentifier::setSimulationAddress(const SimulationAddress &pX) +{ + _simulationAddress = pX; +} + +unsigned short EventIdentifier::getEventNumber() const +{ + return _eventNumber; +} + +void EventIdentifier::setEventNumber(unsigned short pX) +{ + _eventNumber = pX; +} + +void EventIdentifier::marshal(DataStream& dataStream) const +{ + _simulationAddress.marshal(dataStream); + dataStream << _eventNumber; +} + +void EventIdentifier::unmarshal(DataStream& dataStream) +{ + _simulationAddress.unmarshal(dataStream); + dataStream >> _eventNumber; +} + + +bool EventIdentifier::operator ==(const EventIdentifier& rhs) const + { + bool ivarsEqual = true; + + if( ! (_simulationAddress == rhs._simulationAddress) ) ivarsEqual = false; + if( ! (_eventNumber == rhs._eventNumber) ) ivarsEqual = false; + + return ivarsEqual; + } + +int EventIdentifier::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _simulationAddress.getMarshalledSize(); // _simulationAddress + marshalSize = marshalSize + 2; // _eventNumber + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EventIdentifier.h b/cpp/DIS7/EventIdentifier.h new file mode 100644 index 00000000..7431536e --- /dev/null +++ b/cpp/DIS7/EventIdentifier.h @@ -0,0 +1,77 @@ +#ifndef EVENTIDENTIFIER_H +#define EVENTIDENTIFIER_H + +#include +#include +#include + + +namespace DIS +{ +// Identifies an event in the world. Use this format for every PDU EXCEPT the LiveEntityPdu. Section 6.2.34. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EventIdentifier +{ +protected: + /** Site and application IDs */ + SimulationAddress _simulationAddress; + + unsigned short _eventNumber; + + + public: + EventIdentifier(); + virtual ~EventIdentifier(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + SimulationAddress& getSimulationAddress(); + const SimulationAddress& getSimulationAddress() const; + void setSimulationAddress(const SimulationAddress &pX); + + unsigned short getEventNumber() const; + void setEventNumber(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EventIdentifier& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EventIdentifierLiveEntity.cpp b/cpp/DIS7/EventIdentifierLiveEntity.cpp new file mode 100644 index 00000000..cf1197a7 --- /dev/null +++ b/cpp/DIS7/EventIdentifierLiveEntity.cpp @@ -0,0 +1,112 @@ +#include + +using namespace DIS; + + +EventIdentifierLiveEntity::EventIdentifierLiveEntity(): + _siteNumber(0), + _applicationNumber(0), + _eventNumber(0) +{ +} + +EventIdentifierLiveEntity::~EventIdentifierLiveEntity() +{ +} + +unsigned char EventIdentifierLiveEntity::getSiteNumber() const +{ + return _siteNumber; +} + +void EventIdentifierLiveEntity::setSiteNumber(unsigned char pX) +{ + _siteNumber = pX; +} + +unsigned char EventIdentifierLiveEntity::getApplicationNumber() const +{ + return _applicationNumber; +} + +void EventIdentifierLiveEntity::setApplicationNumber(unsigned char pX) +{ + _applicationNumber = pX; +} + +unsigned short EventIdentifierLiveEntity::getEventNumber() const +{ + return _eventNumber; +} + +void EventIdentifierLiveEntity::setEventNumber(unsigned short pX) +{ + _eventNumber = pX; +} + +void EventIdentifierLiveEntity::marshal(DataStream& dataStream) const +{ + dataStream << _siteNumber; + dataStream << _applicationNumber; + dataStream << _eventNumber; +} + +void EventIdentifierLiveEntity::unmarshal(DataStream& dataStream) +{ + dataStream >> _siteNumber; + dataStream >> _applicationNumber; + dataStream >> _eventNumber; +} + + +bool EventIdentifierLiveEntity::operator ==(const EventIdentifierLiveEntity& rhs) const + { + bool ivarsEqual = true; + + if( ! (_siteNumber == rhs._siteNumber) ) ivarsEqual = false; + if( ! (_applicationNumber == rhs._applicationNumber) ) ivarsEqual = false; + if( ! (_eventNumber == rhs._eventNumber) ) ivarsEqual = false; + + return ivarsEqual; + } + +int EventIdentifierLiveEntity::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _siteNumber + marshalSize = marshalSize + 1; // _applicationNumber + marshalSize = marshalSize + 2; // _eventNumber + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EventIdentifierLiveEntity.h b/cpp/DIS7/EventIdentifierLiveEntity.h new file mode 100644 index 00000000..475548f0 --- /dev/null +++ b/cpp/DIS7/EventIdentifierLiveEntity.h @@ -0,0 +1,79 @@ +#ifndef EVENTIDENTIFIERLIVEENTITY_H +#define EVENTIDENTIFIERLIVEENTITY_H + +#include +#include + + +namespace DIS +{ +// Identifies an event in the world. Use this format for ONLY the LiveEntityPdu. Section 6.2.34. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EventIdentifierLiveEntity +{ +protected: + unsigned char _siteNumber; + + unsigned char _applicationNumber; + + unsigned short _eventNumber; + + + public: + EventIdentifierLiveEntity(); + virtual ~EventIdentifierLiveEntity(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getSiteNumber() const; + void setSiteNumber(unsigned char pX); + + unsigned char getApplicationNumber() const; + void setApplicationNumber(unsigned char pX); + + unsigned short getEventNumber() const; + void setEventNumber(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EventIdentifierLiveEntity& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EventReportPdu.cpp b/cpp/DIS7/EventReportPdu.cpp new file mode 100644 index 00000000..f5be54cb --- /dev/null +++ b/cpp/DIS7/EventReportPdu.cpp @@ -0,0 +1,209 @@ +#include + +using namespace DIS; + + +EventReportPdu::EventReportPdu() : SimulationManagementFamilyPdu(), + _eventType(0), + _padding1(0), + _numberOfFixedDatumRecords(0), + _numberOfVariableDatumRecords(0) +{ + setPduType( 21 ); +} + +EventReportPdu::~EventReportPdu() +{ + _fixedDatums.clear(); + _variableDatums.clear(); +} + +unsigned int EventReportPdu::getEventType() const +{ + return _eventType; +} + +void EventReportPdu::setEventType(unsigned int pX) +{ + _eventType = pX; +} + +unsigned int EventReportPdu::getPadding1() const +{ + return _padding1; +} + +void EventReportPdu::setPadding1(unsigned int pX) +{ + _padding1 = pX; +} + +unsigned int EventReportPdu::getNumberOfFixedDatumRecords() const +{ + return _fixedDatums.size(); +} + +unsigned int EventReportPdu::getNumberOfVariableDatumRecords() const +{ + return _variableDatums.size(); +} + +std::vector& EventReportPdu::getFixedDatums() +{ + return _fixedDatums; +} + +const std::vector& EventReportPdu::getFixedDatums() const +{ + return _fixedDatums; +} + +void EventReportPdu::setFixedDatums(const std::vector& pX) +{ + _fixedDatums = pX; +} + +std::vector& EventReportPdu::getVariableDatums() +{ + return _variableDatums; +} + +const std::vector& EventReportPdu::getVariableDatums() const +{ + return _variableDatums; +} + +void EventReportPdu::setVariableDatums(const std::vector& pX) +{ + _variableDatums = pX; +} + +void EventReportPdu::marshal(DataStream& dataStream) const +{ + SimulationManagementFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _eventType; + dataStream << _padding1; + dataStream << ( unsigned int )_fixedDatums.size(); + dataStream << ( unsigned int )_variableDatums.size(); + + for(size_t idx = 0; idx < _fixedDatums.size(); idx++) + { + FixedDatum x = _fixedDatums[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { + VariableDatum x = _variableDatums[idx]; + x.marshal(dataStream); + } + +} + +void EventReportPdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _eventType; + dataStream >> _padding1; + dataStream >> _numberOfFixedDatumRecords; + dataStream >> _numberOfVariableDatumRecords; + + _fixedDatums.clear(); + for(size_t idx = 0; idx < _numberOfFixedDatumRecords; idx++) + { + FixedDatum x; + x.unmarshal(dataStream); + _fixedDatums.push_back(x); + } + + _variableDatums.clear(); + for(size_t idx = 0; idx < _numberOfVariableDatumRecords; idx++) + { + VariableDatum x; + x.unmarshal(dataStream); + _variableDatums.push_back(x); + } +} + + +bool EventReportPdu::operator ==(const EventReportPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementFamilyPdu::operator==(rhs); + + if( ! (_eventType == rhs._eventType) ) ivarsEqual = false; + if( ! (_padding1 == rhs._padding1) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _fixedDatums.size(); idx++) + { + if( ! ( _fixedDatums[idx] == rhs._fixedDatums[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { + if( ! ( _variableDatums[idx] == rhs._variableDatums[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int EventReportPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 4; // _eventType + marshalSize = marshalSize + 4; // _padding1 + marshalSize = marshalSize + 4; // _numberOfFixedDatumRecords + marshalSize = marshalSize + 4; // _numberOfVariableDatumRecords + + for(int idx=0; idx < _fixedDatums.size(); idx++) + { + FixedDatum listElement = _fixedDatums[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _variableDatums.size(); idx++) + { + VariableDatum listElement = _variableDatums[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EventReportPdu.h b/cpp/DIS7/EventReportPdu.h new file mode 100644 index 00000000..8af457e4 --- /dev/null +++ b/cpp/DIS7/EventReportPdu.h @@ -0,0 +1,104 @@ +#ifndef EVENTREPORTPDU_H +#define EVENTREPORTPDU_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Reports occurance of a significant event to the simulation manager. Section 7.5.12. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EventReportPdu : public SimulationManagementFamilyPdu +{ +protected: + /** Type of event */ + unsigned int _eventType; + + /** padding */ + unsigned int _padding1; + + /** Number of fixed datum records */ + unsigned int _numberOfFixedDatumRecords; + + /** Number of variable datum records */ + unsigned int _numberOfVariableDatumRecords; + + /** variable length list of fixed datums */ + std::vector _fixedDatums; + + /** variable length list of variable length datums */ + std::vector _variableDatums; + + + public: + EventReportPdu(); + virtual ~EventReportPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getEventType() const; + void setEventType(unsigned int pX); + + unsigned int getPadding1() const; + void setPadding1(unsigned int pX); + + unsigned int getNumberOfFixedDatumRecords() const; + + unsigned int getNumberOfVariableDatumRecords() const; + + std::vector& getFixedDatums(); + const std::vector& getFixedDatums() const; + void setFixedDatums(const std::vector& pX); + + std::vector& getVariableDatums(); + const std::vector& getVariableDatums() const; + void setVariableDatums(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EventReportPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EventReportReliablePdu.cpp b/cpp/DIS7/EventReportReliablePdu.cpp new file mode 100644 index 00000000..bfbb1aff --- /dev/null +++ b/cpp/DIS7/EventReportReliablePdu.cpp @@ -0,0 +1,209 @@ +#include + +using namespace DIS; + + +EventReportReliablePdu::EventReportReliablePdu() : SimulationManagementWithReliabilityFamilyPdu(), + _eventType(0), + _pad1(0), + _numberOfFixedDatumRecords(0), + _numberOfVariableDatumRecords(0) +{ + setPduType( 61 ); +} + +EventReportReliablePdu::~EventReportReliablePdu() +{ + _fixedDatumRecords.clear(); + _variableDatumRecords.clear(); +} + +unsigned short EventReportReliablePdu::getEventType() const +{ + return _eventType; +} + +void EventReportReliablePdu::setEventType(unsigned short pX) +{ + _eventType = pX; +} + +unsigned int EventReportReliablePdu::getPad1() const +{ + return _pad1; +} + +void EventReportReliablePdu::setPad1(unsigned int pX) +{ + _pad1 = pX; +} + +unsigned int EventReportReliablePdu::getNumberOfFixedDatumRecords() const +{ + return _fixedDatumRecords.size(); +} + +unsigned int EventReportReliablePdu::getNumberOfVariableDatumRecords() const +{ + return _variableDatumRecords.size(); +} + +std::vector& EventReportReliablePdu::getFixedDatumRecords() +{ + return _fixedDatumRecords; +} + +const std::vector& EventReportReliablePdu::getFixedDatumRecords() const +{ + return _fixedDatumRecords; +} + +void EventReportReliablePdu::setFixedDatumRecords(const std::vector& pX) +{ + _fixedDatumRecords = pX; +} + +std::vector& EventReportReliablePdu::getVariableDatumRecords() +{ + return _variableDatumRecords; +} + +const std::vector& EventReportReliablePdu::getVariableDatumRecords() const +{ + return _variableDatumRecords; +} + +void EventReportReliablePdu::setVariableDatumRecords(const std::vector& pX) +{ + _variableDatumRecords = pX; +} + +void EventReportReliablePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementWithReliabilityFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _eventType; + dataStream << _pad1; + dataStream << ( unsigned int )_fixedDatumRecords.size(); + dataStream << ( unsigned int )_variableDatumRecords.size(); + + for(size_t idx = 0; idx < _fixedDatumRecords.size(); idx++) + { + FixedDatum x = _fixedDatumRecords[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _variableDatumRecords.size(); idx++) + { + VariableDatum x = _variableDatumRecords[idx]; + x.marshal(dataStream); + } + +} + +void EventReportReliablePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementWithReliabilityFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _eventType; + dataStream >> _pad1; + dataStream >> _numberOfFixedDatumRecords; + dataStream >> _numberOfVariableDatumRecords; + + _fixedDatumRecords.clear(); + for(size_t idx = 0; idx < _numberOfFixedDatumRecords; idx++) + { + FixedDatum x; + x.unmarshal(dataStream); + _fixedDatumRecords.push_back(x); + } + + _variableDatumRecords.clear(); + for(size_t idx = 0; idx < _numberOfVariableDatumRecords; idx++) + { + VariableDatum x; + x.unmarshal(dataStream); + _variableDatumRecords.push_back(x); + } +} + + +bool EventReportReliablePdu::operator ==(const EventReportReliablePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementWithReliabilityFamilyPdu::operator==(rhs); + + if( ! (_eventType == rhs._eventType) ) ivarsEqual = false; + if( ! (_pad1 == rhs._pad1) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _fixedDatumRecords.size(); idx++) + { + if( ! ( _fixedDatumRecords[idx] == rhs._fixedDatumRecords[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _variableDatumRecords.size(); idx++) + { + if( ! ( _variableDatumRecords[idx] == rhs._variableDatumRecords[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int EventReportReliablePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementWithReliabilityFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 2; // _eventType + marshalSize = marshalSize + 4; // _pad1 + marshalSize = marshalSize + 4; // _numberOfFixedDatumRecords + marshalSize = marshalSize + 4; // _numberOfVariableDatumRecords + + for(int idx=0; idx < _fixedDatumRecords.size(); idx++) + { + FixedDatum listElement = _fixedDatumRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _variableDatumRecords.size(); idx++) + { + VariableDatum listElement = _variableDatumRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/EventReportReliablePdu.h b/cpp/DIS7/EventReportReliablePdu.h new file mode 100644 index 00000000..5314a3f0 --- /dev/null +++ b/cpp/DIS7/EventReportReliablePdu.h @@ -0,0 +1,104 @@ +#ifndef EVENTREPORTRELIABLEPDU_H +#define EVENTREPORTRELIABLEPDU_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.12.11: reports the occurance of a significatnt event to the simulation manager. Needs manual intervention to fix padding in variable datums. UNFINISHED. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO EventReportReliablePdu : public SimulationManagementWithReliabilityFamilyPdu +{ +protected: + /** Event type */ + unsigned short _eventType; + + /** padding */ + unsigned int _pad1; + + /** Fixed datum record count */ + unsigned int _numberOfFixedDatumRecords; + + /** variable datum record count */ + unsigned int _numberOfVariableDatumRecords; + + /** Fixed datum records */ + std::vector _fixedDatumRecords; + + /** Variable datum records */ + std::vector _variableDatumRecords; + + + public: + EventReportReliablePdu(); + virtual ~EventReportReliablePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getEventType() const; + void setEventType(unsigned short pX); + + unsigned int getPad1() const; + void setPad1(unsigned int pX); + + unsigned int getNumberOfFixedDatumRecords() const; + + unsigned int getNumberOfVariableDatumRecords() const; + + std::vector& getFixedDatumRecords(); + const std::vector& getFixedDatumRecords() const; + void setFixedDatumRecords(const std::vector& pX); + + std::vector& getVariableDatumRecords(); + const std::vector& getVariableDatumRecords() const; + void setVariableDatumRecords(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const EventReportReliablePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/Expendable.cpp b/cpp/DIS7/Expendable.cpp new file mode 100644 index 00000000..acf4022d --- /dev/null +++ b/cpp/DIS7/Expendable.cpp @@ -0,0 +1,147 @@ +#include + +using namespace DIS; + + +Expendable::Expendable(): + _expendable(), + _station(0), + _quantity(0), + _expendableStatus(0), + _padding(0) +{ +} + +Expendable::~Expendable() +{ +} + +EntityType& Expendable::getExpendable() +{ + return _expendable; +} + +const EntityType& Expendable::getExpendable() const +{ + return _expendable; +} + +void Expendable::setExpendable(const EntityType &pX) +{ + _expendable = pX; +} + +unsigned int Expendable::getStation() const +{ + return _station; +} + +void Expendable::setStation(unsigned int pX) +{ + _station = pX; +} + +unsigned short Expendable::getQuantity() const +{ + return _quantity; +} + +void Expendable::setQuantity(unsigned short pX) +{ + _quantity = pX; +} + +unsigned char Expendable::getExpendableStatus() const +{ + return _expendableStatus; +} + +void Expendable::setExpendableStatus(unsigned char pX) +{ + _expendableStatus = pX; +} + +unsigned char Expendable::getPadding() const +{ + return _padding; +} + +void Expendable::setPadding(unsigned char pX) +{ + _padding = pX; +} + +void Expendable::marshal(DataStream& dataStream) const +{ + _expendable.marshal(dataStream); + dataStream << _station; + dataStream << _quantity; + dataStream << _expendableStatus; + dataStream << _padding; +} + +void Expendable::unmarshal(DataStream& dataStream) +{ + _expendable.unmarshal(dataStream); + dataStream >> _station; + dataStream >> _quantity; + dataStream >> _expendableStatus; + dataStream >> _padding; +} + + +bool Expendable::operator ==(const Expendable& rhs) const + { + bool ivarsEqual = true; + + if( ! (_expendable == rhs._expendable) ) ivarsEqual = false; + if( ! (_station == rhs._station) ) ivarsEqual = false; + if( ! (_quantity == rhs._quantity) ) ivarsEqual = false; + if( ! (_expendableStatus == rhs._expendableStatus) ) ivarsEqual = false; + if( ! (_padding == rhs._padding) ) ivarsEqual = false; + + return ivarsEqual; + } + +int Expendable::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _expendable.getMarshalledSize(); // _expendable + marshalSize = marshalSize + 4; // _station + marshalSize = marshalSize + 2; // _quantity + marshalSize = marshalSize + 1; // _expendableStatus + marshalSize = marshalSize + 1; // _padding + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/Expendable.h b/cpp/DIS7/Expendable.h new file mode 100644 index 00000000..ca22fb3a --- /dev/null +++ b/cpp/DIS7/Expendable.h @@ -0,0 +1,92 @@ +#ifndef EXPENDABLE_H +#define EXPENDABLE_H + +#include +#include +#include + + +namespace DIS +{ +// An entity's expendable (chaff, flares, etc) information. Section 6.2.36 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO Expendable +{ +protected: + /** Type of expendable */ + EntityType _expendable; + + unsigned int _station; + + unsigned short _quantity; + + unsigned char _expendableStatus; + + unsigned char _padding; + + + public: + Expendable(); + virtual ~Expendable(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityType& getExpendable(); + const EntityType& getExpendable() const; + void setExpendable(const EntityType &pX); + + unsigned int getStation() const; + void setStation(unsigned int pX); + + unsigned short getQuantity() const; + void setQuantity(unsigned short pX); + + unsigned char getExpendableStatus() const; + void setExpendableStatus(unsigned char pX); + + unsigned char getPadding() const; + void setPadding(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const Expendable& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ExpendableDescriptor.cpp b/cpp/DIS7/ExpendableDescriptor.cpp new file mode 100644 index 00000000..174e7115 --- /dev/null +++ b/cpp/DIS7/ExpendableDescriptor.cpp @@ -0,0 +1,102 @@ +#include + +using namespace DIS; + + +ExpendableDescriptor::ExpendableDescriptor(): + _expendableType(), + _padding(0) +{ +} + +ExpendableDescriptor::~ExpendableDescriptor() +{ +} + +EntityType& ExpendableDescriptor::getExpendableType() +{ + return _expendableType; +} + +const EntityType& ExpendableDescriptor::getExpendableType() const +{ + return _expendableType; +} + +void ExpendableDescriptor::setExpendableType(const EntityType &pX) +{ + _expendableType = pX; +} + +long ExpendableDescriptor::getPadding() const +{ + return _padding; +} + +void ExpendableDescriptor::setPadding(long pX) +{ + _padding = pX; +} + +void ExpendableDescriptor::marshal(DataStream& dataStream) const +{ + _expendableType.marshal(dataStream); + dataStream << _padding; +} + +void ExpendableDescriptor::unmarshal(DataStream& dataStream) +{ + _expendableType.unmarshal(dataStream); + dataStream >> _padding; +} + + +bool ExpendableDescriptor::operator ==(const ExpendableDescriptor& rhs) const + { + bool ivarsEqual = true; + + if( ! (_expendableType == rhs._expendableType) ) ivarsEqual = false; + if( ! (_padding == rhs._padding) ) ivarsEqual = false; + + return ivarsEqual; + } + +int ExpendableDescriptor::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _expendableType.getMarshalledSize(); // _expendableType + marshalSize = marshalSize + 8; // _padding + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ExpendableDescriptor.h b/cpp/DIS7/ExpendableDescriptor.h new file mode 100644 index 00000000..5dffd67d --- /dev/null +++ b/cpp/DIS7/ExpendableDescriptor.h @@ -0,0 +1,78 @@ +#ifndef EXPENDABLEDESCRIPTOR_H +#define EXPENDABLEDESCRIPTOR_H + +#include +#include +#include + + +namespace DIS +{ +// Burst of chaff or expendible device. Section 6.2.20.4 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ExpendableDescriptor +{ +protected: + /** Type of the object that exploded */ + EntityType _expendableType; + + /** Padding */ + long _padding; + + + public: + ExpendableDescriptor(); + virtual ~ExpendableDescriptor(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityType& getExpendableType(); + const EntityType& getExpendableType() const; + void setExpendableType(const EntityType &pX); + + long getPadding() const; + void setPadding(long pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ExpendableDescriptor& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ExpendableReload.cpp b/cpp/DIS7/ExpendableReload.cpp new file mode 100644 index 00000000..09e002d6 --- /dev/null +++ b/cpp/DIS7/ExpendableReload.cpp @@ -0,0 +1,162 @@ +#include + +using namespace DIS; + + +ExpendableReload::ExpendableReload(): + _expendable(), + _station(0), + _standardQuantity(0), + _maximumQuantity(0), + _standardQuantityReloadTime(0), + _maximumQuantityReloadTime(0) +{ +} + +ExpendableReload::~ExpendableReload() +{ +} + +EntityType& ExpendableReload::getExpendable() +{ + return _expendable; +} + +const EntityType& ExpendableReload::getExpendable() const +{ + return _expendable; +} + +void ExpendableReload::setExpendable(const EntityType &pX) +{ + _expendable = pX; +} + +unsigned int ExpendableReload::getStation() const +{ + return _station; +} + +void ExpendableReload::setStation(unsigned int pX) +{ + _station = pX; +} + +unsigned short ExpendableReload::getStandardQuantity() const +{ + return _standardQuantity; +} + +void ExpendableReload::setStandardQuantity(unsigned short pX) +{ + _standardQuantity = pX; +} + +unsigned short ExpendableReload::getMaximumQuantity() const +{ + return _maximumQuantity; +} + +void ExpendableReload::setMaximumQuantity(unsigned short pX) +{ + _maximumQuantity = pX; +} + +unsigned int ExpendableReload::getStandardQuantityReloadTime() const +{ + return _standardQuantityReloadTime; +} + +void ExpendableReload::setStandardQuantityReloadTime(unsigned int pX) +{ + _standardQuantityReloadTime = pX; +} + +unsigned int ExpendableReload::getMaximumQuantityReloadTime() const +{ + return _maximumQuantityReloadTime; +} + +void ExpendableReload::setMaximumQuantityReloadTime(unsigned int pX) +{ + _maximumQuantityReloadTime = pX; +} + +void ExpendableReload::marshal(DataStream& dataStream) const +{ + _expendable.marshal(dataStream); + dataStream << _station; + dataStream << _standardQuantity; + dataStream << _maximumQuantity; + dataStream << _standardQuantityReloadTime; + dataStream << _maximumQuantityReloadTime; +} + +void ExpendableReload::unmarshal(DataStream& dataStream) +{ + _expendable.unmarshal(dataStream); + dataStream >> _station; + dataStream >> _standardQuantity; + dataStream >> _maximumQuantity; + dataStream >> _standardQuantityReloadTime; + dataStream >> _maximumQuantityReloadTime; +} + + +bool ExpendableReload::operator ==(const ExpendableReload& rhs) const + { + bool ivarsEqual = true; + + if( ! (_expendable == rhs._expendable) ) ivarsEqual = false; + if( ! (_station == rhs._station) ) ivarsEqual = false; + if( ! (_standardQuantity == rhs._standardQuantity) ) ivarsEqual = false; + if( ! (_maximumQuantity == rhs._maximumQuantity) ) ivarsEqual = false; + if( ! (_standardQuantityReloadTime == rhs._standardQuantityReloadTime) ) ivarsEqual = false; + if( ! (_maximumQuantityReloadTime == rhs._maximumQuantityReloadTime) ) ivarsEqual = false; + + return ivarsEqual; + } + +int ExpendableReload::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _expendable.getMarshalledSize(); // _expendable + marshalSize = marshalSize + 4; // _station + marshalSize = marshalSize + 2; // _standardQuantity + marshalSize = marshalSize + 2; // _maximumQuantity + marshalSize = marshalSize + 4; // _standardQuantityReloadTime + marshalSize = marshalSize + 4; // _maximumQuantityReloadTime + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ExpendableReload.h b/cpp/DIS7/ExpendableReload.h new file mode 100644 index 00000000..89d77639 --- /dev/null +++ b/cpp/DIS7/ExpendableReload.h @@ -0,0 +1,97 @@ +#ifndef EXPENDABLERELOAD_H +#define EXPENDABLERELOAD_H + +#include +#include +#include + + +namespace DIS +{ +// An entity's expendable (chaff, flares, etc) information. Section 6.2.37 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ExpendableReload +{ +protected: + /** Type of expendable */ + EntityType _expendable; + + unsigned int _station; + + unsigned short _standardQuantity; + + unsigned short _maximumQuantity; + + unsigned int _standardQuantityReloadTime; + + unsigned int _maximumQuantityReloadTime; + + + public: + ExpendableReload(); + virtual ~ExpendableReload(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityType& getExpendable(); + const EntityType& getExpendable() const; + void setExpendable(const EntityType &pX); + + unsigned int getStation() const; + void setStation(unsigned int pX); + + unsigned short getStandardQuantity() const; + void setStandardQuantity(unsigned short pX); + + unsigned short getMaximumQuantity() const; + void setMaximumQuantity(unsigned short pX); + + unsigned int getStandardQuantityReloadTime() const; + void setStandardQuantityReloadTime(unsigned int pX); + + unsigned int getMaximumQuantityReloadTime() const; + void setMaximumQuantityReloadTime(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ExpendableReload& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ExplosionDescriptor.cpp b/cpp/DIS7/ExplosionDescriptor.cpp new file mode 100644 index 00000000..e2639492 --- /dev/null +++ b/cpp/DIS7/ExplosionDescriptor.cpp @@ -0,0 +1,132 @@ +#include + +using namespace DIS; + + +ExplosionDescriptor::ExplosionDescriptor(): + _explodingObject(), + _explosiveMaterial(0), + _padding(0), + _explosiveForce(0.0) +{ +} + +ExplosionDescriptor::~ExplosionDescriptor() +{ +} + +EntityType& ExplosionDescriptor::getExplodingObject() +{ + return _explodingObject; +} + +const EntityType& ExplosionDescriptor::getExplodingObject() const +{ + return _explodingObject; +} + +void ExplosionDescriptor::setExplodingObject(const EntityType &pX) +{ + _explodingObject = pX; +} + +unsigned short ExplosionDescriptor::getExplosiveMaterial() const +{ + return _explosiveMaterial; +} + +void ExplosionDescriptor::setExplosiveMaterial(unsigned short pX) +{ + _explosiveMaterial = pX; +} + +unsigned short ExplosionDescriptor::getPadding() const +{ + return _padding; +} + +void ExplosionDescriptor::setPadding(unsigned short pX) +{ + _padding = pX; +} + +float ExplosionDescriptor::getExplosiveForce() const +{ + return _explosiveForce; +} + +void ExplosionDescriptor::setExplosiveForce(float pX) +{ + _explosiveForce = pX; +} + +void ExplosionDescriptor::marshal(DataStream& dataStream) const +{ + _explodingObject.marshal(dataStream); + dataStream << _explosiveMaterial; + dataStream << _padding; + dataStream << _explosiveForce; +} + +void ExplosionDescriptor::unmarshal(DataStream& dataStream) +{ + _explodingObject.unmarshal(dataStream); + dataStream >> _explosiveMaterial; + dataStream >> _padding; + dataStream >> _explosiveForce; +} + + +bool ExplosionDescriptor::operator ==(const ExplosionDescriptor& rhs) const + { + bool ivarsEqual = true; + + if( ! (_explodingObject == rhs._explodingObject) ) ivarsEqual = false; + if( ! (_explosiveMaterial == rhs._explosiveMaterial) ) ivarsEqual = false; + if( ! (_padding == rhs._padding) ) ivarsEqual = false; + if( ! (_explosiveForce == rhs._explosiveForce) ) ivarsEqual = false; + + return ivarsEqual; + } + +int ExplosionDescriptor::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _explodingObject.getMarshalledSize(); // _explodingObject + marshalSize = marshalSize + 2; // _explosiveMaterial + marshalSize = marshalSize + 2; // _padding + marshalSize = marshalSize + 4; // _explosiveForce + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ExplosionDescriptor.h b/cpp/DIS7/ExplosionDescriptor.h new file mode 100644 index 00000000..2fa1e574 --- /dev/null +++ b/cpp/DIS7/ExplosionDescriptor.h @@ -0,0 +1,90 @@ +#ifndef EXPLOSIONDESCRIPTOR_H +#define EXPLOSIONDESCRIPTOR_H + +#include +#include +#include + + +namespace DIS +{ +// Explosion of a non-munition. Section 6.2.20.3 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ExplosionDescriptor +{ +protected: + /** Type of the object that exploded. See 6.2.30 */ + EntityType _explodingObject; + + /** Material that exploded. Can be grain dust, tnt, gasoline, etc. */ + unsigned short _explosiveMaterial; + + /** padding */ + unsigned short _padding; + + /** Force of explosion, in equivalent KG of TNT */ + float _explosiveForce; + + + public: + ExplosionDescriptor(); + virtual ~ExplosionDescriptor(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityType& getExplodingObject(); + const EntityType& getExplodingObject() const; + void setExplodingObject(const EntityType &pX); + + unsigned short getExplosiveMaterial() const; + void setExplosiveMaterial(unsigned short pX); + + unsigned short getPadding() const; + void setPadding(unsigned short pX); + + float getExplosiveForce() const; + void setExplosiveForce(float pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ExplosionDescriptor& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/FalseTargetsAttribute.cpp b/cpp/DIS7/FalseTargetsAttribute.cpp new file mode 100644 index 00000000..8af3f5a5 --- /dev/null +++ b/cpp/DIS7/FalseTargetsAttribute.cpp @@ -0,0 +1,277 @@ +#include + +using namespace DIS; + + +FalseTargetsAttribute::FalseTargetsAttribute(): + _recordType(3502), + _recordLength(40), + _padding(0), + _emitterNumber(0), + _beamNumber(0), + _stateIndicator(0), + _padding2(0), + _falseTargetCount(0.0), + _walkSpeed(0.0), + _walkAcceleration(0.0), + _maximumWalkDistance(0.0), + _keepTime(0.0), + _echoSpacing(0.0), + _padding3(0) +{ +} + +FalseTargetsAttribute::~FalseTargetsAttribute() +{ +} + +unsigned int FalseTargetsAttribute::getRecordType() const +{ + return _recordType; +} + +void FalseTargetsAttribute::setRecordType(unsigned int pX) +{ + _recordType = pX; +} + +unsigned short FalseTargetsAttribute::getRecordLength() const +{ + return _recordLength; +} + +void FalseTargetsAttribute::setRecordLength(unsigned short pX) +{ + _recordLength = pX; +} + +unsigned short FalseTargetsAttribute::getPadding() const +{ + return _padding; +} + +void FalseTargetsAttribute::setPadding(unsigned short pX) +{ + _padding = pX; +} + +unsigned char FalseTargetsAttribute::getEmitterNumber() const +{ + return _emitterNumber; +} + +void FalseTargetsAttribute::setEmitterNumber(unsigned char pX) +{ + _emitterNumber = pX; +} + +unsigned char FalseTargetsAttribute::getBeamNumber() const +{ + return _beamNumber; +} + +void FalseTargetsAttribute::setBeamNumber(unsigned char pX) +{ + _beamNumber = pX; +} + +unsigned char FalseTargetsAttribute::getStateIndicator() const +{ + return _stateIndicator; +} + +void FalseTargetsAttribute::setStateIndicator(unsigned char pX) +{ + _stateIndicator = pX; +} + +unsigned char FalseTargetsAttribute::getPadding2() const +{ + return _padding2; +} + +void FalseTargetsAttribute::setPadding2(unsigned char pX) +{ + _padding2 = pX; +} + +float FalseTargetsAttribute::getFalseTargetCount() const +{ + return _falseTargetCount; +} + +void FalseTargetsAttribute::setFalseTargetCount(float pX) +{ + _falseTargetCount = pX; +} + +float FalseTargetsAttribute::getWalkSpeed() const +{ + return _walkSpeed; +} + +void FalseTargetsAttribute::setWalkSpeed(float pX) +{ + _walkSpeed = pX; +} + +float FalseTargetsAttribute::getWalkAcceleration() const +{ + return _walkAcceleration; +} + +void FalseTargetsAttribute::setWalkAcceleration(float pX) +{ + _walkAcceleration = pX; +} + +float FalseTargetsAttribute::getMaximumWalkDistance() const +{ + return _maximumWalkDistance; +} + +void FalseTargetsAttribute::setMaximumWalkDistance(float pX) +{ + _maximumWalkDistance = pX; +} + +float FalseTargetsAttribute::getKeepTime() const +{ + return _keepTime; +} + +void FalseTargetsAttribute::setKeepTime(float pX) +{ + _keepTime = pX; +} + +float FalseTargetsAttribute::getEchoSpacing() const +{ + return _echoSpacing; +} + +void FalseTargetsAttribute::setEchoSpacing(float pX) +{ + _echoSpacing = pX; +} + +unsigned int FalseTargetsAttribute::getPadding3() const +{ + return _padding3; +} + +void FalseTargetsAttribute::setPadding3(unsigned int pX) +{ + _padding3 = pX; +} + +void FalseTargetsAttribute::marshal(DataStream& dataStream) const +{ + dataStream << _recordType; + dataStream << _recordLength; + dataStream << _padding; + dataStream << _emitterNumber; + dataStream << _beamNumber; + dataStream << _stateIndicator; + dataStream << _padding2; + dataStream << _falseTargetCount; + dataStream << _walkSpeed; + dataStream << _walkAcceleration; + dataStream << _maximumWalkDistance; + dataStream << _keepTime; + dataStream << _echoSpacing; + dataStream << _padding3; +} + +void FalseTargetsAttribute::unmarshal(DataStream& dataStream) +{ + dataStream >> _recordType; + dataStream >> _recordLength; + dataStream >> _padding; + dataStream >> _emitterNumber; + dataStream >> _beamNumber; + dataStream >> _stateIndicator; + dataStream >> _padding2; + dataStream >> _falseTargetCount; + dataStream >> _walkSpeed; + dataStream >> _walkAcceleration; + dataStream >> _maximumWalkDistance; + dataStream >> _keepTime; + dataStream >> _echoSpacing; + dataStream >> _padding3; +} + + +bool FalseTargetsAttribute::operator ==(const FalseTargetsAttribute& rhs) const + { + bool ivarsEqual = true; + + if( ! (_recordType == rhs._recordType) ) ivarsEqual = false; + if( ! (_recordLength == rhs._recordLength) ) ivarsEqual = false; + if( ! (_padding == rhs._padding) ) ivarsEqual = false; + if( ! (_emitterNumber == rhs._emitterNumber) ) ivarsEqual = false; + if( ! (_beamNumber == rhs._beamNumber) ) ivarsEqual = false; + if( ! (_stateIndicator == rhs._stateIndicator) ) ivarsEqual = false; + if( ! (_padding2 == rhs._padding2) ) ivarsEqual = false; + if( ! (_falseTargetCount == rhs._falseTargetCount) ) ivarsEqual = false; + if( ! (_walkSpeed == rhs._walkSpeed) ) ivarsEqual = false; + if( ! (_walkAcceleration == rhs._walkAcceleration) ) ivarsEqual = false; + if( ! (_maximumWalkDistance == rhs._maximumWalkDistance) ) ivarsEqual = false; + if( ! (_keepTime == rhs._keepTime) ) ivarsEqual = false; + if( ! (_echoSpacing == rhs._echoSpacing) ) ivarsEqual = false; + if( ! (_padding3 == rhs._padding3) ) ivarsEqual = false; + + return ivarsEqual; + } + +int FalseTargetsAttribute::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _recordType + marshalSize = marshalSize + 2; // _recordLength + marshalSize = marshalSize + 2; // _padding + marshalSize = marshalSize + 1; // _emitterNumber + marshalSize = marshalSize + 1; // _beamNumber + marshalSize = marshalSize + 1; // _stateIndicator + marshalSize = marshalSize + 1; // _padding2 + marshalSize = marshalSize + 4; // _falseTargetCount + marshalSize = marshalSize + 4; // _walkSpeed + marshalSize = marshalSize + 4; // _walkAcceleration + marshalSize = marshalSize + 4; // _maximumWalkDistance + marshalSize = marshalSize + 4; // _keepTime + marshalSize = marshalSize + 4; // _echoSpacing + marshalSize = marshalSize + 4; // _padding3 + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/FalseTargetsAttribute.h b/cpp/DIS7/FalseTargetsAttribute.h new file mode 100644 index 00000000..bf90c773 --- /dev/null +++ b/cpp/DIS7/FalseTargetsAttribute.h @@ -0,0 +1,134 @@ +#ifndef FALSETARGETSATTRIBUTE_H +#define FALSETARGETSATTRIBUTE_H + +#include +#include + + +namespace DIS +{ +// The False Targets attribute record shall be used to communicate discrete values that are associated with false targets jamming that cannot be referenced to an emitter mode. The values provided in the False Targets attri- bute record shall be considered valid only for the victim radar beams listed in the jamming beam's Track/Jam Data records (provided in the associated Electromagnetic Emission PDU). Section 6.2.12.3 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO FalseTargetsAttribute +{ +protected: + unsigned int _recordType; + + unsigned short _recordLength; + + unsigned short _padding; + + unsigned char _emitterNumber; + + unsigned char _beamNumber; + + unsigned char _stateIndicator; + + unsigned char _padding2; + + float _falseTargetCount; + + float _walkSpeed; + + float _walkAcceleration; + + float _maximumWalkDistance; + + float _keepTime; + + float _echoSpacing; + + unsigned int _padding3; + + + public: + FalseTargetsAttribute(); + virtual ~FalseTargetsAttribute(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getRecordType() const; + void setRecordType(unsigned int pX); + + unsigned short getRecordLength() const; + void setRecordLength(unsigned short pX); + + unsigned short getPadding() const; + void setPadding(unsigned short pX); + + unsigned char getEmitterNumber() const; + void setEmitterNumber(unsigned char pX); + + unsigned char getBeamNumber() const; + void setBeamNumber(unsigned char pX); + + unsigned char getStateIndicator() const; + void setStateIndicator(unsigned char pX); + + unsigned char getPadding2() const; + void setPadding2(unsigned char pX); + + float getFalseTargetCount() const; + void setFalseTargetCount(float pX); + + float getWalkSpeed() const; + void setWalkSpeed(float pX); + + float getWalkAcceleration() const; + void setWalkAcceleration(float pX); + + float getMaximumWalkDistance() const; + void setMaximumWalkDistance(float pX); + + float getKeepTime() const; + void setKeepTime(float pX); + + float getEchoSpacing() const; + void setEchoSpacing(float pX); + + unsigned int getPadding3() const; + void setPadding3(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const FalseTargetsAttribute& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/FastEntityStatePdu.cpp b/cpp/DIS7/FastEntityStatePdu.cpp new file mode 100644 index 00000000..2c973019 --- /dev/null +++ b/cpp/DIS7/FastEntityStatePdu.cpp @@ -0,0 +1,759 @@ +#include + +using namespace DIS; + + +FastEntityStatePdu::FastEntityStatePdu() : EntityInformationFamilyPdu(), + _site(0), + _application(0), + _entity(0), + _forceId(0), + _numberOfVariableParameters(0), + _entityKind(0), + _domain(0), + _country(0), + _category(0), + _subcategory(0), + _specific(0), + _extra(0), + _altEntityKind(0), + _altDomain(0), + _altCountry(0), + _altCategory(0), + _altSubcategory(0), + _altSpecific(0), + _altExtra(0), + _xVelocity(0.0), + _yVelocity(0.0), + _zVelocity(0.0), + _xLocation(0.0), + _yLocation(0.0), + _zLocation(0.0), + _psi(0.0), + _theta(0.0), + _phi(0.0), + _entityAppearance(0), + _deadReckoningAlgorithm(0), + _xAcceleration(0.0), + _yAcceleration(0.0), + _zAcceleration(0.0), + _xAngularVelocity(0.0), + _yAngularVelocity(0.0), + _zAngularVelocity(0.0), + _capabilities(0) +{ + setPduType( 1 ); + // Initialize fixed length array + for(int lengthotherParameters= 0; lengthotherParameters < 15; lengthotherParameters++) + { + _otherParameters[lengthotherParameters] = 0; + } + + // Initialize fixed length array + for(int lengthmarking= 0; lengthmarking < 12; lengthmarking++) + { + _marking[lengthmarking] = 0; + } + +} + +FastEntityStatePdu::~FastEntityStatePdu() +{ + _variableParameters.clear(); +} + +unsigned short FastEntityStatePdu::getSite() const +{ + return _site; +} + +void FastEntityStatePdu::setSite(unsigned short pX) +{ + _site = pX; +} + +unsigned short FastEntityStatePdu::getApplication() const +{ + return _application; +} + +void FastEntityStatePdu::setApplication(unsigned short pX) +{ + _application = pX; +} + +unsigned short FastEntityStatePdu::getEntity() const +{ + return _entity; +} + +void FastEntityStatePdu::setEntity(unsigned short pX) +{ + _entity = pX; +} + +unsigned char FastEntityStatePdu::getForceId() const +{ + return _forceId; +} + +void FastEntityStatePdu::setForceId(unsigned char pX) +{ + _forceId = pX; +} + +char FastEntityStatePdu::getNumberOfVariableParameters() const +{ + return _variableParameters.size(); +} + +unsigned char FastEntityStatePdu::getEntityKind() const +{ + return _entityKind; +} + +void FastEntityStatePdu::setEntityKind(unsigned char pX) +{ + _entityKind = pX; +} + +unsigned char FastEntityStatePdu::getDomain() const +{ + return _domain; +} + +void FastEntityStatePdu::setDomain(unsigned char pX) +{ + _domain = pX; +} + +unsigned short FastEntityStatePdu::getCountry() const +{ + return _country; +} + +void FastEntityStatePdu::setCountry(unsigned short pX) +{ + _country = pX; +} + +unsigned char FastEntityStatePdu::getCategory() const +{ + return _category; +} + +void FastEntityStatePdu::setCategory(unsigned char pX) +{ + _category = pX; +} + +unsigned char FastEntityStatePdu::getSubcategory() const +{ + return _subcategory; +} + +void FastEntityStatePdu::setSubcategory(unsigned char pX) +{ + _subcategory = pX; +} + +unsigned char FastEntityStatePdu::getSpecific() const +{ + return _specific; +} + +void FastEntityStatePdu::setSpecific(unsigned char pX) +{ + _specific = pX; +} + +unsigned char FastEntityStatePdu::getExtra() const +{ + return _extra; +} + +void FastEntityStatePdu::setExtra(unsigned char pX) +{ + _extra = pX; +} + +unsigned char FastEntityStatePdu::getAltEntityKind() const +{ + return _altEntityKind; +} + +void FastEntityStatePdu::setAltEntityKind(unsigned char pX) +{ + _altEntityKind = pX; +} + +unsigned char FastEntityStatePdu::getAltDomain() const +{ + return _altDomain; +} + +void FastEntityStatePdu::setAltDomain(unsigned char pX) +{ + _altDomain = pX; +} + +unsigned short FastEntityStatePdu::getAltCountry() const +{ + return _altCountry; +} + +void FastEntityStatePdu::setAltCountry(unsigned short pX) +{ + _altCountry = pX; +} + +unsigned char FastEntityStatePdu::getAltCategory() const +{ + return _altCategory; +} + +void FastEntityStatePdu::setAltCategory(unsigned char pX) +{ + _altCategory = pX; +} + +unsigned char FastEntityStatePdu::getAltSubcategory() const +{ + return _altSubcategory; +} + +void FastEntityStatePdu::setAltSubcategory(unsigned char pX) +{ + _altSubcategory = pX; +} + +unsigned char FastEntityStatePdu::getAltSpecific() const +{ + return _altSpecific; +} + +void FastEntityStatePdu::setAltSpecific(unsigned char pX) +{ + _altSpecific = pX; +} + +unsigned char FastEntityStatePdu::getAltExtra() const +{ + return _altExtra; +} + +void FastEntityStatePdu::setAltExtra(unsigned char pX) +{ + _altExtra = pX; +} + +float FastEntityStatePdu::getXVelocity() const +{ + return _xVelocity; +} + +void FastEntityStatePdu::setXVelocity(float pX) +{ + _xVelocity = pX; +} + +float FastEntityStatePdu::getYVelocity() const +{ + return _yVelocity; +} + +void FastEntityStatePdu::setYVelocity(float pX) +{ + _yVelocity = pX; +} + +float FastEntityStatePdu::getZVelocity() const +{ + return _zVelocity; +} + +void FastEntityStatePdu::setZVelocity(float pX) +{ + _zVelocity = pX; +} + +double FastEntityStatePdu::getXLocation() const +{ + return _xLocation; +} + +void FastEntityStatePdu::setXLocation(double pX) +{ + _xLocation = pX; +} + +double FastEntityStatePdu::getYLocation() const +{ + return _yLocation; +} + +void FastEntityStatePdu::setYLocation(double pX) +{ + _yLocation = pX; +} + +double FastEntityStatePdu::getZLocation() const +{ + return _zLocation; +} + +void FastEntityStatePdu::setZLocation(double pX) +{ + _zLocation = pX; +} + +float FastEntityStatePdu::getPsi() const +{ + return _psi; +} + +void FastEntityStatePdu::setPsi(float pX) +{ + _psi = pX; +} + +float FastEntityStatePdu::getTheta() const +{ + return _theta; +} + +void FastEntityStatePdu::setTheta(float pX) +{ + _theta = pX; +} + +float FastEntityStatePdu::getPhi() const +{ + return _phi; +} + +void FastEntityStatePdu::setPhi(float pX) +{ + _phi = pX; +} + +int FastEntityStatePdu::getEntityAppearance() const +{ + return _entityAppearance; +} + +void FastEntityStatePdu::setEntityAppearance(int pX) +{ + _entityAppearance = pX; +} + +unsigned char FastEntityStatePdu::getDeadReckoningAlgorithm() const +{ + return _deadReckoningAlgorithm; +} + +void FastEntityStatePdu::setDeadReckoningAlgorithm(unsigned char pX) +{ + _deadReckoningAlgorithm = pX; +} + +char* FastEntityStatePdu::getOtherParameters() +{ + return _otherParameters; +} + +const char* FastEntityStatePdu::getOtherParameters() const +{ + return _otherParameters; +} + +void FastEntityStatePdu::setOtherParameters(const char* x) +{ + for(int i = 0; i < 15; i++) + { + _otherParameters[i] = x[i]; + } +} + +float FastEntityStatePdu::getXAcceleration() const +{ + return _xAcceleration; +} + +void FastEntityStatePdu::setXAcceleration(float pX) +{ + _xAcceleration = pX; +} + +float FastEntityStatePdu::getYAcceleration() const +{ + return _yAcceleration; +} + +void FastEntityStatePdu::setYAcceleration(float pX) +{ + _yAcceleration = pX; +} + +float FastEntityStatePdu::getZAcceleration() const +{ + return _zAcceleration; +} + +void FastEntityStatePdu::setZAcceleration(float pX) +{ + _zAcceleration = pX; +} + +float FastEntityStatePdu::getXAngularVelocity() const +{ + return _xAngularVelocity; +} + +void FastEntityStatePdu::setXAngularVelocity(float pX) +{ + _xAngularVelocity = pX; +} + +float FastEntityStatePdu::getYAngularVelocity() const +{ + return _yAngularVelocity; +} + +void FastEntityStatePdu::setYAngularVelocity(float pX) +{ + _yAngularVelocity = pX; +} + +float FastEntityStatePdu::getZAngularVelocity() const +{ + return _zAngularVelocity; +} + +void FastEntityStatePdu::setZAngularVelocity(float pX) +{ + _zAngularVelocity = pX; +} + +char* FastEntityStatePdu::getMarking() +{ + return _marking; +} + +const char* FastEntityStatePdu::getMarking() const +{ + return _marking; +} + +void FastEntityStatePdu::setMarking(const char* x) +{ + for(int i = 0; i < 12; i++) + { + _marking[i] = x[i]; + } +} + +// An alternate method to set the value if this could be a string. This is not strictly comnpliant with the DIS standard. +void FastEntityStatePdu::setByStringMarking(const char* x) +{ + strncpy(_marking, x, 12-1); + _marking[12 -1] = '\0'; +} + +int FastEntityStatePdu::getCapabilities() const +{ + return _capabilities; +} + +void FastEntityStatePdu::setCapabilities(int pX) +{ + _capabilities = pX; +} + +std::vector& FastEntityStatePdu::getVariableParameters() +{ + return _variableParameters; +} + +const std::vector& FastEntityStatePdu::getVariableParameters() const +{ + return _variableParameters; +} + +void FastEntityStatePdu::setVariableParameters(const std::vector& pX) +{ + _variableParameters = pX; +} + +void FastEntityStatePdu::marshal(DataStream& dataStream) const +{ + EntityInformationFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _site; + dataStream << _application; + dataStream << _entity; + dataStream << _forceId; + dataStream << ( char )_variableParameters.size(); + dataStream << _entityKind; + dataStream << _domain; + dataStream << _country; + dataStream << _category; + dataStream << _subcategory; + dataStream << _specific; + dataStream << _extra; + dataStream << _altEntityKind; + dataStream << _altDomain; + dataStream << _altCountry; + dataStream << _altCategory; + dataStream << _altSubcategory; + dataStream << _altSpecific; + dataStream << _altExtra; + dataStream << _xVelocity; + dataStream << _yVelocity; + dataStream << _zVelocity; + dataStream << _xLocation; + dataStream << _yLocation; + dataStream << _zLocation; + dataStream << _psi; + dataStream << _theta; + dataStream << _phi; + dataStream << _entityAppearance; + dataStream << _deadReckoningAlgorithm; + + for(size_t idx = 0; idx < 15; idx++) + { + dataStream << _otherParameters[idx]; + } + + dataStream << _xAcceleration; + dataStream << _yAcceleration; + dataStream << _zAcceleration; + dataStream << _xAngularVelocity; + dataStream << _yAngularVelocity; + dataStream << _zAngularVelocity; + + for(size_t idx = 0; idx < 12; idx++) + { + dataStream << _marking[idx]; + } + + dataStream << _capabilities; + + for(size_t idx = 0; idx < _variableParameters.size(); idx++) + { + VariableParameter x = _variableParameters[idx]; + x.marshal(dataStream); + } + +} + +void FastEntityStatePdu::unmarshal(DataStream& dataStream) +{ + EntityInformationFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _site; + dataStream >> _application; + dataStream >> _entity; + dataStream >> _forceId; + dataStream >> _numberOfVariableParameters; + dataStream >> _entityKind; + dataStream >> _domain; + dataStream >> _country; + dataStream >> _category; + dataStream >> _subcategory; + dataStream >> _specific; + dataStream >> _extra; + dataStream >> _altEntityKind; + dataStream >> _altDomain; + dataStream >> _altCountry; + dataStream >> _altCategory; + dataStream >> _altSubcategory; + dataStream >> _altSpecific; + dataStream >> _altExtra; + dataStream >> _xVelocity; + dataStream >> _yVelocity; + dataStream >> _zVelocity; + dataStream >> _xLocation; + dataStream >> _yLocation; + dataStream >> _zLocation; + dataStream >> _psi; + dataStream >> _theta; + dataStream >> _phi; + dataStream >> _entityAppearance; + dataStream >> _deadReckoningAlgorithm; + + for(size_t idx = 0; idx < 15; idx++) + { + dataStream >> _otherParameters[idx]; + } + + dataStream >> _xAcceleration; + dataStream >> _yAcceleration; + dataStream >> _zAcceleration; + dataStream >> _xAngularVelocity; + dataStream >> _yAngularVelocity; + dataStream >> _zAngularVelocity; + + for(size_t idx = 0; idx < 12; idx++) + { + dataStream >> _marking[idx]; + } + + dataStream >> _capabilities; + + _variableParameters.clear(); + for(size_t idx = 0; idx < _numberOfVariableParameters; idx++) + { + VariableParameter x; + x.unmarshal(dataStream); + _variableParameters.push_back(x); + } +} + + +bool FastEntityStatePdu::operator ==(const FastEntityStatePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = EntityInformationFamilyPdu::operator==(rhs); + + if( ! (_site == rhs._site) ) ivarsEqual = false; + if( ! (_application == rhs._application) ) ivarsEqual = false; + if( ! (_entity == rhs._entity) ) ivarsEqual = false; + if( ! (_forceId == rhs._forceId) ) ivarsEqual = false; + if( ! (_entityKind == rhs._entityKind) ) ivarsEqual = false; + if( ! (_domain == rhs._domain) ) ivarsEqual = false; + if( ! (_country == rhs._country) ) ivarsEqual = false; + if( ! (_category == rhs._category) ) ivarsEqual = false; + if( ! (_subcategory == rhs._subcategory) ) ivarsEqual = false; + if( ! (_specific == rhs._specific) ) ivarsEqual = false; + if( ! (_extra == rhs._extra) ) ivarsEqual = false; + if( ! (_altEntityKind == rhs._altEntityKind) ) ivarsEqual = false; + if( ! (_altDomain == rhs._altDomain) ) ivarsEqual = false; + if( ! (_altCountry == rhs._altCountry) ) ivarsEqual = false; + if( ! (_altCategory == rhs._altCategory) ) ivarsEqual = false; + if( ! (_altSubcategory == rhs._altSubcategory) ) ivarsEqual = false; + if( ! (_altSpecific == rhs._altSpecific) ) ivarsEqual = false; + if( ! (_altExtra == rhs._altExtra) ) ivarsEqual = false; + if( ! (_xVelocity == rhs._xVelocity) ) ivarsEqual = false; + if( ! (_yVelocity == rhs._yVelocity) ) ivarsEqual = false; + if( ! (_zVelocity == rhs._zVelocity) ) ivarsEqual = false; + if( ! (_xLocation == rhs._xLocation) ) ivarsEqual = false; + if( ! (_yLocation == rhs._yLocation) ) ivarsEqual = false; + if( ! (_zLocation == rhs._zLocation) ) ivarsEqual = false; + if( ! (_psi == rhs._psi) ) ivarsEqual = false; + if( ! (_theta == rhs._theta) ) ivarsEqual = false; + if( ! (_phi == rhs._phi) ) ivarsEqual = false; + if( ! (_entityAppearance == rhs._entityAppearance) ) ivarsEqual = false; + if( ! (_deadReckoningAlgorithm == rhs._deadReckoningAlgorithm) ) ivarsEqual = false; + + for(char idx = 0; idx < 15; idx++) + { + if(!(_otherParameters[idx] == rhs._otherParameters[idx]) ) ivarsEqual = false; + } + + if( ! (_xAcceleration == rhs._xAcceleration) ) ivarsEqual = false; + if( ! (_yAcceleration == rhs._yAcceleration) ) ivarsEqual = false; + if( ! (_zAcceleration == rhs._zAcceleration) ) ivarsEqual = false; + if( ! (_xAngularVelocity == rhs._xAngularVelocity) ) ivarsEqual = false; + if( ! (_yAngularVelocity == rhs._yAngularVelocity) ) ivarsEqual = false; + if( ! (_zAngularVelocity == rhs._zAngularVelocity) ) ivarsEqual = false; + + for(char idx = 0; idx < 12; idx++) + { + if(!(_marking[idx] == rhs._marking[idx]) ) ivarsEqual = false; + } + + if( ! (_capabilities == rhs._capabilities) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _variableParameters.size(); idx++) + { + if( ! ( _variableParameters[idx] == rhs._variableParameters[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int FastEntityStatePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = EntityInformationFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 2; // _site + marshalSize = marshalSize + 2; // _application + marshalSize = marshalSize + 2; // _entity + marshalSize = marshalSize + 1; // _forceId + marshalSize = marshalSize + 1; // _numberOfVariableParameters + marshalSize = marshalSize + 1; // _entityKind + marshalSize = marshalSize + 1; // _domain + marshalSize = marshalSize + 2; // _country + marshalSize = marshalSize + 1; // _category + marshalSize = marshalSize + 1; // _subcategory + marshalSize = marshalSize + 1; // _specific + marshalSize = marshalSize + 1; // _extra + marshalSize = marshalSize + 1; // _altEntityKind + marshalSize = marshalSize + 1; // _altDomain + marshalSize = marshalSize + 2; // _altCountry + marshalSize = marshalSize + 1; // _altCategory + marshalSize = marshalSize + 1; // _altSubcategory + marshalSize = marshalSize + 1; // _altSpecific + marshalSize = marshalSize + 1; // _altExtra + marshalSize = marshalSize + 4; // _xVelocity + marshalSize = marshalSize + 4; // _yVelocity + marshalSize = marshalSize + 4; // _zVelocity + marshalSize = marshalSize + 8; // _xLocation + marshalSize = marshalSize + 8; // _yLocation + marshalSize = marshalSize + 8; // _zLocation + marshalSize = marshalSize + 4; // _psi + marshalSize = marshalSize + 4; // _theta + marshalSize = marshalSize + 4; // _phi + marshalSize = marshalSize + 4; // _entityAppearance + marshalSize = marshalSize + 1; // _deadReckoningAlgorithm + marshalSize = marshalSize + 15 * 1; // _otherParameters + marshalSize = marshalSize + 4; // _xAcceleration + marshalSize = marshalSize + 4; // _yAcceleration + marshalSize = marshalSize + 4; // _zAcceleration + marshalSize = marshalSize + 4; // _xAngularVelocity + marshalSize = marshalSize + 4; // _yAngularVelocity + marshalSize = marshalSize + 4; // _zAngularVelocity + marshalSize = marshalSize + 12 * 1; // _marking + marshalSize = marshalSize + 4; // _capabilities + + for(int idx=0; idx < _variableParameters.size(); idx++) + { + VariableParameter listElement = _variableParameters[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/FastEntityStatePdu.h b/cpp/DIS7/FastEntityStatePdu.h new file mode 100644 index 00000000..d6a7a3e4 --- /dev/null +++ b/cpp/DIS7/FastEntityStatePdu.h @@ -0,0 +1,305 @@ +#ifndef FASTENTITYSTATEPDU_H +#define FASTENTITYSTATEPDU_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Represents the postion and state of one entity in the world. This is identical in function to entity state pdu, but generates less garbage to collect in the Java world. Section 7.2.2. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO FastEntityStatePdu : public EntityInformationFamilyPdu +{ +protected: + /** The site ID */ + unsigned short _site; + + /** The application ID */ + unsigned short _application; + + /** the entity ID */ + unsigned short _entity; + + /** what force this entity is affiliated with, eg red, blue, neutral, etc */ + unsigned char _forceId; + + /** How many variable (nee articulation) parameters are in the variable length list */ + char _numberOfVariableParameters; + + /** Kind of entity */ + unsigned char _entityKind; + + /** Domain of entity (air, surface, subsurface, space, etc) */ + unsigned char _domain; + + /** country to which the design of the entity is attributed */ + unsigned short _country; + + /** category of entity */ + unsigned char _category; + + /** subcategory of entity */ + unsigned char _subcategory; + + /** specific info based on subcategory field */ + unsigned char _specific; + + unsigned char _extra; + + /** Kind of entity */ + unsigned char _altEntityKind; + + /** Domain of entity (air, surface, subsurface, space, etc) */ + unsigned char _altDomain; + + /** country to which the design of the entity is attributed */ + unsigned short _altCountry; + + /** category of entity */ + unsigned char _altCategory; + + /** subcategory of entity */ + unsigned char _altSubcategory; + + /** specific info based on subcategory field */ + unsigned char _altSpecific; + + unsigned char _altExtra; + + /** X velo */ + float _xVelocity; + + /** y Value */ + float _yVelocity; + + /** Z value */ + float _zVelocity; + + /** X value */ + double _xLocation; + + /** y Value */ + double _yLocation; + + /** Z value */ + double _zLocation; + + float _psi; + + float _theta; + + float _phi; + + /** a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc. */ + int _entityAppearance; + + /** enumeration of what dead reckoning algorighm to use */ + unsigned char _deadReckoningAlgorithm; + + /** other parameters to use in the dead reckoning algorithm */ + char _otherParameters[15]; + + /** X value */ + float _xAcceleration; + + /** y Value */ + float _yAcceleration; + + /** Z value */ + float _zAcceleration; + + /** X value */ + float _xAngularVelocity; + + /** y Value */ + float _yAngularVelocity; + + /** Z value */ + float _zAngularVelocity; + + /** characters that can be used for debugging, or to draw unique strings on the side of entities in the world */ + char _marking[12]; + + /** a series of bit flags */ + int _capabilities; + + /** variable length list of variable parameters. In earlier versions of DIS these were known as articulation parameters */ + std::vector _variableParameters; + + + public: + FastEntityStatePdu(); + virtual ~FastEntityStatePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getSite() const; + void setSite(unsigned short pX); + + unsigned short getApplication() const; + void setApplication(unsigned short pX); + + unsigned short getEntity() const; + void setEntity(unsigned short pX); + + unsigned char getForceId() const; + void setForceId(unsigned char pX); + + char getNumberOfVariableParameters() const; + + unsigned char getEntityKind() const; + void setEntityKind(unsigned char pX); + + unsigned char getDomain() const; + void setDomain(unsigned char pX); + + unsigned short getCountry() const; + void setCountry(unsigned short pX); + + unsigned char getCategory() const; + void setCategory(unsigned char pX); + + unsigned char getSubcategory() const; + void setSubcategory(unsigned char pX); + + unsigned char getSpecific() const; + void setSpecific(unsigned char pX); + + unsigned char getExtra() const; + void setExtra(unsigned char pX); + + unsigned char getAltEntityKind() const; + void setAltEntityKind(unsigned char pX); + + unsigned char getAltDomain() const; + void setAltDomain(unsigned char pX); + + unsigned short getAltCountry() const; + void setAltCountry(unsigned short pX); + + unsigned char getAltCategory() const; + void setAltCategory(unsigned char pX); + + unsigned char getAltSubcategory() const; + void setAltSubcategory(unsigned char pX); + + unsigned char getAltSpecific() const; + void setAltSpecific(unsigned char pX); + + unsigned char getAltExtra() const; + void setAltExtra(unsigned char pX); + + float getXVelocity() const; + void setXVelocity(float pX); + + float getYVelocity() const; + void setYVelocity(float pX); + + float getZVelocity() const; + void setZVelocity(float pX); + + double getXLocation() const; + void setXLocation(double pX); + + double getYLocation() const; + void setYLocation(double pX); + + double getZLocation() const; + void setZLocation(double pX); + + float getPsi() const; + void setPsi(float pX); + + float getTheta() const; + void setTheta(float pX); + + float getPhi() const; + void setPhi(float pX); + + int getEntityAppearance() const; + void setEntityAppearance(int pX); + + unsigned char getDeadReckoningAlgorithm() const; + void setDeadReckoningAlgorithm(unsigned char pX); + + char* getOtherParameters(); + const char* getOtherParameters() const; + void setOtherParameters( const char* pX); + + float getXAcceleration() const; + void setXAcceleration(float pX); + + float getYAcceleration() const; + void setYAcceleration(float pX); + + float getZAcceleration() const; + void setZAcceleration(float pX); + + float getXAngularVelocity() const; + void setXAngularVelocity(float pX); + + float getYAngularVelocity() const; + void setYAngularVelocity(float pX); + + float getZAngularVelocity() const; + void setZAngularVelocity(float pX); + + char* getMarking(); + const char* getMarking() const; + void setMarking( const char* pX); + void setByStringMarking(const char* pX); + + int getCapabilities() const; + void setCapabilities(int pX); + + std::vector& getVariableParameters(); + const std::vector& getVariableParameters() const; + void setVariableParameters(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const FastEntityStatePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/FirePdu.cpp b/cpp/DIS7/FirePdu.cpp new file mode 100644 index 00000000..aab8a5f3 --- /dev/null +++ b/cpp/DIS7/FirePdu.cpp @@ -0,0 +1,203 @@ +#include + +using namespace DIS; + + +FirePdu::FirePdu() : WarfareFamilyPdu(), + _munitionExpendibleID(), + _eventID(), + _fireMissionIndex(0), + _locationInWorldCoordinates(), + _descriptor(), + _velocity(), + _range(0.0) +{ + setPduType( 2 ); +} + +FirePdu::~FirePdu() +{ +} + +EntityID& FirePdu::getMunitionExpendibleID() +{ + return _munitionExpendibleID; +} + +const EntityID& FirePdu::getMunitionExpendibleID() const +{ + return _munitionExpendibleID; +} + +void FirePdu::setMunitionExpendibleID(const EntityID &pX) +{ + _munitionExpendibleID = pX; +} + +EventIdentifier& FirePdu::getEventID() +{ + return _eventID; +} + +const EventIdentifier& FirePdu::getEventID() const +{ + return _eventID; +} + +void FirePdu::setEventID(const EventIdentifier &pX) +{ + _eventID = pX; +} + +unsigned int FirePdu::getFireMissionIndex() const +{ + return _fireMissionIndex; +} + +void FirePdu::setFireMissionIndex(unsigned int pX) +{ + _fireMissionIndex = pX; +} + +Vector3Double& FirePdu::getLocationInWorldCoordinates() +{ + return _locationInWorldCoordinates; +} + +const Vector3Double& FirePdu::getLocationInWorldCoordinates() const +{ + return _locationInWorldCoordinates; +} + +void FirePdu::setLocationInWorldCoordinates(const Vector3Double &pX) +{ + _locationInWorldCoordinates = pX; +} + +MunitionDescriptor& FirePdu::getDescriptor() +{ + return _descriptor; +} + +const MunitionDescriptor& FirePdu::getDescriptor() const +{ + return _descriptor; +} + +void FirePdu::setDescriptor(const MunitionDescriptor &pX) +{ + _descriptor = pX; +} + +Vector3Float& FirePdu::getVelocity() +{ + return _velocity; +} + +const Vector3Float& FirePdu::getVelocity() const +{ + return _velocity; +} + +void FirePdu::setVelocity(const Vector3Float &pX) +{ + _velocity = pX; +} + +float FirePdu::getRange() const +{ + return _range; +} + +void FirePdu::setRange(float pX) +{ + _range = pX; +} + +void FirePdu::marshal(DataStream& dataStream) const +{ + WarfareFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _munitionExpendibleID.marshal(dataStream); + _eventID.marshal(dataStream); + dataStream << _fireMissionIndex; + _locationInWorldCoordinates.marshal(dataStream); + _descriptor.marshal(dataStream); + _velocity.marshal(dataStream); + dataStream << _range; +} + +void FirePdu::unmarshal(DataStream& dataStream) +{ + WarfareFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _munitionExpendibleID.unmarshal(dataStream); + _eventID.unmarshal(dataStream); + dataStream >> _fireMissionIndex; + _locationInWorldCoordinates.unmarshal(dataStream); + _descriptor.unmarshal(dataStream); + _velocity.unmarshal(dataStream); + dataStream >> _range; +} + + +bool FirePdu::operator ==(const FirePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = WarfareFamilyPdu::operator==(rhs); + + if( ! (_munitionExpendibleID == rhs._munitionExpendibleID) ) ivarsEqual = false; + if( ! (_eventID == rhs._eventID) ) ivarsEqual = false; + if( ! (_fireMissionIndex == rhs._fireMissionIndex) ) ivarsEqual = false; + if( ! (_locationInWorldCoordinates == rhs._locationInWorldCoordinates) ) ivarsEqual = false; + if( ! (_descriptor == rhs._descriptor) ) ivarsEqual = false; + if( ! (_velocity == rhs._velocity) ) ivarsEqual = false; + if( ! (_range == rhs._range) ) ivarsEqual = false; + + return ivarsEqual; + } + +int FirePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = WarfareFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _munitionExpendibleID.getMarshalledSize(); // _munitionExpendibleID + marshalSize = marshalSize + _eventID.getMarshalledSize(); // _eventID + marshalSize = marshalSize + 4; // _fireMissionIndex + marshalSize = marshalSize + _locationInWorldCoordinates.getMarshalledSize(); // _locationInWorldCoordinates + marshalSize = marshalSize + _descriptor.getMarshalledSize(); // _descriptor + marshalSize = marshalSize + _velocity.getMarshalledSize(); // _velocity + marshalSize = marshalSize + 4; // _range + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/FirePdu.h b/cpp/DIS7/FirePdu.h new file mode 100644 index 00000000..75fb0291 --- /dev/null +++ b/cpp/DIS7/FirePdu.h @@ -0,0 +1,117 @@ +#ifndef FIREPDU_H +#define FIREPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// The firing of a weapon or expendable shall be communicated by issuing a Fire PDU. Sectioin 7.3.2. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO FirePdu : public WarfareFamilyPdu +{ +protected: + /** This field shall specify the entity identification of the fired munition or expendable. This field shall be represented by an Entity Identifier record (see 6.2.28). */ + EntityID _munitionExpendibleID; + + /** This field shall contain an identification generated by the firing entity to associate related firing and detonation events. This field shall be represented by an Event Identifier record (see 6.2.34). */ + EventIdentifier _eventID; + + /** This field shall identify the fire mission (see 5.4.3.3). This field shall be representedby a 32-bit unsigned integer. */ + unsigned int _fireMissionIndex; + + /** This field shall specify the location, in world coordinates, from which the munition was launched, and shall be represented by a World Coordinates record (see 6.2.97). */ + Vector3Double _locationInWorldCoordinates; + + /** This field shall describe the firing or launch of a munition or expendable represented by one of the following types of Descriptor records: Munition Descriptor (6.2.20.2) or Expendable Descriptor (6.2.20.4). */ + MunitionDescriptor _descriptor; + + /** This field shall specify the velocity of the fired munition at the point when the issuing simulation application intends the externally visible effects of the launch (e.g. exhaust plume or muzzle blast) to first become apparent. The velocity shall be represented in world coordinates. This field shall be represented by a Linear Velocity Vector record [see 6.2.95 item c)]. */ + Vector3Float _velocity; + + /** This field shall specify the range that an entity’s fire control system has assumed in computing the fire control solution. This field shall be represented by a 32-bit floating point number in meters. For systems where range is unknown or unavailable, this field shall contain a value of zero. */ + float _range; + + + public: + FirePdu(); + virtual ~FirePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getMunitionExpendibleID(); + const EntityID& getMunitionExpendibleID() const; + void setMunitionExpendibleID(const EntityID &pX); + + EventIdentifier& getEventID(); + const EventIdentifier& getEventID() const; + void setEventID(const EventIdentifier &pX); + + unsigned int getFireMissionIndex() const; + void setFireMissionIndex(unsigned int pX); + + Vector3Double& getLocationInWorldCoordinates(); + const Vector3Double& getLocationInWorldCoordinates() const; + void setLocationInWorldCoordinates(const Vector3Double &pX); + + MunitionDescriptor& getDescriptor(); + const MunitionDescriptor& getDescriptor() const; + void setDescriptor(const MunitionDescriptor &pX); + + Vector3Float& getVelocity(); + const Vector3Float& getVelocity() const; + void setVelocity(const Vector3Float &pX); + + float getRange() const; + void setRange(float pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const FirePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/FixedDatum.cpp b/cpp/DIS7/FixedDatum.cpp new file mode 100644 index 00000000..98e97a5d --- /dev/null +++ b/cpp/DIS7/FixedDatum.cpp @@ -0,0 +1,97 @@ +#include + +using namespace DIS; + + +FixedDatum::FixedDatum(): + _fixedDatumID(0), + _fixedDatumValue(0) +{ +} + +FixedDatum::~FixedDatum() +{ +} + +unsigned int FixedDatum::getFixedDatumID() const +{ + return _fixedDatumID; +} + +void FixedDatum::setFixedDatumID(unsigned int pX) +{ + _fixedDatumID = pX; +} + +unsigned int FixedDatum::getFixedDatumValue() const +{ + return _fixedDatumValue; +} + +void FixedDatum::setFixedDatumValue(unsigned int pX) +{ + _fixedDatumValue = pX; +} + +void FixedDatum::marshal(DataStream& dataStream) const +{ + dataStream << _fixedDatumID; + dataStream << _fixedDatumValue; +} + +void FixedDatum::unmarshal(DataStream& dataStream) +{ + dataStream >> _fixedDatumID; + dataStream >> _fixedDatumValue; +} + + +bool FixedDatum::operator ==(const FixedDatum& rhs) const + { + bool ivarsEqual = true; + + if( ! (_fixedDatumID == rhs._fixedDatumID) ) ivarsEqual = false; + if( ! (_fixedDatumValue == rhs._fixedDatumValue) ) ivarsEqual = false; + + return ivarsEqual; + } + +int FixedDatum::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _fixedDatumID + marshalSize = marshalSize + 4; // _fixedDatumValue + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/FixedDatum.h b/cpp/DIS7/FixedDatum.h new file mode 100644 index 00000000..6bd8b25a --- /dev/null +++ b/cpp/DIS7/FixedDatum.h @@ -0,0 +1,76 @@ +#ifndef FIXEDDATUM_H +#define FIXEDDATUM_H + +#include +#include + + +namespace DIS +{ +// Fixed Datum Record. Section 6.2.38 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO FixedDatum +{ +protected: + /** ID of the fixed datum, an enumeration */ + unsigned int _fixedDatumID; + + /** Value for the fixed datum */ + unsigned int _fixedDatumValue; + + + public: + FixedDatum(); + virtual ~FixedDatum(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getFixedDatumID() const; + void setFixedDatumID(unsigned int pX); + + unsigned int getFixedDatumValue() const; + void setFixedDatumValue(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const FixedDatum& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/FourByteChunk.cpp b/cpp/DIS7/FourByteChunk.cpp new file mode 100644 index 00000000..457e3638 --- /dev/null +++ b/cpp/DIS7/FourByteChunk.cpp @@ -0,0 +1,110 @@ +#include + +using namespace DIS; + + +FourByteChunk::FourByteChunk() +{ + // Initialize fixed length array + for(int lengthotherParameters= 0; lengthotherParameters < 4; lengthotherParameters++) + { + _otherParameters[lengthotherParameters] = 0; + } + +} + +FourByteChunk::~FourByteChunk() +{ +} + +char* FourByteChunk::getOtherParameters() +{ + return _otherParameters; +} + +const char* FourByteChunk::getOtherParameters() const +{ + return _otherParameters; +} + +void FourByteChunk::setOtherParameters(const char* x) +{ + for(int i = 0; i < 4; i++) + { + _otherParameters[i] = x[i]; + } +} + +void FourByteChunk::marshal(DataStream& dataStream) const +{ + + for(size_t idx = 0; idx < 4; idx++) + { + dataStream << _otherParameters[idx]; + } + +} + +void FourByteChunk::unmarshal(DataStream& dataStream) +{ + + for(size_t idx = 0; idx < 4; idx++) + { + dataStream >> _otherParameters[idx]; + } + +} + + +bool FourByteChunk::operator ==(const FourByteChunk& rhs) const + { + bool ivarsEqual = true; + + + for(char idx = 0; idx < 4; idx++) + { + if(!(_otherParameters[idx] == rhs._otherParameters[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int FourByteChunk::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4 * 1; // _otherParameters + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/FourByteChunk.h b/cpp/DIS7/FourByteChunk.h new file mode 100644 index 00000000..dcc35127 --- /dev/null +++ b/cpp/DIS7/FourByteChunk.h @@ -0,0 +1,71 @@ +#ifndef FOURBYTECHUNK_H +#define FOURBYTECHUNK_H + +#include +#include + + +namespace DIS +{ +// 32 bit piece of data + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO FourByteChunk +{ +protected: + /** four bytes of arbitrary data */ + char _otherParameters[4]; + + + public: + FourByteChunk(); + virtual ~FourByteChunk(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + char* getOtherParameters(); + const char* getOtherParameters() const; + void setOtherParameters( const char* pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const FourByteChunk& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/FundamentalOperationalData.cpp b/cpp/DIS7/FundamentalOperationalData.cpp new file mode 100644 index 00000000..3e54968e --- /dev/null +++ b/cpp/DIS7/FundamentalOperationalData.cpp @@ -0,0 +1,217 @@ +#include + +using namespace DIS; + + +FundamentalOperationalData::FundamentalOperationalData(): + _systemStatus(0), + _dataField1(0), + _informationLayers(0), + _dataField2(0), + _parameter1(0), + _parameter2(0), + _parameter3(0), + _parameter4(0), + _parameter5(0), + _parameter6(0) +{ +} + +FundamentalOperationalData::~FundamentalOperationalData() +{ +} + +unsigned char FundamentalOperationalData::getSystemStatus() const +{ + return _systemStatus; +} + +void FundamentalOperationalData::setSystemStatus(unsigned char pX) +{ + _systemStatus = pX; +} + +unsigned char FundamentalOperationalData::getDataField1() const +{ + return _dataField1; +} + +void FundamentalOperationalData::setDataField1(unsigned char pX) +{ + _dataField1 = pX; +} + +unsigned char FundamentalOperationalData::getInformationLayers() const +{ + return _informationLayers; +} + +void FundamentalOperationalData::setInformationLayers(unsigned char pX) +{ + _informationLayers = pX; +} + +unsigned char FundamentalOperationalData::getDataField2() const +{ + return _dataField2; +} + +void FundamentalOperationalData::setDataField2(unsigned char pX) +{ + _dataField2 = pX; +} + +unsigned short FundamentalOperationalData::getParameter1() const +{ + return _parameter1; +} + +void FundamentalOperationalData::setParameter1(unsigned short pX) +{ + _parameter1 = pX; +} + +unsigned short FundamentalOperationalData::getParameter2() const +{ + return _parameter2; +} + +void FundamentalOperationalData::setParameter2(unsigned short pX) +{ + _parameter2 = pX; +} + +unsigned short FundamentalOperationalData::getParameter3() const +{ + return _parameter3; +} + +void FundamentalOperationalData::setParameter3(unsigned short pX) +{ + _parameter3 = pX; +} + +unsigned short FundamentalOperationalData::getParameter4() const +{ + return _parameter4; +} + +void FundamentalOperationalData::setParameter4(unsigned short pX) +{ + _parameter4 = pX; +} + +unsigned short FundamentalOperationalData::getParameter5() const +{ + return _parameter5; +} + +void FundamentalOperationalData::setParameter5(unsigned short pX) +{ + _parameter5 = pX; +} + +unsigned short FundamentalOperationalData::getParameter6() const +{ + return _parameter6; +} + +void FundamentalOperationalData::setParameter6(unsigned short pX) +{ + _parameter6 = pX; +} + +void FundamentalOperationalData::marshal(DataStream& dataStream) const +{ + dataStream << _systemStatus; + dataStream << _dataField1; + dataStream << _informationLayers; + dataStream << _dataField2; + dataStream << _parameter1; + dataStream << _parameter2; + dataStream << _parameter3; + dataStream << _parameter4; + dataStream << _parameter5; + dataStream << _parameter6; +} + +void FundamentalOperationalData::unmarshal(DataStream& dataStream) +{ + dataStream >> _systemStatus; + dataStream >> _dataField1; + dataStream >> _informationLayers; + dataStream >> _dataField2; + dataStream >> _parameter1; + dataStream >> _parameter2; + dataStream >> _parameter3; + dataStream >> _parameter4; + dataStream >> _parameter5; + dataStream >> _parameter6; +} + + +bool FundamentalOperationalData::operator ==(const FundamentalOperationalData& rhs) const + { + bool ivarsEqual = true; + + if( ! (_systemStatus == rhs._systemStatus) ) ivarsEqual = false; + if( ! (_dataField1 == rhs._dataField1) ) ivarsEqual = false; + if( ! (_informationLayers == rhs._informationLayers) ) ivarsEqual = false; + if( ! (_dataField2 == rhs._dataField2) ) ivarsEqual = false; + if( ! (_parameter1 == rhs._parameter1) ) ivarsEqual = false; + if( ! (_parameter2 == rhs._parameter2) ) ivarsEqual = false; + if( ! (_parameter3 == rhs._parameter3) ) ivarsEqual = false; + if( ! (_parameter4 == rhs._parameter4) ) ivarsEqual = false; + if( ! (_parameter5 == rhs._parameter5) ) ivarsEqual = false; + if( ! (_parameter6 == rhs._parameter6) ) ivarsEqual = false; + + return ivarsEqual; + } + +int FundamentalOperationalData::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _systemStatus + marshalSize = marshalSize + 1; // _dataField1 + marshalSize = marshalSize + 1; // _informationLayers + marshalSize = marshalSize + 1; // _dataField2 + marshalSize = marshalSize + 2; // _parameter1 + marshalSize = marshalSize + 2; // _parameter2 + marshalSize = marshalSize + 2; // _parameter3 + marshalSize = marshalSize + 2; // _parameter4 + marshalSize = marshalSize + 2; // _parameter5 + marshalSize = marshalSize + 2; // _parameter6 + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/FundamentalOperationalData.h b/cpp/DIS7/FundamentalOperationalData.h new file mode 100644 index 00000000..71aab27f --- /dev/null +++ b/cpp/DIS7/FundamentalOperationalData.h @@ -0,0 +1,124 @@ +#ifndef FUNDAMENTALOPERATIONALDATA_H +#define FUNDAMENTALOPERATIONALDATA_H + +#include +#include + + +namespace DIS +{ +// Basic operational data for IFF. Section 6.2.40. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO FundamentalOperationalData +{ +protected: + /** system status */ + unsigned char _systemStatus; + + /** data field 1 */ + unsigned char _dataField1; + + /** eight boolean fields */ + unsigned char _informationLayers; + + /** enumeration */ + unsigned char _dataField2; + + /** parameter, enumeration */ + unsigned short _parameter1; + + /** parameter, enumeration */ + unsigned short _parameter2; + + /** parameter, enumeration */ + unsigned short _parameter3; + + /** parameter, enumeration */ + unsigned short _parameter4; + + /** parameter, enumeration */ + unsigned short _parameter5; + + /** parameter, enumeration */ + unsigned short _parameter6; + + + public: + FundamentalOperationalData(); + virtual ~FundamentalOperationalData(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getSystemStatus() const; + void setSystemStatus(unsigned char pX); + + unsigned char getDataField1() const; + void setDataField1(unsigned char pX); + + unsigned char getInformationLayers() const; + void setInformationLayers(unsigned char pX); + + unsigned char getDataField2() const; + void setDataField2(unsigned char pX); + + unsigned short getParameter1() const; + void setParameter1(unsigned short pX); + + unsigned short getParameter2() const; + void setParameter2(unsigned short pX); + + unsigned short getParameter3() const; + void setParameter3(unsigned short pX); + + unsigned short getParameter4() const; + void setParameter4(unsigned short pX); + + unsigned short getParameter5() const; + void setParameter5(unsigned short pX); + + unsigned short getParameter6() const; + void setParameter6(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const FundamentalOperationalData& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/GridAxis.cpp b/cpp/DIS7/GridAxis.cpp new file mode 100644 index 00000000..57ed9c0d --- /dev/null +++ b/cpp/DIS7/GridAxis.cpp @@ -0,0 +1,172 @@ +#include + +using namespace DIS; + + +GridAxis::GridAxis(): + _domainInitialXi(0.0), + _domainFinalXi(0.0), + _domainPointsXi(0), + _interleafFactor(0), + _axisType(0), + _numberOfPointsOnXiAxis(0), + _initialIndex(0) +{ +} + +GridAxis::~GridAxis() +{ +} + +double GridAxis::getDomainInitialXi() const +{ + return _domainInitialXi; +} + +void GridAxis::setDomainInitialXi(double pX) +{ + _domainInitialXi = pX; +} + +double GridAxis::getDomainFinalXi() const +{ + return _domainFinalXi; +} + +void GridAxis::setDomainFinalXi(double pX) +{ + _domainFinalXi = pX; +} + +unsigned short GridAxis::getDomainPointsXi() const +{ + return _domainPointsXi; +} + +void GridAxis::setDomainPointsXi(unsigned short pX) +{ + _domainPointsXi = pX; +} + +unsigned char GridAxis::getInterleafFactor() const +{ + return _interleafFactor; +} + +void GridAxis::setInterleafFactor(unsigned char pX) +{ + _interleafFactor = pX; +} + +unsigned char GridAxis::getAxisType() const +{ + return _axisType; +} + +void GridAxis::setAxisType(unsigned char pX) +{ + _axisType = pX; +} + +unsigned short GridAxis::getNumberOfPointsOnXiAxis() const +{ + return _numberOfPointsOnXiAxis; +} + +void GridAxis::setNumberOfPointsOnXiAxis(unsigned short pX) +{ + _numberOfPointsOnXiAxis = pX; +} + +unsigned short GridAxis::getInitialIndex() const +{ + return _initialIndex; +} + +void GridAxis::setInitialIndex(unsigned short pX) +{ + _initialIndex = pX; +} + +void GridAxis::marshal(DataStream& dataStream) const +{ + dataStream << _domainInitialXi; + dataStream << _domainFinalXi; + dataStream << _domainPointsXi; + dataStream << _interleafFactor; + dataStream << _axisType; + dataStream << _numberOfPointsOnXiAxis; + dataStream << _initialIndex; +} + +void GridAxis::unmarshal(DataStream& dataStream) +{ + dataStream >> _domainInitialXi; + dataStream >> _domainFinalXi; + dataStream >> _domainPointsXi; + dataStream >> _interleafFactor; + dataStream >> _axisType; + dataStream >> _numberOfPointsOnXiAxis; + dataStream >> _initialIndex; +} + + +bool GridAxis::operator ==(const GridAxis& rhs) const + { + bool ivarsEqual = true; + + if( ! (_domainInitialXi == rhs._domainInitialXi) ) ivarsEqual = false; + if( ! (_domainFinalXi == rhs._domainFinalXi) ) ivarsEqual = false; + if( ! (_domainPointsXi == rhs._domainPointsXi) ) ivarsEqual = false; + if( ! (_interleafFactor == rhs._interleafFactor) ) ivarsEqual = false; + if( ! (_axisType == rhs._axisType) ) ivarsEqual = false; + if( ! (_numberOfPointsOnXiAxis == rhs._numberOfPointsOnXiAxis) ) ivarsEqual = false; + if( ! (_initialIndex == rhs._initialIndex) ) ivarsEqual = false; + + return ivarsEqual; + } + +int GridAxis::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 8; // _domainInitialXi + marshalSize = marshalSize + 8; // _domainFinalXi + marshalSize = marshalSize + 2; // _domainPointsXi + marshalSize = marshalSize + 1; // _interleafFactor + marshalSize = marshalSize + 1; // _axisType + marshalSize = marshalSize + 2; // _numberOfPointsOnXiAxis + marshalSize = marshalSize + 2; // _initialIndex + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/GridAxis.h b/cpp/DIS7/GridAxis.h new file mode 100644 index 00000000..7c97e0bf --- /dev/null +++ b/cpp/DIS7/GridAxis.h @@ -0,0 +1,106 @@ +#ifndef GRIDAXIS_H +#define GRIDAXIS_H + +#include +#include + + +namespace DIS +{ +// Grid axis record for fixed data. Section 6.2.41 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO GridAxis +{ +protected: + /** coordinate of the grid origin or initial value */ + double _domainInitialXi; + + /** coordinate of the endpoint or final value */ + double _domainFinalXi; + + /** The number of grid points along the Xi domain axis for the enviornmental state data */ + unsigned short _domainPointsXi; + + /** interleaf factor along the domain axis. */ + unsigned char _interleafFactor; + + /** type of grid axis */ + unsigned char _axisType; + + /** Number of grid locations along Xi axis */ + unsigned short _numberOfPointsOnXiAxis; + + /** initial grid point for the current pdu */ + unsigned short _initialIndex; + + + public: + GridAxis(); + virtual ~GridAxis(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + double getDomainInitialXi() const; + void setDomainInitialXi(double pX); + + double getDomainFinalXi() const; + void setDomainFinalXi(double pX); + + unsigned short getDomainPointsXi() const; + void setDomainPointsXi(unsigned short pX); + + unsigned char getInterleafFactor() const; + void setInterleafFactor(unsigned char pX); + + unsigned char getAxisType() const; + void setAxisType(unsigned char pX); + + unsigned short getNumberOfPointsOnXiAxis() const; + void setNumberOfPointsOnXiAxis(unsigned short pX); + + unsigned short getInitialIndex() const; + void setInitialIndex(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const GridAxis& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/GroupIdentifier.cpp b/cpp/DIS7/GroupIdentifier.cpp new file mode 100644 index 00000000..314979ae --- /dev/null +++ b/cpp/DIS7/GroupIdentifier.cpp @@ -0,0 +1,102 @@ +#include + +using namespace DIS; + + +GroupIdentifier::GroupIdentifier(): + _simulationAddress(), + _groupNumber(0) +{ +} + +GroupIdentifier::~GroupIdentifier() +{ +} + +EntityType& GroupIdentifier::getSimulationAddress() +{ + return _simulationAddress; +} + +const EntityType& GroupIdentifier::getSimulationAddress() const +{ + return _simulationAddress; +} + +void GroupIdentifier::setSimulationAddress(const EntityType &pX) +{ + _simulationAddress = pX; +} + +unsigned short GroupIdentifier::getGroupNumber() const +{ + return _groupNumber; +} + +void GroupIdentifier::setGroupNumber(unsigned short pX) +{ + _groupNumber = pX; +} + +void GroupIdentifier::marshal(DataStream& dataStream) const +{ + _simulationAddress.marshal(dataStream); + dataStream << _groupNumber; +} + +void GroupIdentifier::unmarshal(DataStream& dataStream) +{ + _simulationAddress.unmarshal(dataStream); + dataStream >> _groupNumber; +} + + +bool GroupIdentifier::operator ==(const GroupIdentifier& rhs) const + { + bool ivarsEqual = true; + + if( ! (_simulationAddress == rhs._simulationAddress) ) ivarsEqual = false; + if( ! (_groupNumber == rhs._groupNumber) ) ivarsEqual = false; + + return ivarsEqual; + } + +int GroupIdentifier::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _simulationAddress.getMarshalledSize(); // _simulationAddress + marshalSize = marshalSize + 2; // _groupNumber + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/GroupIdentifier.h b/cpp/DIS7/GroupIdentifier.h new file mode 100644 index 00000000..cdba8020 --- /dev/null +++ b/cpp/DIS7/GroupIdentifier.h @@ -0,0 +1,78 @@ +#ifndef GROUPIDENTIFIER_H +#define GROUPIDENTIFIER_H + +#include +#include +#include + + +namespace DIS +{ +// Unique designation of a group of entities contained in the isGroupOfPdu. Represents a group of entities rather than a single entity. Section 6.2.43 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO GroupIdentifier +{ +protected: + /** Simulation address (site and application number) */ + EntityType _simulationAddress; + + /** group number */ + unsigned short _groupNumber; + + + public: + GroupIdentifier(); + virtual ~GroupIdentifier(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityType& getSimulationAddress(); + const EntityType& getSimulationAddress() const; + void setSimulationAddress(const EntityType &pX); + + unsigned short getGroupNumber() const; + void setGroupNumber(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const GroupIdentifier& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/IFFFundamentalParameterData.cpp b/cpp/DIS7/IFFFundamentalParameterData.cpp new file mode 100644 index 00000000..dae86049 --- /dev/null +++ b/cpp/DIS7/IFFFundamentalParameterData.cpp @@ -0,0 +1,200 @@ +#include + +using namespace DIS; + + +IFFFundamentalParameterData::IFFFundamentalParameterData(): + _erp(0.0), + _frequency(0.0), + _pgrf(0.0), + _pulseWidth(0.0), + _burstLength(0), + _applicableModes(0) +{ + // Initialize fixed length array + for(int lengthsystemSpecificData= 0; lengthsystemSpecificData < 3; lengthsystemSpecificData++) + { + _systemSpecificData[lengthsystemSpecificData] = 0; + } + +} + +IFFFundamentalParameterData::~IFFFundamentalParameterData() +{ +} + +float IFFFundamentalParameterData::getErp() const +{ + return _erp; +} + +void IFFFundamentalParameterData::setErp(float pX) +{ + _erp = pX; +} + +float IFFFundamentalParameterData::getFrequency() const +{ + return _frequency; +} + +void IFFFundamentalParameterData::setFrequency(float pX) +{ + _frequency = pX; +} + +float IFFFundamentalParameterData::getPgrf() const +{ + return _pgrf; +} + +void IFFFundamentalParameterData::setPgrf(float pX) +{ + _pgrf = pX; +} + +float IFFFundamentalParameterData::getPulseWidth() const +{ + return _pulseWidth; +} + +void IFFFundamentalParameterData::setPulseWidth(float pX) +{ + _pulseWidth = pX; +} + +unsigned int IFFFundamentalParameterData::getBurstLength() const +{ + return _burstLength; +} + +void IFFFundamentalParameterData::setBurstLength(unsigned int pX) +{ + _burstLength = pX; +} + +unsigned char IFFFundamentalParameterData::getApplicableModes() const +{ + return _applicableModes; +} + +void IFFFundamentalParameterData::setApplicableModes(unsigned char pX) +{ + _applicableModes = pX; +} + +unsigned char* IFFFundamentalParameterData::getSystemSpecificData() +{ + return _systemSpecificData; +} + +const unsigned char* IFFFundamentalParameterData::getSystemSpecificData() const +{ + return _systemSpecificData; +} + +void IFFFundamentalParameterData::setSystemSpecificData(const unsigned char* x) +{ + for(int i = 0; i < 3; i++) + { + _systemSpecificData[i] = x[i]; + } +} + +void IFFFundamentalParameterData::marshal(DataStream& dataStream) const +{ + dataStream << _erp; + dataStream << _frequency; + dataStream << _pgrf; + dataStream << _pulseWidth; + dataStream << _burstLength; + dataStream << _applicableModes; + + for(size_t idx = 0; idx < 3; idx++) + { + dataStream << _systemSpecificData[idx]; + } + +} + +void IFFFundamentalParameterData::unmarshal(DataStream& dataStream) +{ + dataStream >> _erp; + dataStream >> _frequency; + dataStream >> _pgrf; + dataStream >> _pulseWidth; + dataStream >> _burstLength; + dataStream >> _applicableModes; + + for(size_t idx = 0; idx < 3; idx++) + { + dataStream >> _systemSpecificData[idx]; + } + +} + + +bool IFFFundamentalParameterData::operator ==(const IFFFundamentalParameterData& rhs) const + { + bool ivarsEqual = true; + + if( ! (_erp == rhs._erp) ) ivarsEqual = false; + if( ! (_frequency == rhs._frequency) ) ivarsEqual = false; + if( ! (_pgrf == rhs._pgrf) ) ivarsEqual = false; + if( ! (_pulseWidth == rhs._pulseWidth) ) ivarsEqual = false; + if( ! (_burstLength == rhs._burstLength) ) ivarsEqual = false; + if( ! (_applicableModes == rhs._applicableModes) ) ivarsEqual = false; + + for(unsigned char idx = 0; idx < 3; idx++) + { + if(!(_systemSpecificData[idx] == rhs._systemSpecificData[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int IFFFundamentalParameterData::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _erp + marshalSize = marshalSize + 4; // _frequency + marshalSize = marshalSize + 4; // _pgrf + marshalSize = marshalSize + 4; // _pulseWidth + marshalSize = marshalSize + 4; // _burstLength + marshalSize = marshalSize + 1; // _applicableModes + marshalSize = marshalSize + 3 * 1; // _systemSpecificData + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/IFFFundamentalParameterData.h b/cpp/DIS7/IFFFundamentalParameterData.h new file mode 100644 index 00000000..c0710b08 --- /dev/null +++ b/cpp/DIS7/IFFFundamentalParameterData.h @@ -0,0 +1,107 @@ +#ifndef IFFFUNDAMENTALPARAMETERDATA_H +#define IFFFUNDAMENTALPARAMETERDATA_H + +#include +#include + + +namespace DIS +{ +// Fundamental IFF atc data. Section 6.2.45 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO IFFFundamentalParameterData +{ +protected: + /** ERP */ + float _erp; + + /** frequency */ + float _frequency; + + /** pgrf */ + float _pgrf; + + /** Pulse width */ + float _pulseWidth; + + /** Burst length */ + unsigned int _burstLength; + + /** Applicable modes enumeration */ + unsigned char _applicableModes; + + /** System-specific data */ + unsigned char _systemSpecificData[3]; + + + public: + IFFFundamentalParameterData(); + virtual ~IFFFundamentalParameterData(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + float getErp() const; + void setErp(float pX); + + float getFrequency() const; + void setFrequency(float pX); + + float getPgrf() const; + void setPgrf(float pX); + + float getPulseWidth() const; + void setPulseWidth(float pX); + + unsigned int getBurstLength() const; + void setBurstLength(unsigned int pX); + + unsigned char getApplicableModes() const; + void setApplicableModes(unsigned char pX); + + unsigned char* getSystemSpecificData(); + const unsigned char* getSystemSpecificData() const; + void setSystemSpecificData( const unsigned char* pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const IFFFundamentalParameterData& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/IOCommunicationsNode.cpp b/cpp/DIS7/IOCommunicationsNode.cpp new file mode 100644 index 00000000..9ae5abfa --- /dev/null +++ b/cpp/DIS7/IOCommunicationsNode.cpp @@ -0,0 +1,162 @@ +#include + +using namespace DIS; + + +IOCommunicationsNode::IOCommunicationsNode(): + _recordType(5501), + _recordLength(16), + _communcationsNodeType(0), + _padding(0), + _communicationsNode(), + _elementID(0) +{ +} + +IOCommunicationsNode::~IOCommunicationsNode() +{ +} + +unsigned int IOCommunicationsNode::getRecordType() const +{ + return _recordType; +} + +void IOCommunicationsNode::setRecordType(unsigned int pX) +{ + _recordType = pX; +} + +unsigned short IOCommunicationsNode::getRecordLength() const +{ + return _recordLength; +} + +void IOCommunicationsNode::setRecordLength(unsigned short pX) +{ + _recordLength = pX; +} + +unsigned char IOCommunicationsNode::getCommuncationsNodeType() const +{ + return _communcationsNodeType; +} + +void IOCommunicationsNode::setCommuncationsNodeType(unsigned char pX) +{ + _communcationsNodeType = pX; +} + +unsigned char IOCommunicationsNode::getPadding() const +{ + return _padding; +} + +void IOCommunicationsNode::setPadding(unsigned char pX) +{ + _padding = pX; +} + +EntityID& IOCommunicationsNode::getCommunicationsNode() +{ + return _communicationsNode; +} + +const EntityID& IOCommunicationsNode::getCommunicationsNode() const +{ + return _communicationsNode; +} + +void IOCommunicationsNode::setCommunicationsNode(const EntityID &pX) +{ + _communicationsNode = pX; +} + +unsigned short IOCommunicationsNode::getElementID() const +{ + return _elementID; +} + +void IOCommunicationsNode::setElementID(unsigned short pX) +{ + _elementID = pX; +} + +void IOCommunicationsNode::marshal(DataStream& dataStream) const +{ + dataStream << _recordType; + dataStream << _recordLength; + dataStream << _communcationsNodeType; + dataStream << _padding; + _communicationsNode.marshal(dataStream); + dataStream << _elementID; +} + +void IOCommunicationsNode::unmarshal(DataStream& dataStream) +{ + dataStream >> _recordType; + dataStream >> _recordLength; + dataStream >> _communcationsNodeType; + dataStream >> _padding; + _communicationsNode.unmarshal(dataStream); + dataStream >> _elementID; +} + + +bool IOCommunicationsNode::operator ==(const IOCommunicationsNode& rhs) const + { + bool ivarsEqual = true; + + if( ! (_recordType == rhs._recordType) ) ivarsEqual = false; + if( ! (_recordLength == rhs._recordLength) ) ivarsEqual = false; + if( ! (_communcationsNodeType == rhs._communcationsNodeType) ) ivarsEqual = false; + if( ! (_padding == rhs._padding) ) ivarsEqual = false; + if( ! (_communicationsNode == rhs._communicationsNode) ) ivarsEqual = false; + if( ! (_elementID == rhs._elementID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int IOCommunicationsNode::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _recordType + marshalSize = marshalSize + 2; // _recordLength + marshalSize = marshalSize + 1; // _communcationsNodeType + marshalSize = marshalSize + 1; // _padding + marshalSize = marshalSize + _communicationsNode.getMarshalledSize(); // _communicationsNode + marshalSize = marshalSize + 2; // _elementID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/IOCommunicationsNode.h b/cpp/DIS7/IOCommunicationsNode.h new file mode 100644 index 00000000..508a37ea --- /dev/null +++ b/cpp/DIS7/IOCommunicationsNode.h @@ -0,0 +1,96 @@ +#ifndef IOCOMMUNICATIONSNODE_H +#define IOCOMMUNICATIONSNODE_H + +#include +#include +#include + + +namespace DIS +{ +// A communications node that is part of a simulted communcations network. Section 6.2.49.2 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO IOCommunicationsNode +{ +protected: + unsigned int _recordType; + + unsigned short _recordLength; + + unsigned char _communcationsNodeType; + + unsigned char _padding; + + EntityID _communicationsNode; + + unsigned short _elementID; + + + public: + IOCommunicationsNode(); + virtual ~IOCommunicationsNode(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getRecordType() const; + void setRecordType(unsigned int pX); + + unsigned short getRecordLength() const; + void setRecordLength(unsigned short pX); + + unsigned char getCommuncationsNodeType() const; + void setCommuncationsNodeType(unsigned char pX); + + unsigned char getPadding() const; + void setPadding(unsigned char pX); + + EntityID& getCommunicationsNode(); + const EntityID& getCommunicationsNode() const; + void setCommunicationsNode(const EntityID &pX); + + unsigned short getElementID() const; + void setElementID(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const IOCommunicationsNode& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/IOEffect.cpp b/cpp/DIS7/IOEffect.cpp new file mode 100644 index 00000000..adf2c815 --- /dev/null +++ b/cpp/DIS7/IOEffect.cpp @@ -0,0 +1,207 @@ +#include + +using namespace DIS; + + +IOEffect::IOEffect(): + _recordType(5500), + _recordLength(16), + _ioStatus(0), + _ioLinkType(0), + _ioEffect(), + _ioEffectDutyCycle(0), + _ioEffectDuration(0), + _ioProcess(0), + _padding(0) +{ +} + +IOEffect::~IOEffect() +{ +} + +unsigned int IOEffect::getRecordType() const +{ + return _recordType; +} + +void IOEffect::setRecordType(unsigned int pX) +{ + _recordType = pX; +} + +unsigned short IOEffect::getRecordLength() const +{ + return _recordLength; +} + +void IOEffect::setRecordLength(unsigned short pX) +{ + _recordLength = pX; +} + +unsigned char IOEffect::getIoStatus() const +{ + return _ioStatus; +} + +void IOEffect::setIoStatus(unsigned char pX) +{ + _ioStatus = pX; +} + +unsigned char IOEffect::getIoLinkType() const +{ + return _ioLinkType; +} + +void IOEffect::setIoLinkType(unsigned char pX) +{ + _ioLinkType = pX; +} + +EntityID& IOEffect::getIoEffect() +{ + return _ioEffect; +} + +const EntityID& IOEffect::getIoEffect() const +{ + return _ioEffect; +} + +void IOEffect::setIoEffect(const EntityID &pX) +{ + _ioEffect = pX; +} + +unsigned char IOEffect::getIoEffectDutyCycle() const +{ + return _ioEffectDutyCycle; +} + +void IOEffect::setIoEffectDutyCycle(unsigned char pX) +{ + _ioEffectDutyCycle = pX; +} + +unsigned short IOEffect::getIoEffectDuration() const +{ + return _ioEffectDuration; +} + +void IOEffect::setIoEffectDuration(unsigned short pX) +{ + _ioEffectDuration = pX; +} + +unsigned short IOEffect::getIoProcess() const +{ + return _ioProcess; +} + +void IOEffect::setIoProcess(unsigned short pX) +{ + _ioProcess = pX; +} + +unsigned short IOEffect::getPadding() const +{ + return _padding; +} + +void IOEffect::setPadding(unsigned short pX) +{ + _padding = pX; +} + +void IOEffect::marshal(DataStream& dataStream) const +{ + dataStream << _recordType; + dataStream << _recordLength; + dataStream << _ioStatus; + dataStream << _ioLinkType; + _ioEffect.marshal(dataStream); + dataStream << _ioEffectDutyCycle; + dataStream << _ioEffectDuration; + dataStream << _ioProcess; + dataStream << _padding; +} + +void IOEffect::unmarshal(DataStream& dataStream) +{ + dataStream >> _recordType; + dataStream >> _recordLength; + dataStream >> _ioStatus; + dataStream >> _ioLinkType; + _ioEffect.unmarshal(dataStream); + dataStream >> _ioEffectDutyCycle; + dataStream >> _ioEffectDuration; + dataStream >> _ioProcess; + dataStream >> _padding; +} + + +bool IOEffect::operator ==(const IOEffect& rhs) const + { + bool ivarsEqual = true; + + if( ! (_recordType == rhs._recordType) ) ivarsEqual = false; + if( ! (_recordLength == rhs._recordLength) ) ivarsEqual = false; + if( ! (_ioStatus == rhs._ioStatus) ) ivarsEqual = false; + if( ! (_ioLinkType == rhs._ioLinkType) ) ivarsEqual = false; + if( ! (_ioEffect == rhs._ioEffect) ) ivarsEqual = false; + if( ! (_ioEffectDutyCycle == rhs._ioEffectDutyCycle) ) ivarsEqual = false; + if( ! (_ioEffectDuration == rhs._ioEffectDuration) ) ivarsEqual = false; + if( ! (_ioProcess == rhs._ioProcess) ) ivarsEqual = false; + if( ! (_padding == rhs._padding) ) ivarsEqual = false; + + return ivarsEqual; + } + +int IOEffect::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _recordType + marshalSize = marshalSize + 2; // _recordLength + marshalSize = marshalSize + 1; // _ioStatus + marshalSize = marshalSize + 1; // _ioLinkType + marshalSize = marshalSize + _ioEffect.getMarshalledSize(); // _ioEffect + marshalSize = marshalSize + 1; // _ioEffectDutyCycle + marshalSize = marshalSize + 2; // _ioEffectDuration + marshalSize = marshalSize + 2; // _ioProcess + marshalSize = marshalSize + 2; // _padding + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/IOEffect.h b/cpp/DIS7/IOEffect.h new file mode 100644 index 00000000..40ec86f5 --- /dev/null +++ b/cpp/DIS7/IOEffect.h @@ -0,0 +1,111 @@ +#ifndef IOEFFECT_H +#define IOEFFECT_H + +#include +#include +#include + + +namespace DIS +{ +// Effect of IO on an entity. Section 6.2.49.3 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO IOEffect +{ +protected: + unsigned int _recordType; + + unsigned short _recordLength; + + unsigned char _ioStatus; + + unsigned char _ioLinkType; + + EntityID _ioEffect; + + unsigned char _ioEffectDutyCycle; + + unsigned short _ioEffectDuration; + + unsigned short _ioProcess; + + unsigned short _padding; + + + public: + IOEffect(); + virtual ~IOEffect(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getRecordType() const; + void setRecordType(unsigned int pX); + + unsigned short getRecordLength() const; + void setRecordLength(unsigned short pX); + + unsigned char getIoStatus() const; + void setIoStatus(unsigned char pX); + + unsigned char getIoLinkType() const; + void setIoLinkType(unsigned char pX); + + EntityID& getIoEffect(); + const EntityID& getIoEffect() const; + void setIoEffect(const EntityID &pX); + + unsigned char getIoEffectDutyCycle() const; + void setIoEffectDutyCycle(unsigned char pX); + + unsigned short getIoEffectDuration() const; + void setIoEffectDuration(unsigned short pX); + + unsigned short getIoProcess() const; + void setIoProcess(unsigned short pX); + + unsigned short getPadding() const; + void setPadding(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const IOEffect& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/IffDataSpecification.cpp b/cpp/DIS7/IffDataSpecification.cpp new file mode 100644 index 00000000..b43b57c1 --- /dev/null +++ b/cpp/DIS7/IffDataSpecification.cpp @@ -0,0 +1,87 @@ +#include + +using namespace DIS; + + +IffDataSpecification::IffDataSpecification(): + _numberOfIffDataRecords() +{ +} + +IffDataSpecification::~IffDataSpecification() +{ +} + +EntityType& IffDataSpecification::getNumberOfIffDataRecords() +{ + return _numberOfIffDataRecords; +} + +const EntityType& IffDataSpecification::getNumberOfIffDataRecords() const +{ + return _numberOfIffDataRecords; +} + +void IffDataSpecification::setNumberOfIffDataRecords(const EntityType &pX) +{ + _numberOfIffDataRecords = pX; +} + +void IffDataSpecification::marshal(DataStream& dataStream) const +{ + _numberOfIffDataRecords.marshal(dataStream); +} + +void IffDataSpecification::unmarshal(DataStream& dataStream) +{ + _numberOfIffDataRecords.unmarshal(dataStream); +} + + +bool IffDataSpecification::operator ==(const IffDataSpecification& rhs) const + { + bool ivarsEqual = true; + + if( ! (_numberOfIffDataRecords == rhs._numberOfIffDataRecords) ) ivarsEqual = false; + + return ivarsEqual; + } + +int IffDataSpecification::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _numberOfIffDataRecords.getMarshalledSize(); // _numberOfIffDataRecords + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/IffDataSpecification.h b/cpp/DIS7/IffDataSpecification.h new file mode 100644 index 00000000..7f9f9e25 --- /dev/null +++ b/cpp/DIS7/IffDataSpecification.h @@ -0,0 +1,72 @@ +#ifndef IFFDATASPECIFICATION_H +#define IFFDATASPECIFICATION_H + +#include +#include +#include + + +namespace DIS +{ +// Requires hand coding to be useful. Section 6.2.44 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO IffDataSpecification +{ +protected: + /** Number of iff records */ + EntityType _numberOfIffDataRecords; + + + public: + IffDataSpecification(); + virtual ~IffDataSpecification(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityType& getNumberOfIffDataRecords(); + const EntityType& getNumberOfIffDataRecords() const; + void setNumberOfIffDataRecords(const EntityType &pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const IffDataSpecification& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/IntercomCommunicationsParameters.cpp b/cpp/DIS7/IntercomCommunicationsParameters.cpp new file mode 100644 index 00000000..8161c064 --- /dev/null +++ b/cpp/DIS7/IntercomCommunicationsParameters.cpp @@ -0,0 +1,112 @@ +#include + +using namespace DIS; + + +IntercomCommunicationsParameters::IntercomCommunicationsParameters(): + _recordType(0), + _recordLength(0), + _recordSpecificField(0) +{ +} + +IntercomCommunicationsParameters::~IntercomCommunicationsParameters() +{ +} + +unsigned short IntercomCommunicationsParameters::getRecordType() const +{ + return _recordType; +} + +void IntercomCommunicationsParameters::setRecordType(unsigned short pX) +{ + _recordType = pX; +} + +unsigned short IntercomCommunicationsParameters::getRecordLength() const +{ + return _recordLength; +} + +void IntercomCommunicationsParameters::setRecordLength(unsigned short pX) +{ + _recordLength = pX; +} + +unsigned int IntercomCommunicationsParameters::getRecordSpecificField() const +{ + return _recordSpecificField; +} + +void IntercomCommunicationsParameters::setRecordSpecificField(unsigned int pX) +{ + _recordSpecificField = pX; +} + +void IntercomCommunicationsParameters::marshal(DataStream& dataStream) const +{ + dataStream << _recordType; + dataStream << _recordLength; + dataStream << _recordSpecificField; +} + +void IntercomCommunicationsParameters::unmarshal(DataStream& dataStream) +{ + dataStream >> _recordType; + dataStream >> _recordLength; + dataStream >> _recordSpecificField; +} + + +bool IntercomCommunicationsParameters::operator ==(const IntercomCommunicationsParameters& rhs) const + { + bool ivarsEqual = true; + + if( ! (_recordType == rhs._recordType) ) ivarsEqual = false; + if( ! (_recordLength == rhs._recordLength) ) ivarsEqual = false; + if( ! (_recordSpecificField == rhs._recordSpecificField) ) ivarsEqual = false; + + return ivarsEqual; + } + +int IntercomCommunicationsParameters::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2; // _recordType + marshalSize = marshalSize + 2; // _recordLength + marshalSize = marshalSize + 4; // _recordSpecificField + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/IntercomCommunicationsParameters.h b/cpp/DIS7/IntercomCommunicationsParameters.h new file mode 100644 index 00000000..a2708496 --- /dev/null +++ b/cpp/DIS7/IntercomCommunicationsParameters.h @@ -0,0 +1,82 @@ +#ifndef INTERCOMCOMMUNICATIONSPARAMETERS_H +#define INTERCOMCOMMUNICATIONSPARAMETERS_H + +#include +#include + + +namespace DIS +{ +// Intercom communcations parameters. Section 6.2.47. This requires hand coding + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO IntercomCommunicationsParameters +{ +protected: + /** Type of intercom parameters record */ + unsigned short _recordType; + + /** length of record */ + unsigned short _recordLength; + + /** This is a placeholder. */ + unsigned int _recordSpecificField; + + + public: + IntercomCommunicationsParameters(); + virtual ~IntercomCommunicationsParameters(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getRecordType() const; + void setRecordType(unsigned short pX); + + unsigned short getRecordLength() const; + void setRecordLength(unsigned short pX); + + unsigned int getRecordSpecificField() const; + void setRecordSpecificField(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const IntercomCommunicationsParameters& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/IntercomIdentifier.cpp b/cpp/DIS7/IntercomIdentifier.cpp new file mode 100644 index 00000000..02f02b26 --- /dev/null +++ b/cpp/DIS7/IntercomIdentifier.cpp @@ -0,0 +1,127 @@ +#include + +using namespace DIS; + + +IntercomIdentifier::IntercomIdentifier(): + _siteNumber(0), + _applicationNumber(0), + _referenceNumber(0), + _intercomNumber(0) +{ +} + +IntercomIdentifier::~IntercomIdentifier() +{ +} + +unsigned short IntercomIdentifier::getSiteNumber() const +{ + return _siteNumber; +} + +void IntercomIdentifier::setSiteNumber(unsigned short pX) +{ + _siteNumber = pX; +} + +unsigned short IntercomIdentifier::getApplicationNumber() const +{ + return _applicationNumber; +} + +void IntercomIdentifier::setApplicationNumber(unsigned short pX) +{ + _applicationNumber = pX; +} + +unsigned short IntercomIdentifier::getReferenceNumber() const +{ + return _referenceNumber; +} + +void IntercomIdentifier::setReferenceNumber(unsigned short pX) +{ + _referenceNumber = pX; +} + +unsigned short IntercomIdentifier::getIntercomNumber() const +{ + return _intercomNumber; +} + +void IntercomIdentifier::setIntercomNumber(unsigned short pX) +{ + _intercomNumber = pX; +} + +void IntercomIdentifier::marshal(DataStream& dataStream) const +{ + dataStream << _siteNumber; + dataStream << _applicationNumber; + dataStream << _referenceNumber; + dataStream << _intercomNumber; +} + +void IntercomIdentifier::unmarshal(DataStream& dataStream) +{ + dataStream >> _siteNumber; + dataStream >> _applicationNumber; + dataStream >> _referenceNumber; + dataStream >> _intercomNumber; +} + + +bool IntercomIdentifier::operator ==(const IntercomIdentifier& rhs) const + { + bool ivarsEqual = true; + + if( ! (_siteNumber == rhs._siteNumber) ) ivarsEqual = false; + if( ! (_applicationNumber == rhs._applicationNumber) ) ivarsEqual = false; + if( ! (_referenceNumber == rhs._referenceNumber) ) ivarsEqual = false; + if( ! (_intercomNumber == rhs._intercomNumber) ) ivarsEqual = false; + + return ivarsEqual; + } + +int IntercomIdentifier::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2; // _siteNumber + marshalSize = marshalSize + 2; // _applicationNumber + marshalSize = marshalSize + 2; // _referenceNumber + marshalSize = marshalSize + 2; // _intercomNumber + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/IntercomIdentifier.h b/cpp/DIS7/IntercomIdentifier.h new file mode 100644 index 00000000..ed4a69f9 --- /dev/null +++ b/cpp/DIS7/IntercomIdentifier.h @@ -0,0 +1,84 @@ +#ifndef INTERCOMIDENTIFIER_H +#define INTERCOMIDENTIFIER_H + +#include +#include + + +namespace DIS +{ +// Unique designation of an attached or unattached intercom in an event or exercirse. Section 6.2.48 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO IntercomIdentifier +{ +protected: + unsigned short _siteNumber; + + unsigned short _applicationNumber; + + unsigned short _referenceNumber; + + unsigned short _intercomNumber; + + + public: + IntercomIdentifier(); + virtual ~IntercomIdentifier(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getSiteNumber() const; + void setSiteNumber(unsigned short pX); + + unsigned short getApplicationNumber() const; + void setApplicationNumber(unsigned short pX); + + unsigned short getReferenceNumber() const; + void setReferenceNumber(unsigned short pX); + + unsigned short getIntercomNumber() const; + void setIntercomNumber(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const IntercomIdentifier& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/IntercomSignalPdu.cpp b/cpp/DIS7/IntercomSignalPdu.cpp new file mode 100644 index 00000000..18978c6d --- /dev/null +++ b/cpp/DIS7/IntercomSignalPdu.cpp @@ -0,0 +1,221 @@ +#include + +using namespace DIS; + + +IntercomSignalPdu::IntercomSignalPdu() : RadioCommunicationsFamilyPdu(), + _entityID(), + _communicationsDeviceID(0), + _encodingScheme(0), + _tdlType(0), + _sampleRate(0), + _dataLength(0), + _samples(0) +{ + setPduType( 31 ); +} + +IntercomSignalPdu::~IntercomSignalPdu() +{ + _data.clear(); +} + +EntityID& IntercomSignalPdu::getEntityID() +{ + return _entityID; +} + +const EntityID& IntercomSignalPdu::getEntityID() const +{ + return _entityID; +} + +void IntercomSignalPdu::setEntityID(const EntityID &pX) +{ + _entityID = pX; +} + +unsigned short IntercomSignalPdu::getCommunicationsDeviceID() const +{ + return _communicationsDeviceID; +} + +void IntercomSignalPdu::setCommunicationsDeviceID(unsigned short pX) +{ + _communicationsDeviceID = pX; +} + +unsigned short IntercomSignalPdu::getEncodingScheme() const +{ + return _encodingScheme; +} + +void IntercomSignalPdu::setEncodingScheme(unsigned short pX) +{ + _encodingScheme = pX; +} + +unsigned short IntercomSignalPdu::getTdlType() const +{ + return _tdlType; +} + +void IntercomSignalPdu::setTdlType(unsigned short pX) +{ + _tdlType = pX; +} + +unsigned int IntercomSignalPdu::getSampleRate() const +{ + return _sampleRate; +} + +void IntercomSignalPdu::setSampleRate(unsigned int pX) +{ + _sampleRate = pX; +} + +unsigned short IntercomSignalPdu::getDataLength() const +{ + return _data.size(); +} + +unsigned short IntercomSignalPdu::getSamples() const +{ + return _samples; +} + +void IntercomSignalPdu::setSamples(unsigned short pX) +{ + _samples = pX; +} + +std::vector& IntercomSignalPdu::getData() +{ + return _data; +} + +const std::vector& IntercomSignalPdu::getData() const +{ + return _data; +} + +void IntercomSignalPdu::setData(const std::vector& pX) +{ + _data = pX; +} + +void IntercomSignalPdu::marshal(DataStream& dataStream) const +{ + RadioCommunicationsFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _entityID.marshal(dataStream); + dataStream << _communicationsDeviceID; + dataStream << _encodingScheme; + dataStream << _tdlType; + dataStream << _sampleRate; + dataStream << ( unsigned short )_data.size(); + dataStream << _samples; + + for(size_t idx = 0; idx < _data.size(); idx++) + { + OneByteChunk x = _data[idx]; + x.marshal(dataStream); + } + +} + +void IntercomSignalPdu::unmarshal(DataStream& dataStream) +{ + RadioCommunicationsFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _entityID.unmarshal(dataStream); + dataStream >> _communicationsDeviceID; + dataStream >> _encodingScheme; + dataStream >> _tdlType; + dataStream >> _sampleRate; + dataStream >> _dataLength; + dataStream >> _samples; + + _data.clear(); + for(size_t idx = 0; idx < _dataLength; idx++) + { + OneByteChunk x; + x.unmarshal(dataStream); + _data.push_back(x); + } +} + + +bool IntercomSignalPdu::operator ==(const IntercomSignalPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = RadioCommunicationsFamilyPdu::operator==(rhs); + + if( ! (_entityID == rhs._entityID) ) ivarsEqual = false; + if( ! (_communicationsDeviceID == rhs._communicationsDeviceID) ) ivarsEqual = false; + if( ! (_encodingScheme == rhs._encodingScheme) ) ivarsEqual = false; + if( ! (_tdlType == rhs._tdlType) ) ivarsEqual = false; + if( ! (_sampleRate == rhs._sampleRate) ) ivarsEqual = false; + if( ! (_samples == rhs._samples) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _data.size(); idx++) + { + if( ! ( _data[idx] == rhs._data[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int IntercomSignalPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = RadioCommunicationsFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _entityID.getMarshalledSize(); // _entityID + marshalSize = marshalSize + 2; // _communicationsDeviceID + marshalSize = marshalSize + 2; // _encodingScheme + marshalSize = marshalSize + 2; // _tdlType + marshalSize = marshalSize + 4; // _sampleRate + marshalSize = marshalSize + 2; // _dataLength + marshalSize = marshalSize + 2; // _samples + + for(int idx=0; idx < _data.size(); idx++) + { + OneByteChunk listElement = _data[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/IntercomSignalPdu.h b/cpp/DIS7/IntercomSignalPdu.h new file mode 100644 index 00000000..5e7673aa --- /dev/null +++ b/cpp/DIS7/IntercomSignalPdu.h @@ -0,0 +1,117 @@ +#ifndef INTERCOMSIGNALPDU_H +#define INTERCOMSIGNALPDU_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Actual transmission of intercome voice data. Section 7.7.5. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO IntercomSignalPdu : public RadioCommunicationsFamilyPdu +{ +protected: + /** entity ID */ + EntityID _entityID; + + /** ID of communications device */ + unsigned short _communicationsDeviceID; + + /** encoding scheme */ + unsigned short _encodingScheme; + + /** tactical data link type */ + unsigned short _tdlType; + + /** sample rate */ + unsigned int _sampleRate; + + /** data length */ + unsigned short _dataLength; + + /** samples */ + unsigned short _samples; + + /** data bytes */ + std::vector _data; + + + public: + IntercomSignalPdu(); + virtual ~IntercomSignalPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getEntityID(); + const EntityID& getEntityID() const; + void setEntityID(const EntityID &pX); + + unsigned short getCommunicationsDeviceID() const; + void setCommunicationsDeviceID(unsigned short pX); + + unsigned short getEncodingScheme() const; + void setEncodingScheme(unsigned short pX); + + unsigned short getTdlType() const; + void setTdlType(unsigned short pX); + + unsigned int getSampleRate() const; + void setSampleRate(unsigned int pX); + + unsigned short getDataLength() const; + + unsigned short getSamples() const; + void setSamples(unsigned short pX); + + std::vector& getData(); + const std::vector& getData() const; + void setData(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const IntercomSignalPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/IsPartOfPdu.cpp b/cpp/DIS7/IsPartOfPdu.cpp new file mode 100644 index 00000000..ae5645e7 --- /dev/null +++ b/cpp/DIS7/IsPartOfPdu.cpp @@ -0,0 +1,193 @@ +#include + +using namespace DIS; + + +IsPartOfPdu::IsPartOfPdu() : EntityManagementFamilyPdu(), + _orginatingEntityID(), + _receivingEntityID(), + _relationship(), + _partLocation(), + _namedLocationID(), + _partEntityType() +{ + setPduType( 36 ); +} + +IsPartOfPdu::~IsPartOfPdu() +{ +} + +EntityID& IsPartOfPdu::getOrginatingEntityID() +{ + return _orginatingEntityID; +} + +const EntityID& IsPartOfPdu::getOrginatingEntityID() const +{ + return _orginatingEntityID; +} + +void IsPartOfPdu::setOrginatingEntityID(const EntityID &pX) +{ + _orginatingEntityID = pX; +} + +EntityID& IsPartOfPdu::getReceivingEntityID() +{ + return _receivingEntityID; +} + +const EntityID& IsPartOfPdu::getReceivingEntityID() const +{ + return _receivingEntityID; +} + +void IsPartOfPdu::setReceivingEntityID(const EntityID &pX) +{ + _receivingEntityID = pX; +} + +Relationship& IsPartOfPdu::getRelationship() +{ + return _relationship; +} + +const Relationship& IsPartOfPdu::getRelationship() const +{ + return _relationship; +} + +void IsPartOfPdu::setRelationship(const Relationship &pX) +{ + _relationship = pX; +} + +Vector3Float& IsPartOfPdu::getPartLocation() +{ + return _partLocation; +} + +const Vector3Float& IsPartOfPdu::getPartLocation() const +{ + return _partLocation; +} + +void IsPartOfPdu::setPartLocation(const Vector3Float &pX) +{ + _partLocation = pX; +} + +NamedLocationIdentification& IsPartOfPdu::getNamedLocationID() +{ + return _namedLocationID; +} + +const NamedLocationIdentification& IsPartOfPdu::getNamedLocationID() const +{ + return _namedLocationID; +} + +void IsPartOfPdu::setNamedLocationID(const NamedLocationIdentification &pX) +{ + _namedLocationID = pX; +} + +EntityType& IsPartOfPdu::getPartEntityType() +{ + return _partEntityType; +} + +const EntityType& IsPartOfPdu::getPartEntityType() const +{ + return _partEntityType; +} + +void IsPartOfPdu::setPartEntityType(const EntityType &pX) +{ + _partEntityType = pX; +} + +void IsPartOfPdu::marshal(DataStream& dataStream) const +{ + EntityManagementFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _orginatingEntityID.marshal(dataStream); + _receivingEntityID.marshal(dataStream); + _relationship.marshal(dataStream); + _partLocation.marshal(dataStream); + _namedLocationID.marshal(dataStream); + _partEntityType.marshal(dataStream); +} + +void IsPartOfPdu::unmarshal(DataStream& dataStream) +{ + EntityManagementFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _orginatingEntityID.unmarshal(dataStream); + _receivingEntityID.unmarshal(dataStream); + _relationship.unmarshal(dataStream); + _partLocation.unmarshal(dataStream); + _namedLocationID.unmarshal(dataStream); + _partEntityType.unmarshal(dataStream); +} + + +bool IsPartOfPdu::operator ==(const IsPartOfPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = EntityManagementFamilyPdu::operator==(rhs); + + if( ! (_orginatingEntityID == rhs._orginatingEntityID) ) ivarsEqual = false; + if( ! (_receivingEntityID == rhs._receivingEntityID) ) ivarsEqual = false; + if( ! (_relationship == rhs._relationship) ) ivarsEqual = false; + if( ! (_partLocation == rhs._partLocation) ) ivarsEqual = false; + if( ! (_namedLocationID == rhs._namedLocationID) ) ivarsEqual = false; + if( ! (_partEntityType == rhs._partEntityType) ) ivarsEqual = false; + + return ivarsEqual; + } + +int IsPartOfPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = EntityManagementFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _orginatingEntityID.getMarshalledSize(); // _orginatingEntityID + marshalSize = marshalSize + _receivingEntityID.getMarshalledSize(); // _receivingEntityID + marshalSize = marshalSize + _relationship.getMarshalledSize(); // _relationship + marshalSize = marshalSize + _partLocation.getMarshalledSize(); // _partLocation + marshalSize = marshalSize + _namedLocationID.getMarshalledSize(); // _namedLocationID + marshalSize = marshalSize + _partEntityType.getMarshalledSize(); // _partEntityType + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/IsPartOfPdu.h b/cpp/DIS7/IsPartOfPdu.h new file mode 100644 index 00000000..e69187ce --- /dev/null +++ b/cpp/DIS7/IsPartOfPdu.h @@ -0,0 +1,113 @@ +#ifndef ISPARTOFPDU_H +#define ISPARTOFPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// The joining of two or more simulation entities is communicated by this PDU. Section 7.8.5 COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO IsPartOfPdu : public EntityManagementFamilyPdu +{ +protected: + /** ID of entity originating PDU */ + EntityID _orginatingEntityID; + + /** ID of entity receiving PDU */ + EntityID _receivingEntityID; + + /** relationship of joined parts */ + Relationship _relationship; + + /** location of part; centroid of part in host's coordinate system. x=range, y=bearing, z=0 */ + Vector3Float _partLocation; + + /** named location */ + NamedLocationIdentification _namedLocationID; + + /** entity type */ + EntityType _partEntityType; + + + public: + IsPartOfPdu(); + virtual ~IsPartOfPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getOrginatingEntityID(); + const EntityID& getOrginatingEntityID() const; + void setOrginatingEntityID(const EntityID &pX); + + EntityID& getReceivingEntityID(); + const EntityID& getReceivingEntityID() const; + void setReceivingEntityID(const EntityID &pX); + + Relationship& getRelationship(); + const Relationship& getRelationship() const; + void setRelationship(const Relationship &pX); + + Vector3Float& getPartLocation(); + const Vector3Float& getPartLocation() const; + void setPartLocation(const Vector3Float &pX); + + NamedLocationIdentification& getNamedLocationID(); + const NamedLocationIdentification& getNamedLocationID() const; + void setNamedLocationID(const NamedLocationIdentification &pX); + + EntityType& getPartEntityType(); + const EntityType& getPartEntityType() const; + void setPartEntityType(const EntityType &pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const IsPartOfPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/JammingTechnique.cpp b/cpp/DIS7/JammingTechnique.cpp new file mode 100644 index 00000000..479fca10 --- /dev/null +++ b/cpp/DIS7/JammingTechnique.cpp @@ -0,0 +1,127 @@ +#include + +using namespace DIS; + + +JammingTechnique::JammingTechnique(): + _kind(0), + _category(0), + _subcategory(0), + _specific(0) +{ +} + +JammingTechnique::~JammingTechnique() +{ +} + +unsigned char JammingTechnique::getKind() const +{ + return _kind; +} + +void JammingTechnique::setKind(unsigned char pX) +{ + _kind = pX; +} + +unsigned char JammingTechnique::getCategory() const +{ + return _category; +} + +void JammingTechnique::setCategory(unsigned char pX) +{ + _category = pX; +} + +unsigned char JammingTechnique::getSubcategory() const +{ + return _subcategory; +} + +void JammingTechnique::setSubcategory(unsigned char pX) +{ + _subcategory = pX; +} + +unsigned char JammingTechnique::getSpecific() const +{ + return _specific; +} + +void JammingTechnique::setSpecific(unsigned char pX) +{ + _specific = pX; +} + +void JammingTechnique::marshal(DataStream& dataStream) const +{ + dataStream << _kind; + dataStream << _category; + dataStream << _subcategory; + dataStream << _specific; +} + +void JammingTechnique::unmarshal(DataStream& dataStream) +{ + dataStream >> _kind; + dataStream >> _category; + dataStream >> _subcategory; + dataStream >> _specific; +} + + +bool JammingTechnique::operator ==(const JammingTechnique& rhs) const + { + bool ivarsEqual = true; + + if( ! (_kind == rhs._kind) ) ivarsEqual = false; + if( ! (_category == rhs._category) ) ivarsEqual = false; + if( ! (_subcategory == rhs._subcategory) ) ivarsEqual = false; + if( ! (_specific == rhs._specific) ) ivarsEqual = false; + + return ivarsEqual; + } + +int JammingTechnique::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _kind + marshalSize = marshalSize + 1; // _category + marshalSize = marshalSize + 1; // _subcategory + marshalSize = marshalSize + 1; // _specific + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/JammingTechnique.h b/cpp/DIS7/JammingTechnique.h new file mode 100644 index 00000000..c8fafacb --- /dev/null +++ b/cpp/DIS7/JammingTechnique.h @@ -0,0 +1,84 @@ +#ifndef JAMMINGTECHNIQUE_H +#define JAMMINGTECHNIQUE_H + +#include +#include + + +namespace DIS +{ +// Jamming technique. Section 6.2.50 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO JammingTechnique +{ +protected: + unsigned char _kind; + + unsigned char _category; + + unsigned char _subcategory; + + unsigned char _specific; + + + public: + JammingTechnique(); + virtual ~JammingTechnique(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getKind() const; + void setKind(unsigned char pX); + + unsigned char getCategory() const; + void setCategory(unsigned char pX); + + unsigned char getSubcategory() const; + void setSubcategory(unsigned char pX); + + unsigned char getSpecific() const; + void setSpecific(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const JammingTechnique& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/LaunchedMunitionRecord.cpp b/cpp/DIS7/LaunchedMunitionRecord.cpp new file mode 100644 index 00000000..b335fcea --- /dev/null +++ b/cpp/DIS7/LaunchedMunitionRecord.cpp @@ -0,0 +1,192 @@ +#include + +using namespace DIS; + + +LaunchedMunitionRecord::LaunchedMunitionRecord(): + _fireEventID(), + _padding(0), + _firingEntityID(), + _padding2(0), + _targetEntityID(), + _padding3(0), + _targetLocation() +{ +} + +LaunchedMunitionRecord::~LaunchedMunitionRecord() +{ +} + +EventIdentifier& LaunchedMunitionRecord::getFireEventID() +{ + return _fireEventID; +} + +const EventIdentifier& LaunchedMunitionRecord::getFireEventID() const +{ + return _fireEventID; +} + +void LaunchedMunitionRecord::setFireEventID(const EventIdentifier &pX) +{ + _fireEventID = pX; +} + +unsigned short LaunchedMunitionRecord::getPadding() const +{ + return _padding; +} + +void LaunchedMunitionRecord::setPadding(unsigned short pX) +{ + _padding = pX; +} + +EventIdentifier& LaunchedMunitionRecord::getFiringEntityID() +{ + return _firingEntityID; +} + +const EventIdentifier& LaunchedMunitionRecord::getFiringEntityID() const +{ + return _firingEntityID; +} + +void LaunchedMunitionRecord::setFiringEntityID(const EventIdentifier &pX) +{ + _firingEntityID = pX; +} + +unsigned short LaunchedMunitionRecord::getPadding2() const +{ + return _padding2; +} + +void LaunchedMunitionRecord::setPadding2(unsigned short pX) +{ + _padding2 = pX; +} + +EventIdentifier& LaunchedMunitionRecord::getTargetEntityID() +{ + return _targetEntityID; +} + +const EventIdentifier& LaunchedMunitionRecord::getTargetEntityID() const +{ + return _targetEntityID; +} + +void LaunchedMunitionRecord::setTargetEntityID(const EventIdentifier &pX) +{ + _targetEntityID = pX; +} + +unsigned short LaunchedMunitionRecord::getPadding3() const +{ + return _padding3; +} + +void LaunchedMunitionRecord::setPadding3(unsigned short pX) +{ + _padding3 = pX; +} + +Vector3Double& LaunchedMunitionRecord::getTargetLocation() +{ + return _targetLocation; +} + +const Vector3Double& LaunchedMunitionRecord::getTargetLocation() const +{ + return _targetLocation; +} + +void LaunchedMunitionRecord::setTargetLocation(const Vector3Double &pX) +{ + _targetLocation = pX; +} + +void LaunchedMunitionRecord::marshal(DataStream& dataStream) const +{ + _fireEventID.marshal(dataStream); + dataStream << _padding; + _firingEntityID.marshal(dataStream); + dataStream << _padding2; + _targetEntityID.marshal(dataStream); + dataStream << _padding3; + _targetLocation.marshal(dataStream); +} + +void LaunchedMunitionRecord::unmarshal(DataStream& dataStream) +{ + _fireEventID.unmarshal(dataStream); + dataStream >> _padding; + _firingEntityID.unmarshal(dataStream); + dataStream >> _padding2; + _targetEntityID.unmarshal(dataStream); + dataStream >> _padding3; + _targetLocation.unmarshal(dataStream); +} + + +bool LaunchedMunitionRecord::operator ==(const LaunchedMunitionRecord& rhs) const + { + bool ivarsEqual = true; + + if( ! (_fireEventID == rhs._fireEventID) ) ivarsEqual = false; + if( ! (_padding == rhs._padding) ) ivarsEqual = false; + if( ! (_firingEntityID == rhs._firingEntityID) ) ivarsEqual = false; + if( ! (_padding2 == rhs._padding2) ) ivarsEqual = false; + if( ! (_targetEntityID == rhs._targetEntityID) ) ivarsEqual = false; + if( ! (_padding3 == rhs._padding3) ) ivarsEqual = false; + if( ! (_targetLocation == rhs._targetLocation) ) ivarsEqual = false; + + return ivarsEqual; + } + +int LaunchedMunitionRecord::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _fireEventID.getMarshalledSize(); // _fireEventID + marshalSize = marshalSize + 2; // _padding + marshalSize = marshalSize + _firingEntityID.getMarshalledSize(); // _firingEntityID + marshalSize = marshalSize + 2; // _padding2 + marshalSize = marshalSize + _targetEntityID.getMarshalledSize(); // _targetEntityID + marshalSize = marshalSize + 2; // _padding3 + marshalSize = marshalSize + _targetLocation.getMarshalledSize(); // _targetLocation + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/LaunchedMunitionRecord.h b/cpp/DIS7/LaunchedMunitionRecord.h new file mode 100644 index 00000000..78b6a1ca --- /dev/null +++ b/cpp/DIS7/LaunchedMunitionRecord.h @@ -0,0 +1,107 @@ +#ifndef LAUNCHEDMUNITIONRECORD_H +#define LAUNCHEDMUNITIONRECORD_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Identity of a communications node. Section 6.2.51 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO LaunchedMunitionRecord +{ +protected: + EventIdentifier _fireEventID; + + unsigned short _padding; + + EventIdentifier _firingEntityID; + + unsigned short _padding2; + + EventIdentifier _targetEntityID; + + unsigned short _padding3; + + Vector3Double _targetLocation; + + + public: + LaunchedMunitionRecord(); + virtual ~LaunchedMunitionRecord(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EventIdentifier& getFireEventID(); + const EventIdentifier& getFireEventID() const; + void setFireEventID(const EventIdentifier &pX); + + unsigned short getPadding() const; + void setPadding(unsigned short pX); + + EventIdentifier& getFiringEntityID(); + const EventIdentifier& getFiringEntityID() const; + void setFiringEntityID(const EventIdentifier &pX); + + unsigned short getPadding2() const; + void setPadding2(unsigned short pX); + + EventIdentifier& getTargetEntityID(); + const EventIdentifier& getTargetEntityID() const; + void setTargetEntityID(const EventIdentifier &pX); + + unsigned short getPadding3() const; + void setPadding3(unsigned short pX); + + Vector3Double& getTargetLocation(); + const Vector3Double& getTargetLocation() const; + void setTargetLocation(const Vector3Double &pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const LaunchedMunitionRecord& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/LayerHeader.cpp b/cpp/DIS7/LayerHeader.cpp new file mode 100644 index 00000000..65721b62 --- /dev/null +++ b/cpp/DIS7/LayerHeader.cpp @@ -0,0 +1,112 @@ +#include + +using namespace DIS; + + +LayerHeader::LayerHeader(): + _layerNumber(0), + _layerSpecificInformation(0), + _length(0) +{ +} + +LayerHeader::~LayerHeader() +{ +} + +unsigned char LayerHeader::getLayerNumber() const +{ + return _layerNumber; +} + +void LayerHeader::setLayerNumber(unsigned char pX) +{ + _layerNumber = pX; +} + +unsigned char LayerHeader::getLayerSpecificInformation() const +{ + return _layerSpecificInformation; +} + +void LayerHeader::setLayerSpecificInformation(unsigned char pX) +{ + _layerSpecificInformation = pX; +} + +unsigned short LayerHeader::getLength() const +{ + return _length; +} + +void LayerHeader::setLength(unsigned short pX) +{ + _length = pX; +} + +void LayerHeader::marshal(DataStream& dataStream) const +{ + dataStream << _layerNumber; + dataStream << _layerSpecificInformation; + dataStream << _length; +} + +void LayerHeader::unmarshal(DataStream& dataStream) +{ + dataStream >> _layerNumber; + dataStream >> _layerSpecificInformation; + dataStream >> _length; +} + + +bool LayerHeader::operator ==(const LayerHeader& rhs) const + { + bool ivarsEqual = true; + + if( ! (_layerNumber == rhs._layerNumber) ) ivarsEqual = false; + if( ! (_layerSpecificInformation == rhs._layerSpecificInformation) ) ivarsEqual = false; + if( ! (_length == rhs._length) ) ivarsEqual = false; + + return ivarsEqual; + } + +int LayerHeader::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _layerNumber + marshalSize = marshalSize + 1; // _layerSpecificInformation + marshalSize = marshalSize + 2; // _length + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/LayerHeader.h b/cpp/DIS7/LayerHeader.h new file mode 100644 index 00000000..f758a2c3 --- /dev/null +++ b/cpp/DIS7/LayerHeader.h @@ -0,0 +1,81 @@ +#ifndef LAYERHEADER_H +#define LAYERHEADER_H + +#include +#include + + +namespace DIS +{ +// The identification of the additional information layer number, layer-specific information, and the length of the layer. Section 6.2.52 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO LayerHeader +{ +protected: + unsigned char _layerNumber; + + /** field shall specify layer-specific information that varies by System Type (see 6.2.86) and Layer Number. */ + unsigned char _layerSpecificInformation; + + /** This field shall specify the length in octets of the layer, including the Layer Header record */ + unsigned short _length; + + + public: + LayerHeader(); + virtual ~LayerHeader(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getLayerNumber() const; + void setLayerNumber(unsigned char pX); + + unsigned char getLayerSpecificInformation() const; + void setLayerSpecificInformation(unsigned char pX); + + unsigned short getLength() const; + void setLength(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const LayerHeader& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/LinearObjectStatePdu.cpp b/cpp/DIS7/LinearObjectStatePdu.cpp new file mode 100644 index 00000000..9b9510c3 --- /dev/null +++ b/cpp/DIS7/LinearObjectStatePdu.cpp @@ -0,0 +1,256 @@ +#include + +using namespace DIS; + + +LinearObjectStatePdu::LinearObjectStatePdu() : SyntheticEnvironmentFamilyPdu(), + _objectID(), + _referencedObjectID(), + _updateNumber(0), + _forceID(0), + _numberOfSegments(0), + _requesterID(), + _receivingID(), + _objectType() +{ + setPduType( 44 ); +} + +LinearObjectStatePdu::~LinearObjectStatePdu() +{ + _linearSegmentParameters.clear(); +} + +EntityID& LinearObjectStatePdu::getObjectID() +{ + return _objectID; +} + +const EntityID& LinearObjectStatePdu::getObjectID() const +{ + return _objectID; +} + +void LinearObjectStatePdu::setObjectID(const EntityID &pX) +{ + _objectID = pX; +} + +EntityID& LinearObjectStatePdu::getReferencedObjectID() +{ + return _referencedObjectID; +} + +const EntityID& LinearObjectStatePdu::getReferencedObjectID() const +{ + return _referencedObjectID; +} + +void LinearObjectStatePdu::setReferencedObjectID(const EntityID &pX) +{ + _referencedObjectID = pX; +} + +unsigned short LinearObjectStatePdu::getUpdateNumber() const +{ + return _updateNumber; +} + +void LinearObjectStatePdu::setUpdateNumber(unsigned short pX) +{ + _updateNumber = pX; +} + +unsigned char LinearObjectStatePdu::getForceID() const +{ + return _forceID; +} + +void LinearObjectStatePdu::setForceID(unsigned char pX) +{ + _forceID = pX; +} + +unsigned char LinearObjectStatePdu::getNumberOfSegments() const +{ + return _linearSegmentParameters.size(); +} + +SimulationAddress& LinearObjectStatePdu::getRequesterID() +{ + return _requesterID; +} + +const SimulationAddress& LinearObjectStatePdu::getRequesterID() const +{ + return _requesterID; +} + +void LinearObjectStatePdu::setRequesterID(const SimulationAddress &pX) +{ + _requesterID = pX; +} + +SimulationAddress& LinearObjectStatePdu::getReceivingID() +{ + return _receivingID; +} + +const SimulationAddress& LinearObjectStatePdu::getReceivingID() const +{ + return _receivingID; +} + +void LinearObjectStatePdu::setReceivingID(const SimulationAddress &pX) +{ + _receivingID = pX; +} + +ObjectType& LinearObjectStatePdu::getObjectType() +{ + return _objectType; +} + +const ObjectType& LinearObjectStatePdu::getObjectType() const +{ + return _objectType; +} + +void LinearObjectStatePdu::setObjectType(const ObjectType &pX) +{ + _objectType = pX; +} + +std::vector& LinearObjectStatePdu::getLinearSegmentParameters() +{ + return _linearSegmentParameters; +} + +const std::vector& LinearObjectStatePdu::getLinearSegmentParameters() const +{ + return _linearSegmentParameters; +} + +void LinearObjectStatePdu::setLinearSegmentParameters(const std::vector& pX) +{ + _linearSegmentParameters = pX; +} + +void LinearObjectStatePdu::marshal(DataStream& dataStream) const +{ + SyntheticEnvironmentFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _objectID.marshal(dataStream); + _referencedObjectID.marshal(dataStream); + dataStream << _updateNumber; + dataStream << _forceID; + dataStream << ( unsigned char )_linearSegmentParameters.size(); + _requesterID.marshal(dataStream); + _receivingID.marshal(dataStream); + _objectType.marshal(dataStream); + + for(size_t idx = 0; idx < _linearSegmentParameters.size(); idx++) + { + LinearSegmentParameter x = _linearSegmentParameters[idx]; + x.marshal(dataStream); + } + +} + +void LinearObjectStatePdu::unmarshal(DataStream& dataStream) +{ + SyntheticEnvironmentFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _objectID.unmarshal(dataStream); + _referencedObjectID.unmarshal(dataStream); + dataStream >> _updateNumber; + dataStream >> _forceID; + dataStream >> _numberOfSegments; + _requesterID.unmarshal(dataStream); + _receivingID.unmarshal(dataStream); + _objectType.unmarshal(dataStream); + + _linearSegmentParameters.clear(); + for(size_t idx = 0; idx < _numberOfSegments; idx++) + { + LinearSegmentParameter x; + x.unmarshal(dataStream); + _linearSegmentParameters.push_back(x); + } +} + + +bool LinearObjectStatePdu::operator ==(const LinearObjectStatePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SyntheticEnvironmentFamilyPdu::operator==(rhs); + + if( ! (_objectID == rhs._objectID) ) ivarsEqual = false; + if( ! (_referencedObjectID == rhs._referencedObjectID) ) ivarsEqual = false; + if( ! (_updateNumber == rhs._updateNumber) ) ivarsEqual = false; + if( ! (_forceID == rhs._forceID) ) ivarsEqual = false; + if( ! (_requesterID == rhs._requesterID) ) ivarsEqual = false; + if( ! (_receivingID == rhs._receivingID) ) ivarsEqual = false; + if( ! (_objectType == rhs._objectType) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _linearSegmentParameters.size(); idx++) + { + if( ! ( _linearSegmentParameters[idx] == rhs._linearSegmentParameters[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int LinearObjectStatePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SyntheticEnvironmentFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _objectID.getMarshalledSize(); // _objectID + marshalSize = marshalSize + _referencedObjectID.getMarshalledSize(); // _referencedObjectID + marshalSize = marshalSize + 2; // _updateNumber + marshalSize = marshalSize + 1; // _forceID + marshalSize = marshalSize + 1; // _numberOfSegments + marshalSize = marshalSize + _requesterID.getMarshalledSize(); // _requesterID + marshalSize = marshalSize + _receivingID.getMarshalledSize(); // _receivingID + marshalSize = marshalSize + _objectType.getMarshalledSize(); // _objectType + + for(int idx=0; idx < _linearSegmentParameters.size(); idx++) + { + LinearSegmentParameter listElement = _linearSegmentParameters[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/LinearObjectStatePdu.h b/cpp/DIS7/LinearObjectStatePdu.h new file mode 100644 index 00000000..4bec7e4c --- /dev/null +++ b/cpp/DIS7/LinearObjectStatePdu.h @@ -0,0 +1,131 @@ +#ifndef LINEAROBJECTSTATEPDU_H +#define LINEAROBJECTSTATEPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// : Information abut the addition or modification of a synthecic enviroment object that is anchored to the terrain with a single point and has size or orientation. Section 7.10.5 COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO LinearObjectStatePdu : public SyntheticEnvironmentFamilyPdu +{ +protected: + /** Object in synthetic environment */ + EntityID _objectID; + + /** Object with which this point object is associated */ + EntityID _referencedObjectID; + + /** unique update number of each state transition of an object */ + unsigned short _updateNumber; + + /** force ID */ + unsigned char _forceID; + + /** number of linear segment parameters */ + unsigned char _numberOfSegments; + + /** requesterID */ + SimulationAddress _requesterID; + + /** receiver ID */ + SimulationAddress _receivingID; + + /** Object type */ + ObjectType _objectType; + + /** Linear segment parameters */ + std::vector _linearSegmentParameters; + + + public: + LinearObjectStatePdu(); + virtual ~LinearObjectStatePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getObjectID(); + const EntityID& getObjectID() const; + void setObjectID(const EntityID &pX); + + EntityID& getReferencedObjectID(); + const EntityID& getReferencedObjectID() const; + void setReferencedObjectID(const EntityID &pX); + + unsigned short getUpdateNumber() const; + void setUpdateNumber(unsigned short pX); + + unsigned char getForceID() const; + void setForceID(unsigned char pX); + + unsigned char getNumberOfSegments() const; + + SimulationAddress& getRequesterID(); + const SimulationAddress& getRequesterID() const; + void setRequesterID(const SimulationAddress &pX); + + SimulationAddress& getReceivingID(); + const SimulationAddress& getReceivingID() const; + void setReceivingID(const SimulationAddress &pX); + + ObjectType& getObjectType(); + const ObjectType& getObjectType() const; + void setObjectType(const ObjectType &pX); + + std::vector& getLinearSegmentParameters(); + const std::vector& getLinearSegmentParameters() const; + void setLinearSegmentParameters(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const LinearObjectStatePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/LinearSegmentParameter.cpp b/cpp/DIS7/LinearSegmentParameter.cpp new file mode 100644 index 00000000..0fafbad9 --- /dev/null +++ b/cpp/DIS7/LinearSegmentParameter.cpp @@ -0,0 +1,227 @@ +#include + +using namespace DIS; + + +LinearSegmentParameter::LinearSegmentParameter(): + _segmentNumber(0), + _segmentModification(0), + _generalSegmentAppearance(0), + _specificSegmentAppearance(0), + _segmentLocation(), + _segmentOrientation(), + _segmentLength(0), + _segmentWidth(0), + _segmentHeight(0), + _segmentDepth(0) +{ +} + +LinearSegmentParameter::~LinearSegmentParameter() +{ +} + +unsigned char LinearSegmentParameter::getSegmentNumber() const +{ + return _segmentNumber; +} + +void LinearSegmentParameter::setSegmentNumber(unsigned char pX) +{ + _segmentNumber = pX; +} + +unsigned char LinearSegmentParameter::getSegmentModification() const +{ + return _segmentModification; +} + +void LinearSegmentParameter::setSegmentModification(unsigned char pX) +{ + _segmentModification = pX; +} + +unsigned short LinearSegmentParameter::getGeneralSegmentAppearance() const +{ + return _generalSegmentAppearance; +} + +void LinearSegmentParameter::setGeneralSegmentAppearance(unsigned short pX) +{ + _generalSegmentAppearance = pX; +} + +unsigned short LinearSegmentParameter::getSpecificSegmentAppearance() const +{ + return _specificSegmentAppearance; +} + +void LinearSegmentParameter::setSpecificSegmentAppearance(unsigned short pX) +{ + _specificSegmentAppearance = pX; +} + +Vector3Double& LinearSegmentParameter::getSegmentLocation() +{ + return _segmentLocation; +} + +const Vector3Double& LinearSegmentParameter::getSegmentLocation() const +{ + return _segmentLocation; +} + +void LinearSegmentParameter::setSegmentLocation(const Vector3Double &pX) +{ + _segmentLocation = pX; +} + +EulerAngles& LinearSegmentParameter::getSegmentOrientation() +{ + return _segmentOrientation; +} + +const EulerAngles& LinearSegmentParameter::getSegmentOrientation() const +{ + return _segmentOrientation; +} + +void LinearSegmentParameter::setSegmentOrientation(const EulerAngles &pX) +{ + _segmentOrientation = pX; +} + +unsigned short LinearSegmentParameter::getSegmentLength() const +{ + return _segmentLength; +} + +void LinearSegmentParameter::setSegmentLength(unsigned short pX) +{ + _segmentLength = pX; +} + +unsigned short LinearSegmentParameter::getSegmentWidth() const +{ + return _segmentWidth; +} + +void LinearSegmentParameter::setSegmentWidth(unsigned short pX) +{ + _segmentWidth = pX; +} + +unsigned short LinearSegmentParameter::getSegmentHeight() const +{ + return _segmentHeight; +} + +void LinearSegmentParameter::setSegmentHeight(unsigned short pX) +{ + _segmentHeight = pX; +} + +unsigned short LinearSegmentParameter::getSegmentDepth() const +{ + return _segmentDepth; +} + +void LinearSegmentParameter::setSegmentDepth(unsigned short pX) +{ + _segmentDepth = pX; +} + +void LinearSegmentParameter::marshal(DataStream& dataStream) const +{ + dataStream << _segmentNumber; + dataStream << _segmentModification; + dataStream << _generalSegmentAppearance; + dataStream << _specificSegmentAppearance; + _segmentLocation.marshal(dataStream); + _segmentOrientation.marshal(dataStream); + dataStream << _segmentLength; + dataStream << _segmentWidth; + dataStream << _segmentHeight; + dataStream << _segmentDepth; +} + +void LinearSegmentParameter::unmarshal(DataStream& dataStream) +{ + dataStream >> _segmentNumber; + dataStream >> _segmentModification; + dataStream >> _generalSegmentAppearance; + dataStream >> _specificSegmentAppearance; + _segmentLocation.unmarshal(dataStream); + _segmentOrientation.unmarshal(dataStream); + dataStream >> _segmentLength; + dataStream >> _segmentWidth; + dataStream >> _segmentHeight; + dataStream >> _segmentDepth; +} + + +bool LinearSegmentParameter::operator ==(const LinearSegmentParameter& rhs) const + { + bool ivarsEqual = true; + + if( ! (_segmentNumber == rhs._segmentNumber) ) ivarsEqual = false; + if( ! (_segmentModification == rhs._segmentModification) ) ivarsEqual = false; + if( ! (_generalSegmentAppearance == rhs._generalSegmentAppearance) ) ivarsEqual = false; + if( ! (_specificSegmentAppearance == rhs._specificSegmentAppearance) ) ivarsEqual = false; + if( ! (_segmentLocation == rhs._segmentLocation) ) ivarsEqual = false; + if( ! (_segmentOrientation == rhs._segmentOrientation) ) ivarsEqual = false; + if( ! (_segmentLength == rhs._segmentLength) ) ivarsEqual = false; + if( ! (_segmentWidth == rhs._segmentWidth) ) ivarsEqual = false; + if( ! (_segmentHeight == rhs._segmentHeight) ) ivarsEqual = false; + if( ! (_segmentDepth == rhs._segmentDepth) ) ivarsEqual = false; + + return ivarsEqual; + } + +int LinearSegmentParameter::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _segmentNumber + marshalSize = marshalSize + 1; // _segmentModification + marshalSize = marshalSize + 2; // _generalSegmentAppearance + marshalSize = marshalSize + 2; // _specificSegmentAppearance + marshalSize = marshalSize + _segmentLocation.getMarshalledSize(); // _segmentLocation + marshalSize = marshalSize + _segmentOrientation.getMarshalledSize(); // _segmentOrientation + marshalSize = marshalSize + 2; // _segmentLength + marshalSize = marshalSize + 2; // _segmentWidth + marshalSize = marshalSize + 2; // _segmentHeight + marshalSize = marshalSize + 2; // _segmentDepth + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/LinearSegmentParameter.h b/cpp/DIS7/LinearSegmentParameter.h new file mode 100644 index 00000000..992b2f2e --- /dev/null +++ b/cpp/DIS7/LinearSegmentParameter.h @@ -0,0 +1,128 @@ +#ifndef LINEARSEGMENTPARAMETER_H +#define LINEARSEGMENTPARAMETER_H + +#include +#include +#include +#include + + +namespace DIS +{ +// The specification of an individual segment of a linear segment synthetic environment object in a Linear Object State PDU Section 6.2.53 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO LinearSegmentParameter +{ +protected: + /** the individual segment of the linear segment */ + unsigned char _segmentNumber; + + /** whether a modification has been made to the point object’s location or orientation */ + unsigned char _segmentModification; + + /** general dynamic appearance attributes of the segment. This record shall be defined as a 16-bit record of enumerations. The values defined for this record are included in Section 12 of SISO-REF-010. */ + unsigned short _generalSegmentAppearance; + + /** This field shall specify specific dynamic appearance attributes of the segment. This record shall be defined as a 32-bit record of enumerations. */ + unsigned short _specificSegmentAppearance; + + /** This field shall specify the location of the linear segment in the simulated world and shall be represented by a World Coordinates record */ + Vector3Double _segmentLocation; + + /** orientation of the linear segment about the segment location and shall be represented by a Euler Angles record */ + EulerAngles _segmentOrientation; + + /** length of the linear segment, in meters, extending in the positive X direction */ + unsigned short _segmentLength; + + /** The total width of the linear segment, in meters, shall be specified by a 16-bit unsigned integer. One-half of the width shall extend in the positive Y direction, and one-half of the width shall extend in the negative Y direction. */ + unsigned short _segmentWidth; + + /** The height of the linear segment, in meters, above ground shall be specified by a 16-bit unsigned integer. */ + unsigned short _segmentHeight; + + /** The depth of the linear segment, in meters, below ground level */ + unsigned short _segmentDepth; + + + public: + LinearSegmentParameter(); + virtual ~LinearSegmentParameter(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getSegmentNumber() const; + void setSegmentNumber(unsigned char pX); + + unsigned char getSegmentModification() const; + void setSegmentModification(unsigned char pX); + + unsigned short getGeneralSegmentAppearance() const; + void setGeneralSegmentAppearance(unsigned short pX); + + unsigned short getSpecificSegmentAppearance() const; + void setSpecificSegmentAppearance(unsigned short pX); + + Vector3Double& getSegmentLocation(); + const Vector3Double& getSegmentLocation() const; + void setSegmentLocation(const Vector3Double &pX); + + EulerAngles& getSegmentOrientation(); + const EulerAngles& getSegmentOrientation() const; + void setSegmentOrientation(const EulerAngles &pX); + + unsigned short getSegmentLength() const; + void setSegmentLength(unsigned short pX); + + unsigned short getSegmentWidth() const; + void setSegmentWidth(unsigned short pX); + + unsigned short getSegmentHeight() const; + void setSegmentHeight(unsigned short pX); + + unsigned short getSegmentDepth() const; + void setSegmentDepth(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const LinearSegmentParameter& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/LiveEntityIdentifier.cpp b/cpp/DIS7/LiveEntityIdentifier.cpp new file mode 100644 index 00000000..2e367262 --- /dev/null +++ b/cpp/DIS7/LiveEntityIdentifier.cpp @@ -0,0 +1,102 @@ +#include + +using namespace DIS; + + +LiveEntityIdentifier::LiveEntityIdentifier(): + _liveSimulationAddress(), + _entityNumber(0) +{ +} + +LiveEntityIdentifier::~LiveEntityIdentifier() +{ +} + +LiveSimulationAddress& LiveEntityIdentifier::getLiveSimulationAddress() +{ + return _liveSimulationAddress; +} + +const LiveSimulationAddress& LiveEntityIdentifier::getLiveSimulationAddress() const +{ + return _liveSimulationAddress; +} + +void LiveEntityIdentifier::setLiveSimulationAddress(const LiveSimulationAddress &pX) +{ + _liveSimulationAddress = pX; +} + +unsigned short LiveEntityIdentifier::getEntityNumber() const +{ + return _entityNumber; +} + +void LiveEntityIdentifier::setEntityNumber(unsigned short pX) +{ + _entityNumber = pX; +} + +void LiveEntityIdentifier::marshal(DataStream& dataStream) const +{ + _liveSimulationAddress.marshal(dataStream); + dataStream << _entityNumber; +} + +void LiveEntityIdentifier::unmarshal(DataStream& dataStream) +{ + _liveSimulationAddress.unmarshal(dataStream); + dataStream >> _entityNumber; +} + + +bool LiveEntityIdentifier::operator ==(const LiveEntityIdentifier& rhs) const + { + bool ivarsEqual = true; + + if( ! (_liveSimulationAddress == rhs._liveSimulationAddress) ) ivarsEqual = false; + if( ! (_entityNumber == rhs._entityNumber) ) ivarsEqual = false; + + return ivarsEqual; + } + +int LiveEntityIdentifier::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _liveSimulationAddress.getMarshalledSize(); // _liveSimulationAddress + marshalSize = marshalSize + 2; // _entityNumber + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/LiveEntityIdentifier.h b/cpp/DIS7/LiveEntityIdentifier.h new file mode 100644 index 00000000..d581fbdf --- /dev/null +++ b/cpp/DIS7/LiveEntityIdentifier.h @@ -0,0 +1,78 @@ +#ifndef LIVEENTITYIDENTIFIER_H +#define LIVEENTITYIDENTIFIER_H + +#include +#include +#include + + +namespace DIS +{ +// The unique designation of each entity in an event or exercise that is contained in a Live Entity PDU. Section 6.2.54 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO LiveEntityIdentifier +{ +protected: + /** Live Simulation Address record (see 6.2.55) */ + LiveSimulationAddress _liveSimulationAddress; + + /** Live entity number */ + unsigned short _entityNumber; + + + public: + LiveEntityIdentifier(); + virtual ~LiveEntityIdentifier(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + LiveSimulationAddress& getLiveSimulationAddress(); + const LiveSimulationAddress& getLiveSimulationAddress() const; + void setLiveSimulationAddress(const LiveSimulationAddress &pX); + + unsigned short getEntityNumber() const; + void setEntityNumber(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const LiveEntityIdentifier& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/LiveEntityPdu.cpp b/cpp/DIS7/LiveEntityPdu.cpp new file mode 100644 index 00000000..7ee596d4 --- /dev/null +++ b/cpp/DIS7/LiveEntityPdu.cpp @@ -0,0 +1,102 @@ +#include + +using namespace DIS; + + +LiveEntityPdu::LiveEntityPdu() : PduSuperclass(), + _subprotocolNumber(0), + _padding(0) +{ +} + +LiveEntityPdu::~LiveEntityPdu() +{ +} + +unsigned short LiveEntityPdu::getSubprotocolNumber() const +{ + return _subprotocolNumber; +} + +void LiveEntityPdu::setSubprotocolNumber(unsigned short pX) +{ + _subprotocolNumber = pX; +} + +unsigned char LiveEntityPdu::getPadding() const +{ + return _padding; +} + +void LiveEntityPdu::setPadding(unsigned char pX) +{ + _padding = pX; +} + +void LiveEntityPdu::marshal(DataStream& dataStream) const +{ + PduSuperclass::marshal(dataStream); // Marshal information in superclass first + dataStream << _subprotocolNumber; + dataStream << _padding; +} + +void LiveEntityPdu::unmarshal(DataStream& dataStream) +{ + PduSuperclass::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _subprotocolNumber; + dataStream >> _padding; +} + + +bool LiveEntityPdu::operator ==(const LiveEntityPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = PduSuperclass::operator==(rhs); + + if( ! (_subprotocolNumber == rhs._subprotocolNumber) ) ivarsEqual = false; + if( ! (_padding == rhs._padding) ) ivarsEqual = false; + + return ivarsEqual; + } + +int LiveEntityPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = PduSuperclass::getMarshalledSize(); + marshalSize = marshalSize + 2; // _subprotocolNumber + marshalSize = marshalSize + 1; // _padding + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/LiveEntityPdu.h b/cpp/DIS7/LiveEntityPdu.h new file mode 100644 index 00000000..53e655a8 --- /dev/null +++ b/cpp/DIS7/LiveEntityPdu.h @@ -0,0 +1,77 @@ +#ifndef LIVEENTITYPDU_H +#define LIVEENTITYPDU_H + +#include +#include +#include + + +namespace DIS +{ +// The live entity PDUs have a header with some different field names, but the same length. Section 9.3.2 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO LiveEntityPdu : public PduSuperclass +{ +protected: + /** Subprotocol used to decode the PDU. Section 13 of EBV. */ + unsigned short _subprotocolNumber; + + /** zero-filled array of padding */ + unsigned char _padding; + + + public: + LiveEntityPdu(); + virtual ~LiveEntityPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getSubprotocolNumber() const; + void setSubprotocolNumber(unsigned short pX); + + unsigned char getPadding() const; + void setPadding(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const LiveEntityPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/LiveSimulationAddress.cpp b/cpp/DIS7/LiveSimulationAddress.cpp new file mode 100644 index 00000000..3d5dc336 --- /dev/null +++ b/cpp/DIS7/LiveSimulationAddress.cpp @@ -0,0 +1,97 @@ +#include + +using namespace DIS; + + +LiveSimulationAddress::LiveSimulationAddress(): + _liveSiteNumber(0), + _liveApplicationNumber(0) +{ +} + +LiveSimulationAddress::~LiveSimulationAddress() +{ +} + +unsigned char LiveSimulationAddress::getLiveSiteNumber() const +{ + return _liveSiteNumber; +} + +void LiveSimulationAddress::setLiveSiteNumber(unsigned char pX) +{ + _liveSiteNumber = pX; +} + +unsigned short LiveSimulationAddress::getLiveApplicationNumber() const +{ + return _liveApplicationNumber; +} + +void LiveSimulationAddress::setLiveApplicationNumber(unsigned short pX) +{ + _liveApplicationNumber = pX; +} + +void LiveSimulationAddress::marshal(DataStream& dataStream) const +{ + dataStream << _liveSiteNumber; + dataStream << _liveApplicationNumber; +} + +void LiveSimulationAddress::unmarshal(DataStream& dataStream) +{ + dataStream >> _liveSiteNumber; + dataStream >> _liveApplicationNumber; +} + + +bool LiveSimulationAddress::operator ==(const LiveSimulationAddress& rhs) const + { + bool ivarsEqual = true; + + if( ! (_liveSiteNumber == rhs._liveSiteNumber) ) ivarsEqual = false; + if( ! (_liveApplicationNumber == rhs._liveApplicationNumber) ) ivarsEqual = false; + + return ivarsEqual; + } + +int LiveSimulationAddress::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _liveSiteNumber + marshalSize = marshalSize + 2; // _liveApplicationNumber + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/LiveSimulationAddress.h b/cpp/DIS7/LiveSimulationAddress.h new file mode 100644 index 00000000..f3132bcd --- /dev/null +++ b/cpp/DIS7/LiveSimulationAddress.h @@ -0,0 +1,76 @@ +#ifndef LIVESIMULATIONADDRESS_H +#define LIVESIMULATIONADDRESS_H + +#include +#include + + +namespace DIS +{ +// A simulation's designation associated with all Live Entity IDs contained in Live Entity PDUs. Section 6.2.55 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO LiveSimulationAddress +{ +protected: + /** facility, installation, organizational unit or geographic location may have multiple sites associated with it. The Site Number is the first component of the Live Simulation Address, which defines a live simulation. */ + unsigned char _liveSiteNumber; + + /** An application associated with a live site is termed a live application. Each live application participating in an event */ + unsigned short _liveApplicationNumber; + + + public: + LiveSimulationAddress(); + virtual ~LiveSimulationAddress(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getLiveSiteNumber() const; + void setLiveSiteNumber(unsigned char pX); + + unsigned short getLiveApplicationNumber() const; + void setLiveApplicationNumber(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const LiveSimulationAddress& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/LogisticsFamilyPdu.cpp b/cpp/DIS7/LogisticsFamilyPdu.cpp new file mode 100644 index 00000000..4d6dde5c --- /dev/null +++ b/cpp/DIS7/LogisticsFamilyPdu.cpp @@ -0,0 +1,74 @@ +#include + +using namespace DIS; + + +LogisticsFamilyPdu::LogisticsFamilyPdu() : Pdu() + +{ + setProtocolFamily( 3 ); +} + +LogisticsFamilyPdu::~LogisticsFamilyPdu() +{ +} + +void LogisticsFamilyPdu::marshal(DataStream& dataStream) const +{ + Pdu::marshal(dataStream); // Marshal information in superclass first +} + +void LogisticsFamilyPdu::unmarshal(DataStream& dataStream) +{ + Pdu::unmarshal(dataStream); // unmarshal information in superclass first +} + + +bool LogisticsFamilyPdu::operator ==(const LogisticsFamilyPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = Pdu::operator==(rhs); + + + return ivarsEqual; + } + +int LogisticsFamilyPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = Pdu::getMarshalledSize(); + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/LogisticsFamilyPdu.h b/cpp/DIS7/LogisticsFamilyPdu.h new file mode 100644 index 00000000..52dc9a6b --- /dev/null +++ b/cpp/DIS7/LogisticsFamilyPdu.h @@ -0,0 +1,65 @@ +#ifndef LOGISTICSFAMILYPDU_H +#define LOGISTICSFAMILYPDU_H + +#include +#include +#include + + +namespace DIS +{ +// Abstract superclass for logistics PDUs. Section 7.4 COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO LogisticsFamilyPdu : public Pdu +{ +protected: + + public: + LogisticsFamilyPdu(); + virtual ~LogisticsFamilyPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + +virtual int getMarshalledSize() const; + + bool operator ==(const LogisticsFamilyPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/MineEntityIdentifier.cpp b/cpp/DIS7/MineEntityIdentifier.cpp new file mode 100644 index 00000000..95fd2814 --- /dev/null +++ b/cpp/DIS7/MineEntityIdentifier.cpp @@ -0,0 +1,102 @@ +#include + +using namespace DIS; + + +MineEntityIdentifier::MineEntityIdentifier(): + _simulationAddress(), + _mineEntityNumber(0) +{ +} + +MineEntityIdentifier::~MineEntityIdentifier() +{ +} + +SimulationAddress& MineEntityIdentifier::getSimulationAddress() +{ + return _simulationAddress; +} + +const SimulationAddress& MineEntityIdentifier::getSimulationAddress() const +{ + return _simulationAddress; +} + +void MineEntityIdentifier::setSimulationAddress(const SimulationAddress &pX) +{ + _simulationAddress = pX; +} + +unsigned short MineEntityIdentifier::getMineEntityNumber() const +{ + return _mineEntityNumber; +} + +void MineEntityIdentifier::setMineEntityNumber(unsigned short pX) +{ + _mineEntityNumber = pX; +} + +void MineEntityIdentifier::marshal(DataStream& dataStream) const +{ + _simulationAddress.marshal(dataStream); + dataStream << _mineEntityNumber; +} + +void MineEntityIdentifier::unmarshal(DataStream& dataStream) +{ + _simulationAddress.unmarshal(dataStream); + dataStream >> _mineEntityNumber; +} + + +bool MineEntityIdentifier::operator ==(const MineEntityIdentifier& rhs) const + { + bool ivarsEqual = true; + + if( ! (_simulationAddress == rhs._simulationAddress) ) ivarsEqual = false; + if( ! (_mineEntityNumber == rhs._mineEntityNumber) ) ivarsEqual = false; + + return ivarsEqual; + } + +int MineEntityIdentifier::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _simulationAddress.getMarshalledSize(); // _simulationAddress + marshalSize = marshalSize + 2; // _mineEntityNumber + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/MineEntityIdentifier.h b/cpp/DIS7/MineEntityIdentifier.h new file mode 100644 index 00000000..c5c3c358 --- /dev/null +++ b/cpp/DIS7/MineEntityIdentifier.h @@ -0,0 +1,78 @@ +#ifndef MINEENTITYIDENTIFIER_H +#define MINEENTITYIDENTIFIER_H + +#include +#include +#include + + +namespace DIS +{ +// The unique designation of a mine contained in the Minefield Data PDU. No espdus are issued for mine entities. Section 6.2.56 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO MineEntityIdentifier +{ +protected: + /** */ + SimulationAddress _simulationAddress; + + /** */ + unsigned short _mineEntityNumber; + + + public: + MineEntityIdentifier(); + virtual ~MineEntityIdentifier(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + SimulationAddress& getSimulationAddress(); + const SimulationAddress& getSimulationAddress() const; + void setSimulationAddress(const SimulationAddress &pX); + + unsigned short getMineEntityNumber() const; + void setMineEntityNumber(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const MineEntityIdentifier& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/MinefieldFamilyPdu.cpp b/cpp/DIS7/MinefieldFamilyPdu.cpp new file mode 100644 index 00000000..ce1da42c --- /dev/null +++ b/cpp/DIS7/MinefieldFamilyPdu.cpp @@ -0,0 +1,74 @@ +#include + +using namespace DIS; + + +MinefieldFamilyPdu::MinefieldFamilyPdu() : Pdu() + +{ + setProtocolFamily( 8 ); +} + +MinefieldFamilyPdu::~MinefieldFamilyPdu() +{ +} + +void MinefieldFamilyPdu::marshal(DataStream& dataStream) const +{ + Pdu::marshal(dataStream); // Marshal information in superclass first +} + +void MinefieldFamilyPdu::unmarshal(DataStream& dataStream) +{ + Pdu::unmarshal(dataStream); // unmarshal information in superclass first +} + + +bool MinefieldFamilyPdu::operator ==(const MinefieldFamilyPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = Pdu::operator==(rhs); + + + return ivarsEqual; + } + +int MinefieldFamilyPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = Pdu::getMarshalledSize(); + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/MinefieldFamilyPdu.h b/cpp/DIS7/MinefieldFamilyPdu.h new file mode 100644 index 00000000..00043600 --- /dev/null +++ b/cpp/DIS7/MinefieldFamilyPdu.h @@ -0,0 +1,65 @@ +#ifndef MINEFIELDFAMILYPDU_H +#define MINEFIELDFAMILYPDU_H + +#include +#include +#include + + +namespace DIS +{ +// Abstract superclass for PDUs relating to minefields. Section 7.9 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO MinefieldFamilyPdu : public Pdu +{ +protected: + + public: + MinefieldFamilyPdu(); + virtual ~MinefieldFamilyPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + +virtual int getMarshalledSize() const; + + bool operator ==(const MinefieldFamilyPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/MinefieldIdentifier.cpp b/cpp/DIS7/MinefieldIdentifier.cpp new file mode 100644 index 00000000..fb8a26b0 --- /dev/null +++ b/cpp/DIS7/MinefieldIdentifier.cpp @@ -0,0 +1,102 @@ +#include + +using namespace DIS; + + +MinefieldIdentifier::MinefieldIdentifier(): + _simulationAddress(), + _minefieldNumber(0) +{ +} + +MinefieldIdentifier::~MinefieldIdentifier() +{ +} + +SimulationAddress& MinefieldIdentifier::getSimulationAddress() +{ + return _simulationAddress; +} + +const SimulationAddress& MinefieldIdentifier::getSimulationAddress() const +{ + return _simulationAddress; +} + +void MinefieldIdentifier::setSimulationAddress(const SimulationAddress &pX) +{ + _simulationAddress = pX; +} + +unsigned short MinefieldIdentifier::getMinefieldNumber() const +{ + return _minefieldNumber; +} + +void MinefieldIdentifier::setMinefieldNumber(unsigned short pX) +{ + _minefieldNumber = pX; +} + +void MinefieldIdentifier::marshal(DataStream& dataStream) const +{ + _simulationAddress.marshal(dataStream); + dataStream << _minefieldNumber; +} + +void MinefieldIdentifier::unmarshal(DataStream& dataStream) +{ + _simulationAddress.unmarshal(dataStream); + dataStream >> _minefieldNumber; +} + + +bool MinefieldIdentifier::operator ==(const MinefieldIdentifier& rhs) const + { + bool ivarsEqual = true; + + if( ! (_simulationAddress == rhs._simulationAddress) ) ivarsEqual = false; + if( ! (_minefieldNumber == rhs._minefieldNumber) ) ivarsEqual = false; + + return ivarsEqual; + } + +int MinefieldIdentifier::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _simulationAddress.getMarshalledSize(); // _simulationAddress + marshalSize = marshalSize + 2; // _minefieldNumber + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/MinefieldIdentifier.h b/cpp/DIS7/MinefieldIdentifier.h new file mode 100644 index 00000000..fa986ee0 --- /dev/null +++ b/cpp/DIS7/MinefieldIdentifier.h @@ -0,0 +1,78 @@ +#ifndef MINEFIELDIDENTIFIER_H +#define MINEFIELDIDENTIFIER_H + +#include +#include +#include + + +namespace DIS +{ +// The unique designation of a minefield Section 6.2.57 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO MinefieldIdentifier +{ +protected: + /** */ + SimulationAddress _simulationAddress; + + /** */ + unsigned short _minefieldNumber; + + + public: + MinefieldIdentifier(); + virtual ~MinefieldIdentifier(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + SimulationAddress& getSimulationAddress(); + const SimulationAddress& getSimulationAddress() const; + void setSimulationAddress(const SimulationAddress &pX); + + unsigned short getMinefieldNumber() const; + void setMinefieldNumber(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const MinefieldIdentifier& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/MinefieldResponseNackPdu.cpp b/cpp/DIS7/MinefieldResponseNackPdu.cpp new file mode 100644 index 00000000..d5fa501e --- /dev/null +++ b/cpp/DIS7/MinefieldResponseNackPdu.cpp @@ -0,0 +1,181 @@ +#include + +using namespace DIS; + + +MinefieldResponseNackPdu::MinefieldResponseNackPdu() : MinefieldFamilyPdu(), + _minefieldID(), + _requestingEntityID(), + _requestID(0), + _numberOfMissingPdus(0) +{ + setPduType( 40 ); +} + +MinefieldResponseNackPdu::~MinefieldResponseNackPdu() +{ + _missingPduSequenceNumbers.clear(); +} + +EntityID& MinefieldResponseNackPdu::getMinefieldID() +{ + return _minefieldID; +} + +const EntityID& MinefieldResponseNackPdu::getMinefieldID() const +{ + return _minefieldID; +} + +void MinefieldResponseNackPdu::setMinefieldID(const EntityID &pX) +{ + _minefieldID = pX; +} + +EntityID& MinefieldResponseNackPdu::getRequestingEntityID() +{ + return _requestingEntityID; +} + +const EntityID& MinefieldResponseNackPdu::getRequestingEntityID() const +{ + return _requestingEntityID; +} + +void MinefieldResponseNackPdu::setRequestingEntityID(const EntityID &pX) +{ + _requestingEntityID = pX; +} + +unsigned char MinefieldResponseNackPdu::getRequestID() const +{ + return _requestID; +} + +void MinefieldResponseNackPdu::setRequestID(unsigned char pX) +{ + _requestID = pX; +} + +unsigned char MinefieldResponseNackPdu::getNumberOfMissingPdus() const +{ + return _missingPduSequenceNumbers.size(); +} + +std::vector& MinefieldResponseNackPdu::getMissingPduSequenceNumbers() +{ + return _missingPduSequenceNumbers; +} + +const std::vector& MinefieldResponseNackPdu::getMissingPduSequenceNumbers() const +{ + return _missingPduSequenceNumbers; +} + +void MinefieldResponseNackPdu::setMissingPduSequenceNumbers(const std::vector& pX) +{ + _missingPduSequenceNumbers = pX; +} + +void MinefieldResponseNackPdu::marshal(DataStream& dataStream) const +{ + MinefieldFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _minefieldID.marshal(dataStream); + _requestingEntityID.marshal(dataStream); + dataStream << _requestID; + dataStream << ( unsigned char )_missingPduSequenceNumbers.size(); + + for(size_t idx = 0; idx < _missingPduSequenceNumbers.size(); idx++) + { + EightByteChunk x = _missingPduSequenceNumbers[idx]; + x.marshal(dataStream); + } + +} + +void MinefieldResponseNackPdu::unmarshal(DataStream& dataStream) +{ + MinefieldFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _minefieldID.unmarshal(dataStream); + _requestingEntityID.unmarshal(dataStream); + dataStream >> _requestID; + dataStream >> _numberOfMissingPdus; + + _missingPduSequenceNumbers.clear(); + for(size_t idx = 0; idx < _numberOfMissingPdus; idx++) + { + EightByteChunk x; + x.unmarshal(dataStream); + _missingPduSequenceNumbers.push_back(x); + } +} + + +bool MinefieldResponseNackPdu::operator ==(const MinefieldResponseNackPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = MinefieldFamilyPdu::operator==(rhs); + + if( ! (_minefieldID == rhs._minefieldID) ) ivarsEqual = false; + if( ! (_requestingEntityID == rhs._requestingEntityID) ) ivarsEqual = false; + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _missingPduSequenceNumbers.size(); idx++) + { + if( ! ( _missingPduSequenceNumbers[idx] == rhs._missingPduSequenceNumbers[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int MinefieldResponseNackPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = MinefieldFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _minefieldID.getMarshalledSize(); // _minefieldID + marshalSize = marshalSize + _requestingEntityID.getMarshalledSize(); // _requestingEntityID + marshalSize = marshalSize + 1; // _requestID + marshalSize = marshalSize + 1; // _numberOfMissingPdus + + for(int idx=0; idx < _missingPduSequenceNumbers.size(); idx++) + { + EightByteChunk listElement = _missingPduSequenceNumbers[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/MinefieldResponseNackPdu.h b/cpp/DIS7/MinefieldResponseNackPdu.h new file mode 100644 index 00000000..8245297d --- /dev/null +++ b/cpp/DIS7/MinefieldResponseNackPdu.h @@ -0,0 +1,101 @@ +#ifndef MINEFIELDRESPONSENACKPDU_H +#define MINEFIELDRESPONSENACKPDU_H + +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// proivde the means to request a retransmit of a minefield data pdu. Section 7.9.5 COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO MinefieldResponseNackPdu : public MinefieldFamilyPdu +{ +protected: + /** Minefield ID */ + EntityID _minefieldID; + + /** entity ID making the request */ + EntityID _requestingEntityID; + + /** request ID */ + unsigned char _requestID; + + /** how many pdus were missing */ + unsigned char _numberOfMissingPdus; + + /** PDU sequence numbers that were missing */ + std::vector _missingPduSequenceNumbers; + + + public: + MinefieldResponseNackPdu(); + virtual ~MinefieldResponseNackPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getMinefieldID(); + const EntityID& getMinefieldID() const; + void setMinefieldID(const EntityID &pX); + + EntityID& getRequestingEntityID(); + const EntityID& getRequestingEntityID() const; + void setRequestingEntityID(const EntityID &pX); + + unsigned char getRequestID() const; + void setRequestID(unsigned char pX); + + unsigned char getNumberOfMissingPdus() const; + + std::vector& getMissingPduSequenceNumbers(); + const std::vector& getMissingPduSequenceNumbers() const; + void setMissingPduSequenceNumbers(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const MinefieldResponseNackPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/MinefieldStatePdu.cpp b/cpp/DIS7/MinefieldStatePdu.cpp new file mode 100644 index 00000000..eeec29ba --- /dev/null +++ b/cpp/DIS7/MinefieldStatePdu.cpp @@ -0,0 +1,319 @@ +#include + +using namespace DIS; + + +MinefieldStatePdu::MinefieldStatePdu() : MinefieldFamilyPdu(), + _minefieldID(), + _minefieldSequence(0), + _forceID(0), + _numberOfPerimeterPoints(0), + _minefieldType(), + _numberOfMineTypes(0), + _minefieldLocation(), + _minefieldOrientation(), + _appearance(0), + _protocolMode(0) +{ + setPduType( 37 ); +} + +MinefieldStatePdu::~MinefieldStatePdu() +{ + _perimeterPoints.clear(); + _mineType.clear(); +} + +MinefieldIdentifier& MinefieldStatePdu::getMinefieldID() +{ + return _minefieldID; +} + +const MinefieldIdentifier& MinefieldStatePdu::getMinefieldID() const +{ + return _minefieldID; +} + +void MinefieldStatePdu::setMinefieldID(const MinefieldIdentifier &pX) +{ + _minefieldID = pX; +} + +unsigned short MinefieldStatePdu::getMinefieldSequence() const +{ + return _minefieldSequence; +} + +void MinefieldStatePdu::setMinefieldSequence(unsigned short pX) +{ + _minefieldSequence = pX; +} + +unsigned char MinefieldStatePdu::getForceID() const +{ + return _forceID; +} + +void MinefieldStatePdu::setForceID(unsigned char pX) +{ + _forceID = pX; +} + +unsigned char MinefieldStatePdu::getNumberOfPerimeterPoints() const +{ + return _perimeterPoints.size(); +} + +EntityType& MinefieldStatePdu::getMinefieldType() +{ + return _minefieldType; +} + +const EntityType& MinefieldStatePdu::getMinefieldType() const +{ + return _minefieldType; +} + +void MinefieldStatePdu::setMinefieldType(const EntityType &pX) +{ + _minefieldType = pX; +} + +unsigned short MinefieldStatePdu::getNumberOfMineTypes() const +{ + return _mineType.size(); +} + +Vector3Double& MinefieldStatePdu::getMinefieldLocation() +{ + return _minefieldLocation; +} + +const Vector3Double& MinefieldStatePdu::getMinefieldLocation() const +{ + return _minefieldLocation; +} + +void MinefieldStatePdu::setMinefieldLocation(const Vector3Double &pX) +{ + _minefieldLocation = pX; +} + +EulerAngles& MinefieldStatePdu::getMinefieldOrientation() +{ + return _minefieldOrientation; +} + +const EulerAngles& MinefieldStatePdu::getMinefieldOrientation() const +{ + return _minefieldOrientation; +} + +void MinefieldStatePdu::setMinefieldOrientation(const EulerAngles &pX) +{ + _minefieldOrientation = pX; +} + +unsigned short MinefieldStatePdu::getAppearance() const +{ + return _appearance; +} + +void MinefieldStatePdu::setAppearance(unsigned short pX) +{ + _appearance = pX; +} + +unsigned short MinefieldStatePdu::getProtocolMode() const +{ + return _protocolMode; +} + +void MinefieldStatePdu::setProtocolMode(unsigned short pX) +{ + _protocolMode = pX; +} + +std::vector& MinefieldStatePdu::getPerimeterPoints() +{ + return _perimeterPoints; +} + +const std::vector& MinefieldStatePdu::getPerimeterPoints() const +{ + return _perimeterPoints; +} + +void MinefieldStatePdu::setPerimeterPoints(const std::vector& pX) +{ + _perimeterPoints = pX; +} + +std::vector& MinefieldStatePdu::getMineType() +{ + return _mineType; +} + +const std::vector& MinefieldStatePdu::getMineType() const +{ + return _mineType; +} + +void MinefieldStatePdu::setMineType(const std::vector& pX) +{ + _mineType = pX; +} + +void MinefieldStatePdu::marshal(DataStream& dataStream) const +{ + MinefieldFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _minefieldID.marshal(dataStream); + dataStream << _minefieldSequence; + dataStream << _forceID; + dataStream << ( unsigned char )_perimeterPoints.size(); + _minefieldType.marshal(dataStream); + dataStream << ( unsigned short )_mineType.size(); + _minefieldLocation.marshal(dataStream); + _minefieldOrientation.marshal(dataStream); + dataStream << _appearance; + dataStream << _protocolMode; + + for(size_t idx = 0; idx < _perimeterPoints.size(); idx++) + { + Vector2Float x = _perimeterPoints[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _mineType.size(); idx++) + { + EntityType x = _mineType[idx]; + x.marshal(dataStream); + } + +} + +void MinefieldStatePdu::unmarshal(DataStream& dataStream) +{ + MinefieldFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _minefieldID.unmarshal(dataStream); + dataStream >> _minefieldSequence; + dataStream >> _forceID; + dataStream >> _numberOfPerimeterPoints; + _minefieldType.unmarshal(dataStream); + dataStream >> _numberOfMineTypes; + _minefieldLocation.unmarshal(dataStream); + _minefieldOrientation.unmarshal(dataStream); + dataStream >> _appearance; + dataStream >> _protocolMode; + + _perimeterPoints.clear(); + for(size_t idx = 0; idx < _numberOfPerimeterPoints; idx++) + { + Vector2Float x; + x.unmarshal(dataStream); + _perimeterPoints.push_back(x); + } + + _mineType.clear(); + for(size_t idx = 0; idx < _numberOfMineTypes; idx++) + { + EntityType x; + x.unmarshal(dataStream); + _mineType.push_back(x); + } +} + + +bool MinefieldStatePdu::operator ==(const MinefieldStatePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = MinefieldFamilyPdu::operator==(rhs); + + if( ! (_minefieldID == rhs._minefieldID) ) ivarsEqual = false; + if( ! (_minefieldSequence == rhs._minefieldSequence) ) ivarsEqual = false; + if( ! (_forceID == rhs._forceID) ) ivarsEqual = false; + if( ! (_minefieldType == rhs._minefieldType) ) ivarsEqual = false; + if( ! (_minefieldLocation == rhs._minefieldLocation) ) ivarsEqual = false; + if( ! (_minefieldOrientation == rhs._minefieldOrientation) ) ivarsEqual = false; + if( ! (_appearance == rhs._appearance) ) ivarsEqual = false; + if( ! (_protocolMode == rhs._protocolMode) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _perimeterPoints.size(); idx++) + { + if( ! ( _perimeterPoints[idx] == rhs._perimeterPoints[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _mineType.size(); idx++) + { + if( ! ( _mineType[idx] == rhs._mineType[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int MinefieldStatePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = MinefieldFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _minefieldID.getMarshalledSize(); // _minefieldID + marshalSize = marshalSize + 2; // _minefieldSequence + marshalSize = marshalSize + 1; // _forceID + marshalSize = marshalSize + 1; // _numberOfPerimeterPoints + marshalSize = marshalSize + _minefieldType.getMarshalledSize(); // _minefieldType + marshalSize = marshalSize + 2; // _numberOfMineTypes + marshalSize = marshalSize + _minefieldLocation.getMarshalledSize(); // _minefieldLocation + marshalSize = marshalSize + _minefieldOrientation.getMarshalledSize(); // _minefieldOrientation + marshalSize = marshalSize + 2; // _appearance + marshalSize = marshalSize + 2; // _protocolMode + + for(int idx=0; idx < _perimeterPoints.size(); idx++) + { + Vector2Float listElement = _perimeterPoints[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _mineType.size(); idx++) + { + EntityType listElement = _mineType[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/MinefieldStatePdu.h b/cpp/DIS7/MinefieldStatePdu.h new file mode 100644 index 00000000..3df7357c --- /dev/null +++ b/cpp/DIS7/MinefieldStatePdu.h @@ -0,0 +1,148 @@ +#ifndef MINEFIELDSTATEPDU_H +#define MINEFIELDSTATEPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// information about the complete minefield. The minefield presence, perimiter, etc. Section 7.9.2 COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO MinefieldStatePdu : public MinefieldFamilyPdu +{ +protected: + /** Minefield ID */ + MinefieldIdentifier _minefieldID; + + /** Minefield sequence */ + unsigned short _minefieldSequence; + + /** force ID */ + unsigned char _forceID; + + /** Number of permieter points */ + unsigned char _numberOfPerimeterPoints; + + /** type of minefield */ + EntityType _minefieldType; + + /** how many mine types */ + unsigned short _numberOfMineTypes; + + /** location of center of minefield in world coords */ + Vector3Double _minefieldLocation; + + /** orientation of minefield */ + EulerAngles _minefieldOrientation; + + /** appearance bitflags */ + unsigned short _appearance; + + /** protocolMode. First two bits are the protocol mode, 14 bits reserved. */ + unsigned short _protocolMode; + + /** perimeter points for the minefield */ + std::vector _perimeterPoints; + + /** Type of mines */ + std::vector _mineType; + + + public: + MinefieldStatePdu(); + virtual ~MinefieldStatePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + MinefieldIdentifier& getMinefieldID(); + const MinefieldIdentifier& getMinefieldID() const; + void setMinefieldID(const MinefieldIdentifier &pX); + + unsigned short getMinefieldSequence() const; + void setMinefieldSequence(unsigned short pX); + + unsigned char getForceID() const; + void setForceID(unsigned char pX); + + unsigned char getNumberOfPerimeterPoints() const; + + EntityType& getMinefieldType(); + const EntityType& getMinefieldType() const; + void setMinefieldType(const EntityType &pX); + + unsigned short getNumberOfMineTypes() const; + + Vector3Double& getMinefieldLocation(); + const Vector3Double& getMinefieldLocation() const; + void setMinefieldLocation(const Vector3Double &pX); + + EulerAngles& getMinefieldOrientation(); + const EulerAngles& getMinefieldOrientation() const; + void setMinefieldOrientation(const EulerAngles &pX); + + unsigned short getAppearance() const; + void setAppearance(unsigned short pX); + + unsigned short getProtocolMode() const; + void setProtocolMode(unsigned short pX); + + std::vector& getPerimeterPoints(); + const std::vector& getPerimeterPoints() const; + void setPerimeterPoints(const std::vector& pX); + + std::vector& getMineType(); + const std::vector& getMineType() const; + void setMineType(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const MinefieldStatePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ModulationParameters.cpp b/cpp/DIS7/ModulationParameters.cpp new file mode 100644 index 00000000..1ffedb7b --- /dev/null +++ b/cpp/DIS7/ModulationParameters.cpp @@ -0,0 +1,67 @@ +#include + +using namespace DIS; + + +ModulationParameters::ModulationParameters() +{ +} + +ModulationParameters::~ModulationParameters() +{ +} + +void ModulationParameters::marshal(DataStream& dataStream) const +{ +} + +void ModulationParameters::unmarshal(DataStream& dataStream) +{ +} + + +bool ModulationParameters::operator ==(const ModulationParameters& rhs) const + { + bool ivarsEqual = true; + + + return ivarsEqual; + } + +int ModulationParameters::getMarshalledSize() const +{ + int marshalSize = 0; + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ModulationParameters.h b/cpp/DIS7/ModulationParameters.h new file mode 100644 index 00000000..50c96df9 --- /dev/null +++ b/cpp/DIS7/ModulationParameters.h @@ -0,0 +1,64 @@ +#ifndef MODULATIONPARAMETERS_H +#define MODULATIONPARAMETERS_H + +#include +#include + + +namespace DIS +{ +// Modulation parameters associated with a specific radio system. INCOMPLETE. 6.2.58 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ModulationParameters +{ +protected: + + public: + ModulationParameters(); + virtual ~ModulationParameters(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ModulationParameters& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ModulationType.cpp b/cpp/DIS7/ModulationType.cpp new file mode 100644 index 00000000..7d199502 --- /dev/null +++ b/cpp/DIS7/ModulationType.cpp @@ -0,0 +1,127 @@ +#include + +using namespace DIS; + + +ModulationType::ModulationType(): + _spreadSpectrum(0), + _majorModulation(0), + _detail(0), + _radioSystem(0) +{ +} + +ModulationType::~ModulationType() +{ +} + +unsigned short ModulationType::getSpreadSpectrum() const +{ + return _spreadSpectrum; +} + +void ModulationType::setSpreadSpectrum(unsigned short pX) +{ + _spreadSpectrum = pX; +} + +unsigned short ModulationType::getMajorModulation() const +{ + return _majorModulation; +} + +void ModulationType::setMajorModulation(unsigned short pX) +{ + _majorModulation = pX; +} + +unsigned short ModulationType::getDetail() const +{ + return _detail; +} + +void ModulationType::setDetail(unsigned short pX) +{ + _detail = pX; +} + +unsigned short ModulationType::getRadioSystem() const +{ + return _radioSystem; +} + +void ModulationType::setRadioSystem(unsigned short pX) +{ + _radioSystem = pX; +} + +void ModulationType::marshal(DataStream& dataStream) const +{ + dataStream << _spreadSpectrum; + dataStream << _majorModulation; + dataStream << _detail; + dataStream << _radioSystem; +} + +void ModulationType::unmarshal(DataStream& dataStream) +{ + dataStream >> _spreadSpectrum; + dataStream >> _majorModulation; + dataStream >> _detail; + dataStream >> _radioSystem; +} + + +bool ModulationType::operator ==(const ModulationType& rhs) const + { + bool ivarsEqual = true; + + if( ! (_spreadSpectrum == rhs._spreadSpectrum) ) ivarsEqual = false; + if( ! (_majorModulation == rhs._majorModulation) ) ivarsEqual = false; + if( ! (_detail == rhs._detail) ) ivarsEqual = false; + if( ! (_radioSystem == rhs._radioSystem) ) ivarsEqual = false; + + return ivarsEqual; + } + +int ModulationType::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2; // _spreadSpectrum + marshalSize = marshalSize + 2; // _majorModulation + marshalSize = marshalSize + 2; // _detail + marshalSize = marshalSize + 2; // _radioSystem + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ModulationType.h b/cpp/DIS7/ModulationType.h new file mode 100644 index 00000000..c697cba3 --- /dev/null +++ b/cpp/DIS7/ModulationType.h @@ -0,0 +1,88 @@ +#ifndef MODULATIONTYPE_H +#define MODULATIONTYPE_H + +#include +#include + + +namespace DIS +{ +// Information about the type of modulation used for radio transmission. 6.2.59 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ModulationType +{ +protected: + /** This field shall indicate the spread spectrum technique or combination of spread spectrum techniques in use. Bt field. */ + unsigned short _spreadSpectrum; + + /** the major classification of the modulation type. */ + unsigned short _majorModulation; + + /** provide certain detailed information depending upon the major modulation type */ + unsigned short _detail; + + /** the radio system associated with this Transmitter PDU and shall be used as the basis to interpret other fields whose values depend on a specific radio system. */ + unsigned short _radioSystem; + + + public: + ModulationType(); + virtual ~ModulationType(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getSpreadSpectrum() const; + void setSpreadSpectrum(unsigned short pX); + + unsigned short getMajorModulation() const; + void setMajorModulation(unsigned short pX); + + unsigned short getDetail() const; + void setDetail(unsigned short pX); + + unsigned short getRadioSystem() const; + void setRadioSystem(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ModulationType& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/Munition.cpp b/cpp/DIS7/Munition.cpp new file mode 100644 index 00000000..e7a8e83d --- /dev/null +++ b/cpp/DIS7/Munition.cpp @@ -0,0 +1,147 @@ +#include + +using namespace DIS; + + +Munition::Munition(): + _munitionType(), + _station(0), + _quantity(0), + _munitionStatus(0), + _padding(0) +{ +} + +Munition::~Munition() +{ +} + +EntityType& Munition::getMunitionType() +{ + return _munitionType; +} + +const EntityType& Munition::getMunitionType() const +{ + return _munitionType; +} + +void Munition::setMunitionType(const EntityType &pX) +{ + _munitionType = pX; +} + +unsigned int Munition::getStation() const +{ + return _station; +} + +void Munition::setStation(unsigned int pX) +{ + _station = pX; +} + +unsigned short Munition::getQuantity() const +{ + return _quantity; +} + +void Munition::setQuantity(unsigned short pX) +{ + _quantity = pX; +} + +unsigned char Munition::getMunitionStatus() const +{ + return _munitionStatus; +} + +void Munition::setMunitionStatus(unsigned char pX) +{ + _munitionStatus = pX; +} + +unsigned char Munition::getPadding() const +{ + return _padding; +} + +void Munition::setPadding(unsigned char pX) +{ + _padding = pX; +} + +void Munition::marshal(DataStream& dataStream) const +{ + _munitionType.marshal(dataStream); + dataStream << _station; + dataStream << _quantity; + dataStream << _munitionStatus; + dataStream << _padding; +} + +void Munition::unmarshal(DataStream& dataStream) +{ + _munitionType.unmarshal(dataStream); + dataStream >> _station; + dataStream >> _quantity; + dataStream >> _munitionStatus; + dataStream >> _padding; +} + + +bool Munition::operator ==(const Munition& rhs) const + { + bool ivarsEqual = true; + + if( ! (_munitionType == rhs._munitionType) ) ivarsEqual = false; + if( ! (_station == rhs._station) ) ivarsEqual = false; + if( ! (_quantity == rhs._quantity) ) ivarsEqual = false; + if( ! (_munitionStatus == rhs._munitionStatus) ) ivarsEqual = false; + if( ! (_padding == rhs._padding) ) ivarsEqual = false; + + return ivarsEqual; + } + +int Munition::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _munitionType.getMarshalledSize(); // _munitionType + marshalSize = marshalSize + 4; // _station + marshalSize = marshalSize + 2; // _quantity + marshalSize = marshalSize + 1; // _munitionStatus + marshalSize = marshalSize + 1; // _padding + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/Munition.h b/cpp/DIS7/Munition.h new file mode 100644 index 00000000..559f617d --- /dev/null +++ b/cpp/DIS7/Munition.h @@ -0,0 +1,96 @@ +#ifndef MUNITION_H +#define MUNITION_H + +#include +#include +#include + + +namespace DIS +{ +// An entity's munition (e.g., bomb, missile) information shall be represented by one or more Munition records. For each type or location of munition, this record shall specify the type, location, quantity and status of munitions that an entity contains. Section 6.2.60 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO Munition +{ +protected: + /** This field shall identify the entity type of the munition. See section 6.2.30. */ + EntityType _munitionType; + + /** the station or launcher to which the munition is assigned. See Annex I */ + unsigned int _station; + + /** the quantity remaining of this munition. */ + unsigned short _quantity; + + /** the status of the munition. It shall be represented by an 8-bit enumeration. */ + unsigned char _munitionStatus; + + /** padding */ + unsigned char _padding; + + + public: + Munition(); + virtual ~Munition(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityType& getMunitionType(); + const EntityType& getMunitionType() const; + void setMunitionType(const EntityType &pX); + + unsigned int getStation() const; + void setStation(unsigned int pX); + + unsigned short getQuantity() const; + void setQuantity(unsigned short pX); + + unsigned char getMunitionStatus() const; + void setMunitionStatus(unsigned char pX); + + unsigned char getPadding() const; + void setPadding(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const Munition& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/MunitionDescriptor.cpp b/cpp/DIS7/MunitionDescriptor.cpp new file mode 100644 index 00000000..d58e7c75 --- /dev/null +++ b/cpp/DIS7/MunitionDescriptor.cpp @@ -0,0 +1,147 @@ +#include + +using namespace DIS; + + +MunitionDescriptor::MunitionDescriptor(): + _munitionType(), + _warhead(0), + _fuse(0), + _quantity(0), + _rate(0) +{ +} + +MunitionDescriptor::~MunitionDescriptor() +{ +} + +EntityType& MunitionDescriptor::getMunitionType() +{ + return _munitionType; +} + +const EntityType& MunitionDescriptor::getMunitionType() const +{ + return _munitionType; +} + +void MunitionDescriptor::setMunitionType(const EntityType &pX) +{ + _munitionType = pX; +} + +unsigned short MunitionDescriptor::getWarhead() const +{ + return _warhead; +} + +void MunitionDescriptor::setWarhead(unsigned short pX) +{ + _warhead = pX; +} + +unsigned short MunitionDescriptor::getFuse() const +{ + return _fuse; +} + +void MunitionDescriptor::setFuse(unsigned short pX) +{ + _fuse = pX; +} + +unsigned short MunitionDescriptor::getQuantity() const +{ + return _quantity; +} + +void MunitionDescriptor::setQuantity(unsigned short pX) +{ + _quantity = pX; +} + +unsigned short MunitionDescriptor::getRate() const +{ + return _rate; +} + +void MunitionDescriptor::setRate(unsigned short pX) +{ + _rate = pX; +} + +void MunitionDescriptor::marshal(DataStream& dataStream) const +{ + _munitionType.marshal(dataStream); + dataStream << _warhead; + dataStream << _fuse; + dataStream << _quantity; + dataStream << _rate; +} + +void MunitionDescriptor::unmarshal(DataStream& dataStream) +{ + _munitionType.unmarshal(dataStream); + dataStream >> _warhead; + dataStream >> _fuse; + dataStream >> _quantity; + dataStream >> _rate; +} + + +bool MunitionDescriptor::operator ==(const MunitionDescriptor& rhs) const + { + bool ivarsEqual = true; + + if( ! (_munitionType == rhs._munitionType) ) ivarsEqual = false; + if( ! (_warhead == rhs._warhead) ) ivarsEqual = false; + if( ! (_fuse == rhs._fuse) ) ivarsEqual = false; + if( ! (_quantity == rhs._quantity) ) ivarsEqual = false; + if( ! (_rate == rhs._rate) ) ivarsEqual = false; + + return ivarsEqual; + } + +int MunitionDescriptor::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _munitionType.getMarshalledSize(); // _munitionType + marshalSize = marshalSize + 2; // _warhead + marshalSize = marshalSize + 2; // _fuse + marshalSize = marshalSize + 2; // _quantity + marshalSize = marshalSize + 2; // _rate + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/MunitionDescriptor.h b/cpp/DIS7/MunitionDescriptor.h new file mode 100644 index 00000000..9bb132cc --- /dev/null +++ b/cpp/DIS7/MunitionDescriptor.h @@ -0,0 +1,96 @@ +#ifndef MUNITIONDESCRIPTOR_H +#define MUNITIONDESCRIPTOR_H + +#include +#include +#include + + +namespace DIS +{ +// Represents the firing or detonation of a munition. Section 6.2.20.2 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO MunitionDescriptor +{ +protected: + /** What munition was used in the burst */ + EntityType _munitionType; + + /** type of warhead */ + unsigned short _warhead; + + /** type of fuse used */ + unsigned short _fuse; + + /** how many of the munition were fired */ + unsigned short _quantity; + + /** rate at which the munition was fired */ + unsigned short _rate; + + + public: + MunitionDescriptor(); + virtual ~MunitionDescriptor(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityType& getMunitionType(); + const EntityType& getMunitionType() const; + void setMunitionType(const EntityType &pX); + + unsigned short getWarhead() const; + void setWarhead(unsigned short pX); + + unsigned short getFuse() const; + void setFuse(unsigned short pX); + + unsigned short getQuantity() const; + void setQuantity(unsigned short pX); + + unsigned short getRate() const; + void setRate(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const MunitionDescriptor& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/MunitionReload.cpp b/cpp/DIS7/MunitionReload.cpp new file mode 100644 index 00000000..95dd6978 --- /dev/null +++ b/cpp/DIS7/MunitionReload.cpp @@ -0,0 +1,162 @@ +#include + +using namespace DIS; + + +MunitionReload::MunitionReload(): + _munitionType(), + _station(0), + _standardQuantity(0), + _maximumQuantity(0), + _stationName(0), + _stationNumber(0) +{ +} + +MunitionReload::~MunitionReload() +{ +} + +EntityType& MunitionReload::getMunitionType() +{ + return _munitionType; +} + +const EntityType& MunitionReload::getMunitionType() const +{ + return _munitionType; +} + +void MunitionReload::setMunitionType(const EntityType &pX) +{ + _munitionType = pX; +} + +unsigned int MunitionReload::getStation() const +{ + return _station; +} + +void MunitionReload::setStation(unsigned int pX) +{ + _station = pX; +} + +unsigned short MunitionReload::getStandardQuantity() const +{ + return _standardQuantity; +} + +void MunitionReload::setStandardQuantity(unsigned short pX) +{ + _standardQuantity = pX; +} + +unsigned short MunitionReload::getMaximumQuantity() const +{ + return _maximumQuantity; +} + +void MunitionReload::setMaximumQuantity(unsigned short pX) +{ + _maximumQuantity = pX; +} + +unsigned short MunitionReload::getStationName() const +{ + return _stationName; +} + +void MunitionReload::setStationName(unsigned short pX) +{ + _stationName = pX; +} + +unsigned short MunitionReload::getStationNumber() const +{ + return _stationNumber; +} + +void MunitionReload::setStationNumber(unsigned short pX) +{ + _stationNumber = pX; +} + +void MunitionReload::marshal(DataStream& dataStream) const +{ + _munitionType.marshal(dataStream); + dataStream << _station; + dataStream << _standardQuantity; + dataStream << _maximumQuantity; + dataStream << _stationName; + dataStream << _stationNumber; +} + +void MunitionReload::unmarshal(DataStream& dataStream) +{ + _munitionType.unmarshal(dataStream); + dataStream >> _station; + dataStream >> _standardQuantity; + dataStream >> _maximumQuantity; + dataStream >> _stationName; + dataStream >> _stationNumber; +} + + +bool MunitionReload::operator ==(const MunitionReload& rhs) const + { + bool ivarsEqual = true; + + if( ! (_munitionType == rhs._munitionType) ) ivarsEqual = false; + if( ! (_station == rhs._station) ) ivarsEqual = false; + if( ! (_standardQuantity == rhs._standardQuantity) ) ivarsEqual = false; + if( ! (_maximumQuantity == rhs._maximumQuantity) ) ivarsEqual = false; + if( ! (_stationName == rhs._stationName) ) ivarsEqual = false; + if( ! (_stationNumber == rhs._stationNumber) ) ivarsEqual = false; + + return ivarsEqual; + } + +int MunitionReload::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _munitionType.getMarshalledSize(); // _munitionType + marshalSize = marshalSize + 4; // _station + marshalSize = marshalSize + 2; // _standardQuantity + marshalSize = marshalSize + 2; // _maximumQuantity + marshalSize = marshalSize + 2; // _stationName + marshalSize = marshalSize + 2; // _stationNumber + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/MunitionReload.h b/cpp/DIS7/MunitionReload.h new file mode 100644 index 00000000..41711dd0 --- /dev/null +++ b/cpp/DIS7/MunitionReload.h @@ -0,0 +1,102 @@ +#ifndef MUNITIONRELOAD_H +#define MUNITIONRELOAD_H + +#include +#include +#include + + +namespace DIS +{ +// indicate weapons (munitions) previously communicated via the Munition record. Section 6.2.61 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO MunitionReload +{ +protected: + /** This field shall identify the entity type of the munition. See section 6.2.30. */ + EntityType _munitionType; + + /** the station or launcher to which the munition is assigned. See Annex I */ + unsigned int _station; + + /** the standard quantity of this munition type normally loaded at this station/launcher if a station/launcher is specified. */ + unsigned short _standardQuantity; + + /** the maximum quantity of this munition type that this station/launcher is capable of holding when a station/launcher is specified */ + unsigned short _maximumQuantity; + + /** the station name within the host at which the part entity is located. */ + unsigned short _stationName; + + /** the number of the particular wing station, cargo hold etc., at which the part is attached. */ + unsigned short _stationNumber; + + + public: + MunitionReload(); + virtual ~MunitionReload(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityType& getMunitionType(); + const EntityType& getMunitionType() const; + void setMunitionType(const EntityType &pX); + + unsigned int getStation() const; + void setStation(unsigned int pX); + + unsigned short getStandardQuantity() const; + void setStandardQuantity(unsigned short pX); + + unsigned short getMaximumQuantity() const; + void setMaximumQuantity(unsigned short pX); + + unsigned short getStationName() const; + void setStationName(unsigned short pX); + + unsigned short getStationNumber() const; + void setStationNumber(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const MunitionReload& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/NamedLocationIdentification.cpp b/cpp/DIS7/NamedLocationIdentification.cpp new file mode 100644 index 00000000..5ff812e4 --- /dev/null +++ b/cpp/DIS7/NamedLocationIdentification.cpp @@ -0,0 +1,97 @@ +#include + +using namespace DIS; + + +NamedLocationIdentification::NamedLocationIdentification(): + _stationName(0), + _stationNumber(0) +{ +} + +NamedLocationIdentification::~NamedLocationIdentification() +{ +} + +unsigned short NamedLocationIdentification::getStationName() const +{ + return _stationName; +} + +void NamedLocationIdentification::setStationName(unsigned short pX) +{ + _stationName = pX; +} + +unsigned short NamedLocationIdentification::getStationNumber() const +{ + return _stationNumber; +} + +void NamedLocationIdentification::setStationNumber(unsigned short pX) +{ + _stationNumber = pX; +} + +void NamedLocationIdentification::marshal(DataStream& dataStream) const +{ + dataStream << _stationName; + dataStream << _stationNumber; +} + +void NamedLocationIdentification::unmarshal(DataStream& dataStream) +{ + dataStream >> _stationName; + dataStream >> _stationNumber; +} + + +bool NamedLocationIdentification::operator ==(const NamedLocationIdentification& rhs) const + { + bool ivarsEqual = true; + + if( ! (_stationName == rhs._stationName) ) ivarsEqual = false; + if( ! (_stationNumber == rhs._stationNumber) ) ivarsEqual = false; + + return ivarsEqual; + } + +int NamedLocationIdentification::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2; // _stationName + marshalSize = marshalSize + 2; // _stationNumber + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/NamedLocationIdentification.h b/cpp/DIS7/NamedLocationIdentification.h new file mode 100644 index 00000000..a36116ec --- /dev/null +++ b/cpp/DIS7/NamedLocationIdentification.h @@ -0,0 +1,76 @@ +#ifndef NAMEDLOCATIONIDENTIFICATION_H +#define NAMEDLOCATIONIDENTIFICATION_H + +#include +#include + + +namespace DIS +{ +// Information about the discrete positional relationship of the part entity with respect to the its host entity Section 6.2.62 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO NamedLocationIdentification +{ +protected: + /** the station name within the host at which the part entity is located. If the part entity is On Station, this field shall specify the representation of the part’s location data fields. This field shall be specified by a 16-bit enumeration */ + unsigned short _stationName; + + /** the number of the particular wing station, cargo hold etc., at which the part is attached. */ + unsigned short _stationNumber; + + + public: + NamedLocationIdentification(); + virtual ~NamedLocationIdentification(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getStationName() const; + void setStationName(unsigned short pX); + + unsigned short getStationNumber() const; + void setStationNumber(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const NamedLocationIdentification& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ObjectIdentifier.cpp b/cpp/DIS7/ObjectIdentifier.cpp new file mode 100644 index 00000000..28733534 --- /dev/null +++ b/cpp/DIS7/ObjectIdentifier.cpp @@ -0,0 +1,102 @@ +#include + +using namespace DIS; + + +ObjectIdentifier::ObjectIdentifier(): + _simulationAddress(), + _objectNumber(0) +{ +} + +ObjectIdentifier::~ObjectIdentifier() +{ +} + +SimulationAddress& ObjectIdentifier::getSimulationAddress() +{ + return _simulationAddress; +} + +const SimulationAddress& ObjectIdentifier::getSimulationAddress() const +{ + return _simulationAddress; +} + +void ObjectIdentifier::setSimulationAddress(const SimulationAddress &pX) +{ + _simulationAddress = pX; +} + +unsigned short ObjectIdentifier::getObjectNumber() const +{ + return _objectNumber; +} + +void ObjectIdentifier::setObjectNumber(unsigned short pX) +{ + _objectNumber = pX; +} + +void ObjectIdentifier::marshal(DataStream& dataStream) const +{ + _simulationAddress.marshal(dataStream); + dataStream << _objectNumber; +} + +void ObjectIdentifier::unmarshal(DataStream& dataStream) +{ + _simulationAddress.unmarshal(dataStream); + dataStream >> _objectNumber; +} + + +bool ObjectIdentifier::operator ==(const ObjectIdentifier& rhs) const + { + bool ivarsEqual = true; + + if( ! (_simulationAddress == rhs._simulationAddress) ) ivarsEqual = false; + if( ! (_objectNumber == rhs._objectNumber) ) ivarsEqual = false; + + return ivarsEqual; + } + +int ObjectIdentifier::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _simulationAddress.getMarshalledSize(); // _simulationAddress + marshalSize = marshalSize + 2; // _objectNumber + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ObjectIdentifier.h b/cpp/DIS7/ObjectIdentifier.h new file mode 100644 index 00000000..48182d42 --- /dev/null +++ b/cpp/DIS7/ObjectIdentifier.h @@ -0,0 +1,78 @@ +#ifndef OBJECTIDENTIFIER_H +#define OBJECTIDENTIFIER_H + +#include +#include +#include + + +namespace DIS +{ +// The unique designation of an environmental object. Section 6.2.63 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ObjectIdentifier +{ +protected: + /** Simulation Address */ + SimulationAddress _simulationAddress; + + /** */ + unsigned short _objectNumber; + + + public: + ObjectIdentifier(); + virtual ~ObjectIdentifier(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + SimulationAddress& getSimulationAddress(); + const SimulationAddress& getSimulationAddress() const; + void setSimulationAddress(const SimulationAddress &pX); + + unsigned short getObjectNumber() const; + void setObjectNumber(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ObjectIdentifier& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ObjectType.cpp b/cpp/DIS7/ObjectType.cpp new file mode 100644 index 00000000..f7a47c55 --- /dev/null +++ b/cpp/DIS7/ObjectType.cpp @@ -0,0 +1,127 @@ +#include + +using namespace DIS; + + +ObjectType::ObjectType(): + _domain(0), + _objectKind(0), + _category(0), + _subcategory(0) +{ +} + +ObjectType::~ObjectType() +{ +} + +unsigned char ObjectType::getDomain() const +{ + return _domain; +} + +void ObjectType::setDomain(unsigned char pX) +{ + _domain = pX; +} + +unsigned char ObjectType::getObjectKind() const +{ + return _objectKind; +} + +void ObjectType::setObjectKind(unsigned char pX) +{ + _objectKind = pX; +} + +unsigned char ObjectType::getCategory() const +{ + return _category; +} + +void ObjectType::setCategory(unsigned char pX) +{ + _category = pX; +} + +unsigned char ObjectType::getSubcategory() const +{ + return _subcategory; +} + +void ObjectType::setSubcategory(unsigned char pX) +{ + _subcategory = pX; +} + +void ObjectType::marshal(DataStream& dataStream) const +{ + dataStream << _domain; + dataStream << _objectKind; + dataStream << _category; + dataStream << _subcategory; +} + +void ObjectType::unmarshal(DataStream& dataStream) +{ + dataStream >> _domain; + dataStream >> _objectKind; + dataStream >> _category; + dataStream >> _subcategory; +} + + +bool ObjectType::operator ==(const ObjectType& rhs) const + { + bool ivarsEqual = true; + + if( ! (_domain == rhs._domain) ) ivarsEqual = false; + if( ! (_objectKind == rhs._objectKind) ) ivarsEqual = false; + if( ! (_category == rhs._category) ) ivarsEqual = false; + if( ! (_subcategory == rhs._subcategory) ) ivarsEqual = false; + + return ivarsEqual; + } + +int ObjectType::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _domain + marshalSize = marshalSize + 1; // _objectKind + marshalSize = marshalSize + 1; // _category + marshalSize = marshalSize + 1; // _subcategory + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ObjectType.h b/cpp/DIS7/ObjectType.h new file mode 100644 index 00000000..de908cf7 --- /dev/null +++ b/cpp/DIS7/ObjectType.h @@ -0,0 +1,88 @@ +#ifndef OBJECTTYPE_H +#define OBJECTTYPE_H + +#include +#include + + +namespace DIS +{ +// The unique designation of an environmental object. Section 6.2.64 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ObjectType +{ +protected: + /** Domain of entity (air, surface, subsurface, space, etc) */ + unsigned char _domain; + + /** country to which the design of the entity is attributed */ + unsigned char _objectKind; + + /** category of entity */ + unsigned char _category; + + /** subcategory of entity */ + unsigned char _subcategory; + + + public: + ObjectType(); + virtual ~ObjectType(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getDomain() const; + void setDomain(unsigned char pX); + + unsigned char getObjectKind() const; + void setObjectKind(unsigned char pX); + + unsigned char getCategory() const; + void setCategory(unsigned char pX); + + unsigned char getSubcategory() const; + void setSubcategory(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ObjectType& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/OneByteChunk.cpp b/cpp/DIS7/OneByteChunk.cpp new file mode 100644 index 00000000..80377e5d --- /dev/null +++ b/cpp/DIS7/OneByteChunk.cpp @@ -0,0 +1,110 @@ +#include + +using namespace DIS; + + +OneByteChunk::OneByteChunk() +{ + // Initialize fixed length array + for(int lengthotherParameters= 0; lengthotherParameters < 1; lengthotherParameters++) + { + _otherParameters[lengthotherParameters] = 0; + } + +} + +OneByteChunk::~OneByteChunk() +{ +} + +char* OneByteChunk::getOtherParameters() +{ + return _otherParameters; +} + +const char* OneByteChunk::getOtherParameters() const +{ + return _otherParameters; +} + +void OneByteChunk::setOtherParameters(const char* x) +{ + for(int i = 0; i < 1; i++) + { + _otherParameters[i] = x[i]; + } +} + +void OneByteChunk::marshal(DataStream& dataStream) const +{ + + for(size_t idx = 0; idx < 1; idx++) + { + dataStream << _otherParameters[idx]; + } + +} + +void OneByteChunk::unmarshal(DataStream& dataStream) +{ + + for(size_t idx = 0; idx < 1; idx++) + { + dataStream >> _otherParameters[idx]; + } + +} + + +bool OneByteChunk::operator ==(const OneByteChunk& rhs) const + { + bool ivarsEqual = true; + + + for(char idx = 0; idx < 1; idx++) + { + if(!(_otherParameters[idx] == rhs._otherParameters[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int OneByteChunk::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1 * 1; // _otherParameters + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/OneByteChunk.h b/cpp/DIS7/OneByteChunk.h new file mode 100644 index 00000000..83e1cf6b --- /dev/null +++ b/cpp/DIS7/OneByteChunk.h @@ -0,0 +1,71 @@ +#ifndef ONEBYTECHUNK_H +#define ONEBYTECHUNK_H + +#include +#include + + +namespace DIS +{ +// 8 bit piece of data + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO OneByteChunk +{ +protected: + /** one byte of arbitrary data */ + char _otherParameters[1]; + + + public: + OneByteChunk(); + virtual ~OneByteChunk(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + char* getOtherParameters(); + const char* getOtherParameters() const; + void setOtherParameters( const char* pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const OneByteChunk& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/OwnershipStatus.cpp b/cpp/DIS7/OwnershipStatus.cpp new file mode 100644 index 00000000..6b51064b --- /dev/null +++ b/cpp/DIS7/OwnershipStatus.cpp @@ -0,0 +1,117 @@ +#include + +using namespace DIS; + + +OwnershipStatus::OwnershipStatus(): + _entityId(), + _ownershipStatus(0), + _padding(0) +{ +} + +OwnershipStatus::~OwnershipStatus() +{ +} + +EntityID& OwnershipStatus::getEntityId() +{ + return _entityId; +} + +const EntityID& OwnershipStatus::getEntityId() const +{ + return _entityId; +} + +void OwnershipStatus::setEntityId(const EntityID &pX) +{ + _entityId = pX; +} + +unsigned char OwnershipStatus::getOwnershipStatus() const +{ + return _ownershipStatus; +} + +void OwnershipStatus::setOwnershipStatus(unsigned char pX) +{ + _ownershipStatus = pX; +} + +unsigned char OwnershipStatus::getPadding() const +{ + return _padding; +} + +void OwnershipStatus::setPadding(unsigned char pX) +{ + _padding = pX; +} + +void OwnershipStatus::marshal(DataStream& dataStream) const +{ + _entityId.marshal(dataStream); + dataStream << _ownershipStatus; + dataStream << _padding; +} + +void OwnershipStatus::unmarshal(DataStream& dataStream) +{ + _entityId.unmarshal(dataStream); + dataStream >> _ownershipStatus; + dataStream >> _padding; +} + + +bool OwnershipStatus::operator ==(const OwnershipStatus& rhs) const + { + bool ivarsEqual = true; + + if( ! (_entityId == rhs._entityId) ) ivarsEqual = false; + if( ! (_ownershipStatus == rhs._ownershipStatus) ) ivarsEqual = false; + if( ! (_padding == rhs._padding) ) ivarsEqual = false; + + return ivarsEqual; + } + +int OwnershipStatus::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _entityId.getMarshalledSize(); // _entityId + marshalSize = marshalSize + 1; // _ownershipStatus + marshalSize = marshalSize + 1; // _padding + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/OwnershipStatus.h b/cpp/DIS7/OwnershipStatus.h new file mode 100644 index 00000000..43fb66ac --- /dev/null +++ b/cpp/DIS7/OwnershipStatus.h @@ -0,0 +1,84 @@ +#ifndef OWNERSHIPSTATUS_H +#define OWNERSHIPSTATUS_H + +#include +#include +#include + + +namespace DIS +{ +// used to convey entity and conflict status information associated with transferring ownership of an entity. Section 6.2.65 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO OwnershipStatus +{ +protected: + /** EntityID */ + EntityID _entityId; + + /** The ownership and/or ownership conflict status of the entity represented by the Entity ID field. */ + unsigned char _ownershipStatus; + + /** padding */ + unsigned char _padding; + + + public: + OwnershipStatus(); + virtual ~OwnershipStatus(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getEntityId(); + const EntityID& getEntityId() const; + void setEntityId(const EntityID &pX); + + unsigned char getOwnershipStatus() const; + void setOwnershipStatus(unsigned char pX); + + unsigned char getPadding() const; + void setPadding(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const OwnershipStatus& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/Pdu.cpp b/cpp/DIS7/Pdu.cpp new file mode 100644 index 00000000..3317c827 --- /dev/null +++ b/cpp/DIS7/Pdu.cpp @@ -0,0 +1,102 @@ +#include + +using namespace DIS; + + +Pdu::Pdu() : PduSuperclass(), + _pduStatus(0), + _padding(0) +{ +} + +Pdu::~Pdu() +{ +} + +unsigned char Pdu::getPduStatus() const +{ + return _pduStatus; +} + +void Pdu::setPduStatus(unsigned char pX) +{ + _pduStatus = pX; +} + +unsigned char Pdu::getPadding() const +{ + return _padding; +} + +void Pdu::setPadding(unsigned char pX) +{ + _padding = pX; +} + +void Pdu::marshal(DataStream& dataStream) const +{ + PduSuperclass::marshal(dataStream); // Marshal information in superclass first + dataStream << _pduStatus; + dataStream << _padding; +} + +void Pdu::unmarshal(DataStream& dataStream) +{ + PduSuperclass::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _pduStatus; + dataStream >> _padding; +} + + +bool Pdu::operator ==(const Pdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = PduSuperclass::operator==(rhs); + + if( ! (_pduStatus == rhs._pduStatus) ) ivarsEqual = false; + if( ! (_padding == rhs._padding) ) ivarsEqual = false; + + return ivarsEqual; + } + +int Pdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = PduSuperclass::getMarshalledSize(); + marshalSize = marshalSize + 1; // _pduStatus + marshalSize = marshalSize + 1; // _padding + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/Pdu.h b/cpp/DIS7/Pdu.h new file mode 100644 index 00000000..17967f00 --- /dev/null +++ b/cpp/DIS7/Pdu.h @@ -0,0 +1,77 @@ +#ifndef PDU_H +#define PDU_H + +#include +#include +#include + + +namespace DIS +{ +// Adds some fields to the the classic PDU + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO Pdu : public PduSuperclass +{ +protected: + /** PDU Status Record. Described in 6.2.67. This field is not present in earlier DIS versions */ + unsigned char _pduStatus; + + /** zero-filled array of padding */ + unsigned char _padding; + + + public: + Pdu(); + virtual ~Pdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getPduStatus() const; + void setPduStatus(unsigned char pX); + + unsigned char getPadding() const; + void setPadding(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const Pdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/PduContainer.cpp b/cpp/DIS7/PduContainer.cpp new file mode 100644 index 00000000..88fded26 --- /dev/null +++ b/cpp/DIS7/PduContainer.cpp @@ -0,0 +1,120 @@ +#include + +using namespace DIS; + + +PduContainer::PduContainer(): + _numberOfPdus(0) +{ +} + +PduContainer::~PduContainer() +{ + _pdus.clear(); +} + +int PduContainer::getNumberOfPdus() const +{ + return _pdus.size(); +} + +std::vector& PduContainer::getPdus() +{ + return _pdus; +} + +const std::vector& PduContainer::getPdus() const +{ + return _pdus; +} + +void PduContainer::setPdus(const std::vector& pX) +{ + _pdus = pX; +} + +void PduContainer::marshal(DataStream& dataStream) const +{ + dataStream << ( int )_pdus.size(); + + for(size_t idx = 0; idx < _pdus.size(); idx++) + { + Pdu x = _pdus[idx]; + x.marshal(dataStream); + } + +} + +void PduContainer::unmarshal(DataStream& dataStream) +{ + dataStream >> _numberOfPdus; + + _pdus.clear(); + for(size_t idx = 0; idx < _numberOfPdus; idx++) + { + Pdu x; + x.unmarshal(dataStream); + _pdus.push_back(x); + } +} + + +bool PduContainer::operator ==(const PduContainer& rhs) const + { + bool ivarsEqual = true; + + + for(size_t idx = 0; idx < _pdus.size(); idx++) + { + if( ! ( _pdus[idx] == rhs._pdus[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int PduContainer::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _numberOfPdus + + for(int idx=0; idx < _pdus.size(); idx++) + { + Pdu listElement = _pdus[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/PduContainer.h b/cpp/DIS7/PduContainer.h new file mode 100644 index 00000000..fd0e0536 --- /dev/null +++ b/cpp/DIS7/PduContainer.h @@ -0,0 +1,78 @@ +#ifndef PDUCONTAINER_H +#define PDUCONTAINER_H + +#include +#include +#include +#include + + +namespace DIS +{ +// Used for XML compatability. A container that holds PDUs + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO PduContainer +{ +protected: + /** Number of PDUs in the container list */ + int _numberOfPdus; + + /** record sets */ + std::vector _pdus; + + + public: + PduContainer(); + virtual ~PduContainer(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + int getNumberOfPdus() const; + + std::vector& getPdus(); + const std::vector& getPdus() const; + void setPdus(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const PduContainer& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/PduHeader.cpp b/cpp/DIS7/PduHeader.cpp new file mode 100644 index 00000000..48b44b19 --- /dev/null +++ b/cpp/DIS7/PduHeader.cpp @@ -0,0 +1,187 @@ +#include + +using namespace DIS; + + +PduHeader::PduHeader(): + _protocolVersion(7), + _exerciseID(0), + _pduType(0), + _protocolFamily(0), + _timestamp(0), + _pduLength(0), + _pduStatus(0), + _padding(0) +{ +} + +PduHeader::~PduHeader() +{ +} + +unsigned char PduHeader::getProtocolVersion() const +{ + return _protocolVersion; +} + +void PduHeader::setProtocolVersion(unsigned char pX) +{ + _protocolVersion = pX; +} + +unsigned char PduHeader::getExerciseID() const +{ + return _exerciseID; +} + +void PduHeader::setExerciseID(unsigned char pX) +{ + _exerciseID = pX; +} + +unsigned char PduHeader::getPduType() const +{ + return _pduType; +} + +void PduHeader::setPduType(unsigned char pX) +{ + _pduType = pX; +} + +unsigned char PduHeader::getProtocolFamily() const +{ + return _protocolFamily; +} + +void PduHeader::setProtocolFamily(unsigned char pX) +{ + _protocolFamily = pX; +} + +unsigned int PduHeader::getTimestamp() const +{ + return _timestamp; +} + +void PduHeader::setTimestamp(unsigned int pX) +{ + _timestamp = pX; +} + +unsigned char PduHeader::getPduLength() const +{ + return _pduLength; +} + +void PduHeader::setPduLength(unsigned char pX) +{ + _pduLength = pX; +} + +unsigned short PduHeader::getPduStatus() const +{ + return _pduStatus; +} + +void PduHeader::setPduStatus(unsigned short pX) +{ + _pduStatus = pX; +} + +unsigned char PduHeader::getPadding() const +{ + return _padding; +} + +void PduHeader::setPadding(unsigned char pX) +{ + _padding = pX; +} + +void PduHeader::marshal(DataStream& dataStream) const +{ + dataStream << _protocolVersion; + dataStream << _exerciseID; + dataStream << _pduType; + dataStream << _protocolFamily; + dataStream << _timestamp; + dataStream << _pduLength; + dataStream << _pduStatus; + dataStream << _padding; +} + +void PduHeader::unmarshal(DataStream& dataStream) +{ + dataStream >> _protocolVersion; + dataStream >> _exerciseID; + dataStream >> _pduType; + dataStream >> _protocolFamily; + dataStream >> _timestamp; + dataStream >> _pduLength; + dataStream >> _pduStatus; + dataStream >> _padding; +} + + +bool PduHeader::operator ==(const PduHeader& rhs) const + { + bool ivarsEqual = true; + + if( ! (_protocolVersion == rhs._protocolVersion) ) ivarsEqual = false; + if( ! (_exerciseID == rhs._exerciseID) ) ivarsEqual = false; + if( ! (_pduType == rhs._pduType) ) ivarsEqual = false; + if( ! (_protocolFamily == rhs._protocolFamily) ) ivarsEqual = false; + if( ! (_timestamp == rhs._timestamp) ) ivarsEqual = false; + if( ! (_pduLength == rhs._pduLength) ) ivarsEqual = false; + if( ! (_pduStatus == rhs._pduStatus) ) ivarsEqual = false; + if( ! (_padding == rhs._padding) ) ivarsEqual = false; + + return ivarsEqual; + } + +int PduHeader::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _protocolVersion + marshalSize = marshalSize + 1; // _exerciseID + marshalSize = marshalSize + 1; // _pduType + marshalSize = marshalSize + 1; // _protocolFamily + marshalSize = marshalSize + 4; // _timestamp + marshalSize = marshalSize + 1; // _pduLength + marshalSize = marshalSize + 2; // _pduStatus + marshalSize = marshalSize + 1; // _padding + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/PduHeader.h b/cpp/DIS7/PduHeader.h new file mode 100644 index 00000000..5bcb62d9 --- /dev/null +++ b/cpp/DIS7/PduHeader.h @@ -0,0 +1,112 @@ +#ifndef PDUHEADER_H +#define PDUHEADER_H + +#include +#include + + +namespace DIS +{ +// Not used. The PDU Header Record is directly incoroporated into the PDU class. Here for completness only. Section 6.2.66 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO PduHeader +{ +protected: + /** The version of the protocol. 5=DIS-1995, 6=DIS-1998, 7=DIS-2009. */ + unsigned char _protocolVersion; + + /** Exercise ID */ + unsigned char _exerciseID; + + /** Type of pdu, unique for each PDU class */ + unsigned char _pduType; + + /** value that refers to the protocol family, eg SimulationManagement, etc */ + unsigned char _protocolFamily; + + /** Timestamp value */ + unsigned int _timestamp; + + /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word. */ + unsigned char _pduLength; + + /** PDU Status Record. Described in 6.2.67. This field is not present in earlier DIS versions */ + unsigned short _pduStatus; + + /** zero filled array of padding */ + unsigned char _padding; + + + public: + PduHeader(); + virtual ~PduHeader(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getProtocolVersion() const; + void setProtocolVersion(unsigned char pX); + + unsigned char getExerciseID() const; + void setExerciseID(unsigned char pX); + + unsigned char getPduType() const; + void setPduType(unsigned char pX); + + unsigned char getProtocolFamily() const; + void setProtocolFamily(unsigned char pX); + + unsigned int getTimestamp() const; + void setTimestamp(unsigned int pX); + + unsigned char getPduLength() const; + void setPduLength(unsigned char pX); + + unsigned short getPduStatus() const; + void setPduStatus(unsigned short pX); + + unsigned char getPadding() const; + void setPadding(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const PduHeader& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/PduStatus.cpp b/cpp/DIS7/PduStatus.cpp new file mode 100644 index 00000000..22e4165e --- /dev/null +++ b/cpp/DIS7/PduStatus.cpp @@ -0,0 +1,82 @@ +#include + +using namespace DIS; + + +PduStatus::PduStatus(): + _pduStatus(0) +{ +} + +PduStatus::~PduStatus() +{ +} + +unsigned char PduStatus::getPduStatus() const +{ + return _pduStatus; +} + +void PduStatus::setPduStatus(unsigned char pX) +{ + _pduStatus = pX; +} + +void PduStatus::marshal(DataStream& dataStream) const +{ + dataStream << _pduStatus; +} + +void PduStatus::unmarshal(DataStream& dataStream) +{ + dataStream >> _pduStatus; +} + + +bool PduStatus::operator ==(const PduStatus& rhs) const + { + bool ivarsEqual = true; + + if( ! (_pduStatus == rhs._pduStatus) ) ivarsEqual = false; + + return ivarsEqual; + } + +int PduStatus::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _pduStatus + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/PduStatus.h b/cpp/DIS7/PduStatus.h new file mode 100644 index 00000000..5d72f771 --- /dev/null +++ b/cpp/DIS7/PduStatus.h @@ -0,0 +1,70 @@ +#ifndef PDUSTATUS_H +#define PDUSTATUS_H + +#include +#include + + +namespace DIS +{ +// PDU Status. These are a series of bit fields. Represented here as just a byte. Section 6.2.67 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO PduStatus +{ +protected: + /** Bit fields */ + unsigned char _pduStatus; + + + public: + PduStatus(); + virtual ~PduStatus(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getPduStatus() const; + void setPduStatus(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const PduStatus& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/PduSuperclass.cpp b/cpp/DIS7/PduSuperclass.cpp new file mode 100644 index 00000000..9c253367 --- /dev/null +++ b/cpp/DIS7/PduSuperclass.cpp @@ -0,0 +1,157 @@ +#include + +using namespace DIS; + + +PduSuperclass::PduSuperclass(): + _protocolVersion(7), + _exerciseID(0), + _pduType(0), + _protocolFamily(0), + _timestamp(0), + _length(0) +{ +} + +PduSuperclass::~PduSuperclass() +{ +} + +unsigned char PduSuperclass::getProtocolVersion() const +{ + return _protocolVersion; +} + +void PduSuperclass::setProtocolVersion(unsigned char pX) +{ + _protocolVersion = pX; +} + +unsigned char PduSuperclass::getExerciseID() const +{ + return _exerciseID; +} + +void PduSuperclass::setExerciseID(unsigned char pX) +{ + _exerciseID = pX; +} + +unsigned char PduSuperclass::getPduType() const +{ + return _pduType; +} + +void PduSuperclass::setPduType(unsigned char pX) +{ + _pduType = pX; +} + +unsigned char PduSuperclass::getProtocolFamily() const +{ + return _protocolFamily; +} + +void PduSuperclass::setProtocolFamily(unsigned char pX) +{ + _protocolFamily = pX; +} + +unsigned int PduSuperclass::getTimestamp() const +{ + return _timestamp; +} + +void PduSuperclass::setTimestamp(unsigned int pX) +{ + _timestamp = pX; +} + +unsigned short PduSuperclass::getLength() const +{ + return _length; +} + +void PduSuperclass::setLength(unsigned short pX) +{ + _length = pX; +} + +void PduSuperclass::marshal(DataStream& dataStream) const +{ + dataStream << _protocolVersion; + dataStream << _exerciseID; + dataStream << _pduType; + dataStream << _protocolFamily; + dataStream << _timestamp; + dataStream << _length; +} + +void PduSuperclass::unmarshal(DataStream& dataStream) +{ + dataStream >> _protocolVersion; + dataStream >> _exerciseID; + dataStream >> _pduType; + dataStream >> _protocolFamily; + dataStream >> _timestamp; + dataStream >> _length; +} + + +bool PduSuperclass::operator ==(const PduSuperclass& rhs) const + { + bool ivarsEqual = true; + + if( ! (_protocolVersion == rhs._protocolVersion) ) ivarsEqual = false; + if( ! (_exerciseID == rhs._exerciseID) ) ivarsEqual = false; + if( ! (_pduType == rhs._pduType) ) ivarsEqual = false; + if( ! (_protocolFamily == rhs._protocolFamily) ) ivarsEqual = false; + if( ! (_timestamp == rhs._timestamp) ) ivarsEqual = false; + if( ! (_length == rhs._length) ) ivarsEqual = false; + + return ivarsEqual; + } + +int PduSuperclass::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _protocolVersion + marshalSize = marshalSize + 1; // _exerciseID + marshalSize = marshalSize + 1; // _pduType + marshalSize = marshalSize + 1; // _protocolFamily + marshalSize = marshalSize + 4; // _timestamp + marshalSize = marshalSize + 2; // _length + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/PduSuperclass.h b/cpp/DIS7/PduSuperclass.h new file mode 100644 index 00000000..d915fe5c --- /dev/null +++ b/cpp/DIS7/PduSuperclass.h @@ -0,0 +1,100 @@ +#ifndef PDUSUPERCLASS_H +#define PDUSUPERCLASS_H + +#include +#include + + +namespace DIS +{ +// The superclass for all PDUs, including classic and Live Entity (LE) PDUs. This incorporates the PduHeader record, section 7.2.2 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO PduSuperclass +{ +protected: + /** The version of the protocol. 5=DIS-1995, 6=DIS-1998, 7=DIS-2009. */ + unsigned char _protocolVersion; + + /** Exercise ID */ + unsigned char _exerciseID; + + /** Type of pdu, unique for each PDU class */ + unsigned char _pduType; + + /** value that refers to the protocol family, eg SimulationManagement, et */ + unsigned char _protocolFamily; + + /** Timestamp value */ + unsigned int _timestamp; + + /** Length, in bytes, of the PDU */ + unsigned short _length; + + + public: + PduSuperclass(); + virtual ~PduSuperclass(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getProtocolVersion() const; + void setProtocolVersion(unsigned char pX); + + unsigned char getExerciseID() const; + void setExerciseID(unsigned char pX); + + unsigned char getPduType() const; + void setPduType(unsigned char pX); + + unsigned char getProtocolFamily() const; + void setProtocolFamily(unsigned char pX); + + unsigned int getTimestamp() const; + void setTimestamp(unsigned int pX); + + unsigned short getLength() const; + void setLength(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const PduSuperclass& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/PointObjectStatePdu.cpp b/cpp/DIS7/PointObjectStatePdu.cpp new file mode 100644 index 00000000..ad530404 --- /dev/null +++ b/cpp/DIS7/PointObjectStatePdu.cpp @@ -0,0 +1,288 @@ +#include + +using namespace DIS; + + +PointObjectStatePdu::PointObjectStatePdu() : SyntheticEnvironmentFamilyPdu(), + _objectID(), + _referencedObjectID(), + _updateNumber(0), + _forceID(0), + _modifications(0), + _objectType(), + _objectLocation(), + _objectOrientation(), + _objectAppearance(0.0), + _requesterID(), + _receivingID(), + _pad2(0) +{ + setPduType( 43 ); +} + +PointObjectStatePdu::~PointObjectStatePdu() +{ +} + +EntityID& PointObjectStatePdu::getObjectID() +{ + return _objectID; +} + +const EntityID& PointObjectStatePdu::getObjectID() const +{ + return _objectID; +} + +void PointObjectStatePdu::setObjectID(const EntityID &pX) +{ + _objectID = pX; +} + +EntityID& PointObjectStatePdu::getReferencedObjectID() +{ + return _referencedObjectID; +} + +const EntityID& PointObjectStatePdu::getReferencedObjectID() const +{ + return _referencedObjectID; +} + +void PointObjectStatePdu::setReferencedObjectID(const EntityID &pX) +{ + _referencedObjectID = pX; +} + +unsigned short PointObjectStatePdu::getUpdateNumber() const +{ + return _updateNumber; +} + +void PointObjectStatePdu::setUpdateNumber(unsigned short pX) +{ + _updateNumber = pX; +} + +unsigned char PointObjectStatePdu::getForceID() const +{ + return _forceID; +} + +void PointObjectStatePdu::setForceID(unsigned char pX) +{ + _forceID = pX; +} + +unsigned char PointObjectStatePdu::getModifications() const +{ + return _modifications; +} + +void PointObjectStatePdu::setModifications(unsigned char pX) +{ + _modifications = pX; +} + +ObjectType& PointObjectStatePdu::getObjectType() +{ + return _objectType; +} + +const ObjectType& PointObjectStatePdu::getObjectType() const +{ + return _objectType; +} + +void PointObjectStatePdu::setObjectType(const ObjectType &pX) +{ + _objectType = pX; +} + +Vector3Double& PointObjectStatePdu::getObjectLocation() +{ + return _objectLocation; +} + +const Vector3Double& PointObjectStatePdu::getObjectLocation() const +{ + return _objectLocation; +} + +void PointObjectStatePdu::setObjectLocation(const Vector3Double &pX) +{ + _objectLocation = pX; +} + +EulerAngles& PointObjectStatePdu::getObjectOrientation() +{ + return _objectOrientation; +} + +const EulerAngles& PointObjectStatePdu::getObjectOrientation() const +{ + return _objectOrientation; +} + +void PointObjectStatePdu::setObjectOrientation(const EulerAngles &pX) +{ + _objectOrientation = pX; +} + +double PointObjectStatePdu::getObjectAppearance() const +{ + return _objectAppearance; +} + +void PointObjectStatePdu::setObjectAppearance(double pX) +{ + _objectAppearance = pX; +} + +SimulationAddress& PointObjectStatePdu::getRequesterID() +{ + return _requesterID; +} + +const SimulationAddress& PointObjectStatePdu::getRequesterID() const +{ + return _requesterID; +} + +void PointObjectStatePdu::setRequesterID(const SimulationAddress &pX) +{ + _requesterID = pX; +} + +SimulationAddress& PointObjectStatePdu::getReceivingID() +{ + return _receivingID; +} + +const SimulationAddress& PointObjectStatePdu::getReceivingID() const +{ + return _receivingID; +} + +void PointObjectStatePdu::setReceivingID(const SimulationAddress &pX) +{ + _receivingID = pX; +} + +unsigned int PointObjectStatePdu::getPad2() const +{ + return _pad2; +} + +void PointObjectStatePdu::setPad2(unsigned int pX) +{ + _pad2 = pX; +} + +void PointObjectStatePdu::marshal(DataStream& dataStream) const +{ + SyntheticEnvironmentFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _objectID.marshal(dataStream); + _referencedObjectID.marshal(dataStream); + dataStream << _updateNumber; + dataStream << _forceID; + dataStream << _modifications; + _objectType.marshal(dataStream); + _objectLocation.marshal(dataStream); + _objectOrientation.marshal(dataStream); + dataStream << _objectAppearance; + _requesterID.marshal(dataStream); + _receivingID.marshal(dataStream); + dataStream << _pad2; +} + +void PointObjectStatePdu::unmarshal(DataStream& dataStream) +{ + SyntheticEnvironmentFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _objectID.unmarshal(dataStream); + _referencedObjectID.unmarshal(dataStream); + dataStream >> _updateNumber; + dataStream >> _forceID; + dataStream >> _modifications; + _objectType.unmarshal(dataStream); + _objectLocation.unmarshal(dataStream); + _objectOrientation.unmarshal(dataStream); + dataStream >> _objectAppearance; + _requesterID.unmarshal(dataStream); + _receivingID.unmarshal(dataStream); + dataStream >> _pad2; +} + + +bool PointObjectStatePdu::operator ==(const PointObjectStatePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SyntheticEnvironmentFamilyPdu::operator==(rhs); + + if( ! (_objectID == rhs._objectID) ) ivarsEqual = false; + if( ! (_referencedObjectID == rhs._referencedObjectID) ) ivarsEqual = false; + if( ! (_updateNumber == rhs._updateNumber) ) ivarsEqual = false; + if( ! (_forceID == rhs._forceID) ) ivarsEqual = false; + if( ! (_modifications == rhs._modifications) ) ivarsEqual = false; + if( ! (_objectType == rhs._objectType) ) ivarsEqual = false; + if( ! (_objectLocation == rhs._objectLocation) ) ivarsEqual = false; + if( ! (_objectOrientation == rhs._objectOrientation) ) ivarsEqual = false; + if( ! (_objectAppearance == rhs._objectAppearance) ) ivarsEqual = false; + if( ! (_requesterID == rhs._requesterID) ) ivarsEqual = false; + if( ! (_receivingID == rhs._receivingID) ) ivarsEqual = false; + if( ! (_pad2 == rhs._pad2) ) ivarsEqual = false; + + return ivarsEqual; + } + +int PointObjectStatePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SyntheticEnvironmentFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _objectID.getMarshalledSize(); // _objectID + marshalSize = marshalSize + _referencedObjectID.getMarshalledSize(); // _referencedObjectID + marshalSize = marshalSize + 2; // _updateNumber + marshalSize = marshalSize + 1; // _forceID + marshalSize = marshalSize + 1; // _modifications + marshalSize = marshalSize + _objectType.getMarshalledSize(); // _objectType + marshalSize = marshalSize + _objectLocation.getMarshalledSize(); // _objectLocation + marshalSize = marshalSize + _objectOrientation.getMarshalledSize(); // _objectOrientation + marshalSize = marshalSize + 8; // _objectAppearance + marshalSize = marshalSize + _requesterID.getMarshalledSize(); // _requesterID + marshalSize = marshalSize + _receivingID.getMarshalledSize(); // _receivingID + marshalSize = marshalSize + 4; // _pad2 + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/PointObjectStatePdu.h b/cpp/DIS7/PointObjectStatePdu.h new file mode 100644 index 00000000..dfb3b7dd --- /dev/null +++ b/cpp/DIS7/PointObjectStatePdu.h @@ -0,0 +1,151 @@ +#ifndef POINTOBJECTSTATEPDU_H +#define POINTOBJECTSTATEPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// : Inormation abut the addition or modification of a synthecic enviroment object that is anchored to the terrain with a single point. Section 7.10.4 COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO PointObjectStatePdu : public SyntheticEnvironmentFamilyPdu +{ +protected: + /** Object in synthetic environment */ + EntityID _objectID; + + /** Object with which this point object is associated */ + EntityID _referencedObjectID; + + /** unique update number of each state transition of an object */ + unsigned short _updateNumber; + + /** force ID */ + unsigned char _forceID; + + /** modifications */ + unsigned char _modifications; + + /** Object type */ + ObjectType _objectType; + + /** Object location */ + Vector3Double _objectLocation; + + /** Object orientation */ + EulerAngles _objectOrientation; + + /** Object apperance */ + double _objectAppearance; + + /** requesterID */ + SimulationAddress _requesterID; + + /** receiver ID */ + SimulationAddress _receivingID; + + /** padding */ + unsigned int _pad2; + + + public: + PointObjectStatePdu(); + virtual ~PointObjectStatePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getObjectID(); + const EntityID& getObjectID() const; + void setObjectID(const EntityID &pX); + + EntityID& getReferencedObjectID(); + const EntityID& getReferencedObjectID() const; + void setReferencedObjectID(const EntityID &pX); + + unsigned short getUpdateNumber() const; + void setUpdateNumber(unsigned short pX); + + unsigned char getForceID() const; + void setForceID(unsigned char pX); + + unsigned char getModifications() const; + void setModifications(unsigned char pX); + + ObjectType& getObjectType(); + const ObjectType& getObjectType() const; + void setObjectType(const ObjectType &pX); + + Vector3Double& getObjectLocation(); + const Vector3Double& getObjectLocation() const; + void setObjectLocation(const Vector3Double &pX); + + EulerAngles& getObjectOrientation(); + const EulerAngles& getObjectOrientation() const; + void setObjectOrientation(const EulerAngles &pX); + + double getObjectAppearance() const; + void setObjectAppearance(double pX); + + SimulationAddress& getRequesterID(); + const SimulationAddress& getRequesterID() const; + void setRequesterID(const SimulationAddress &pX); + + SimulationAddress& getReceivingID(); + const SimulationAddress& getReceivingID() const; + void setReceivingID(const SimulationAddress &pX); + + unsigned int getPad2() const; + void setPad2(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const PointObjectStatePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/PropulsionSystemData.cpp b/cpp/DIS7/PropulsionSystemData.cpp new file mode 100644 index 00000000..40a9264d --- /dev/null +++ b/cpp/DIS7/PropulsionSystemData.cpp @@ -0,0 +1,97 @@ +#include + +using namespace DIS; + + +PropulsionSystemData::PropulsionSystemData(): + _powerSetting(0.0), + _engineRpm(0.0) +{ +} + +PropulsionSystemData::~PropulsionSystemData() +{ +} + +float PropulsionSystemData::getPowerSetting() const +{ + return _powerSetting; +} + +void PropulsionSystemData::setPowerSetting(float pX) +{ + _powerSetting = pX; +} + +float PropulsionSystemData::getEngineRpm() const +{ + return _engineRpm; +} + +void PropulsionSystemData::setEngineRpm(float pX) +{ + _engineRpm = pX; +} + +void PropulsionSystemData::marshal(DataStream& dataStream) const +{ + dataStream << _powerSetting; + dataStream << _engineRpm; +} + +void PropulsionSystemData::unmarshal(DataStream& dataStream) +{ + dataStream >> _powerSetting; + dataStream >> _engineRpm; +} + + +bool PropulsionSystemData::operator ==(const PropulsionSystemData& rhs) const + { + bool ivarsEqual = true; + + if( ! (_powerSetting == rhs._powerSetting) ) ivarsEqual = false; + if( ! (_engineRpm == rhs._engineRpm) ) ivarsEqual = false; + + return ivarsEqual; + } + +int PropulsionSystemData::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _powerSetting + marshalSize = marshalSize + 4; // _engineRpm + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/PropulsionSystemData.h b/cpp/DIS7/PropulsionSystemData.h new file mode 100644 index 00000000..2b8e4b9e --- /dev/null +++ b/cpp/DIS7/PropulsionSystemData.h @@ -0,0 +1,76 @@ +#ifndef PROPULSIONSYSTEMDATA_H +#define PROPULSIONSYSTEMDATA_H + +#include +#include + + +namespace DIS +{ +// contains information describing the propulsion systems of the entity. This information shall be provided for each active propulsion system defined. Section 6.2.68 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO PropulsionSystemData +{ +protected: + /** powerSetting */ + float _powerSetting; + + /** engine RPMs */ + float _engineRpm; + + + public: + PropulsionSystemData(); + virtual ~PropulsionSystemData(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + float getPowerSetting() const; + void setPowerSetting(float pX); + + float getEngineRpm() const; + void setEngineRpm(float pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const PropulsionSystemData& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/RadioCommunicationsFamilyPdu.cpp b/cpp/DIS7/RadioCommunicationsFamilyPdu.cpp new file mode 100644 index 00000000..b4b359e7 --- /dev/null +++ b/cpp/DIS7/RadioCommunicationsFamilyPdu.cpp @@ -0,0 +1,108 @@ +#include + +using namespace DIS; + + +RadioCommunicationsFamilyPdu::RadioCommunicationsFamilyPdu() : Pdu(), + _entityId(), + _radioId(0) +{ + setProtocolFamily( 4 ); +} + +RadioCommunicationsFamilyPdu::~RadioCommunicationsFamilyPdu() +{ +} + +EntityID& RadioCommunicationsFamilyPdu::getEntityId() +{ + return _entityId; +} + +const EntityID& RadioCommunicationsFamilyPdu::getEntityId() const +{ + return _entityId; +} + +void RadioCommunicationsFamilyPdu::setEntityId(const EntityID &pX) +{ + _entityId = pX; +} + +unsigned short RadioCommunicationsFamilyPdu::getRadioId() const +{ + return _radioId; +} + +void RadioCommunicationsFamilyPdu::setRadioId(unsigned short pX) +{ + _radioId = pX; +} + +void RadioCommunicationsFamilyPdu::marshal(DataStream& dataStream) const +{ + Pdu::marshal(dataStream); // Marshal information in superclass first + _entityId.marshal(dataStream); + dataStream << _radioId; +} + +void RadioCommunicationsFamilyPdu::unmarshal(DataStream& dataStream) +{ + Pdu::unmarshal(dataStream); // unmarshal information in superclass first + _entityId.unmarshal(dataStream); + dataStream >> _radioId; +} + + +bool RadioCommunicationsFamilyPdu::operator ==(const RadioCommunicationsFamilyPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = Pdu::operator==(rhs); + + if( ! (_entityId == rhs._entityId) ) ivarsEqual = false; + if( ! (_radioId == rhs._radioId) ) ivarsEqual = false; + + return ivarsEqual; + } + +int RadioCommunicationsFamilyPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = Pdu::getMarshalledSize(); + marshalSize = marshalSize + _entityId.getMarshalledSize(); // _entityId + marshalSize = marshalSize + 2; // _radioId + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/RadioCommunicationsFamilyPdu.h b/cpp/DIS7/RadioCommunicationsFamilyPdu.h new file mode 100644 index 00000000..13bd1725 --- /dev/null +++ b/cpp/DIS7/RadioCommunicationsFamilyPdu.h @@ -0,0 +1,79 @@ +#ifndef RADIOCOMMUNICATIONSFAMILYPDU_H +#define RADIOCOMMUNICATIONSFAMILYPDU_H + +#include +#include +#include +#include + + +namespace DIS +{ +// Abstract superclass for radio communications PDUs. Section 7.7 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO RadioCommunicationsFamilyPdu : public Pdu +{ +protected: + /** ID of the entitythat is the source of the communication */ + EntityID _entityId; + + /** particular radio within an entity */ + unsigned short _radioId; + + + public: + RadioCommunicationsFamilyPdu(); + virtual ~RadioCommunicationsFamilyPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getEntityId(); + const EntityID& getEntityId() const; + void setEntityId(const EntityID &pX); + + unsigned short getRadioId() const; + void setRadioId(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const RadioCommunicationsFamilyPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/RadioIdentifier.cpp b/cpp/DIS7/RadioIdentifier.cpp new file mode 100644 index 00000000..c0bc9559 --- /dev/null +++ b/cpp/DIS7/RadioIdentifier.cpp @@ -0,0 +1,127 @@ +#include + +using namespace DIS; + + +RadioIdentifier::RadioIdentifier(): + _siteNumber(0), + _applicationNumber(0), + _referenceNumber(0), + _radioNumber(0) +{ +} + +RadioIdentifier::~RadioIdentifier() +{ +} + +unsigned short RadioIdentifier::getSiteNumber() const +{ + return _siteNumber; +} + +void RadioIdentifier::setSiteNumber(unsigned short pX) +{ + _siteNumber = pX; +} + +unsigned short RadioIdentifier::getApplicationNumber() const +{ + return _applicationNumber; +} + +void RadioIdentifier::setApplicationNumber(unsigned short pX) +{ + _applicationNumber = pX; +} + +unsigned short RadioIdentifier::getReferenceNumber() const +{ + return _referenceNumber; +} + +void RadioIdentifier::setReferenceNumber(unsigned short pX) +{ + _referenceNumber = pX; +} + +unsigned short RadioIdentifier::getRadioNumber() const +{ + return _radioNumber; +} + +void RadioIdentifier::setRadioNumber(unsigned short pX) +{ + _radioNumber = pX; +} + +void RadioIdentifier::marshal(DataStream& dataStream) const +{ + dataStream << _siteNumber; + dataStream << _applicationNumber; + dataStream << _referenceNumber; + dataStream << _radioNumber; +} + +void RadioIdentifier::unmarshal(DataStream& dataStream) +{ + dataStream >> _siteNumber; + dataStream >> _applicationNumber; + dataStream >> _referenceNumber; + dataStream >> _radioNumber; +} + + +bool RadioIdentifier::operator ==(const RadioIdentifier& rhs) const + { + bool ivarsEqual = true; + + if( ! (_siteNumber == rhs._siteNumber) ) ivarsEqual = false; + if( ! (_applicationNumber == rhs._applicationNumber) ) ivarsEqual = false; + if( ! (_referenceNumber == rhs._referenceNumber) ) ivarsEqual = false; + if( ! (_radioNumber == rhs._radioNumber) ) ivarsEqual = false; + + return ivarsEqual; + } + +int RadioIdentifier::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2; // _siteNumber + marshalSize = marshalSize + 2; // _applicationNumber + marshalSize = marshalSize + 2; // _referenceNumber + marshalSize = marshalSize + 2; // _radioNumber + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/RadioIdentifier.h b/cpp/DIS7/RadioIdentifier.h new file mode 100644 index 00000000..9dd12581 --- /dev/null +++ b/cpp/DIS7/RadioIdentifier.h @@ -0,0 +1,88 @@ +#ifndef RADIOIDENTIFIER_H +#define RADIOIDENTIFIER_H + +#include +#include + + +namespace DIS +{ +// The unique designation of an attached or unattached radio in an event or exercise Section 6.2.69 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO RadioIdentifier +{ +protected: + /** site */ + unsigned short _siteNumber; + + /** application number */ + unsigned short _applicationNumber; + + /** reference number */ + unsigned short _referenceNumber; + + /** Radio number */ + unsigned short _radioNumber; + + + public: + RadioIdentifier(); + virtual ~RadioIdentifier(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getSiteNumber() const; + void setSiteNumber(unsigned short pX); + + unsigned short getApplicationNumber() const; + void setApplicationNumber(unsigned short pX); + + unsigned short getReferenceNumber() const; + void setReferenceNumber(unsigned short pX); + + unsigned short getRadioNumber() const; + void setRadioNumber(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const RadioIdentifier& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/RadioType.cpp b/cpp/DIS7/RadioType.cpp new file mode 100644 index 00000000..3bca1f78 --- /dev/null +++ b/cpp/DIS7/RadioType.cpp @@ -0,0 +1,172 @@ +#include + +using namespace DIS; + + +RadioType::RadioType(): + _entityKind(0), + _domain(0), + _country(0), + _category(0), + _subcategory(0), + _specific(0), + _extra(0) +{ +} + +RadioType::~RadioType() +{ +} + +unsigned char RadioType::getEntityKind() const +{ + return _entityKind; +} + +void RadioType::setEntityKind(unsigned char pX) +{ + _entityKind = pX; +} + +unsigned char RadioType::getDomain() const +{ + return _domain; +} + +void RadioType::setDomain(unsigned char pX) +{ + _domain = pX; +} + +unsigned short RadioType::getCountry() const +{ + return _country; +} + +void RadioType::setCountry(unsigned short pX) +{ + _country = pX; +} + +unsigned char RadioType::getCategory() const +{ + return _category; +} + +void RadioType::setCategory(unsigned char pX) +{ + _category = pX; +} + +unsigned char RadioType::getSubcategory() const +{ + return _subcategory; +} + +void RadioType::setSubcategory(unsigned char pX) +{ + _subcategory = pX; +} + +unsigned char RadioType::getSpecific() const +{ + return _specific; +} + +void RadioType::setSpecific(unsigned char pX) +{ + _specific = pX; +} + +unsigned char RadioType::getExtra() const +{ + return _extra; +} + +void RadioType::setExtra(unsigned char pX) +{ + _extra = pX; +} + +void RadioType::marshal(DataStream& dataStream) const +{ + dataStream << _entityKind; + dataStream << _domain; + dataStream << _country; + dataStream << _category; + dataStream << _subcategory; + dataStream << _specific; + dataStream << _extra; +} + +void RadioType::unmarshal(DataStream& dataStream) +{ + dataStream >> _entityKind; + dataStream >> _domain; + dataStream >> _country; + dataStream >> _category; + dataStream >> _subcategory; + dataStream >> _specific; + dataStream >> _extra; +} + + +bool RadioType::operator ==(const RadioType& rhs) const + { + bool ivarsEqual = true; + + if( ! (_entityKind == rhs._entityKind) ) ivarsEqual = false; + if( ! (_domain == rhs._domain) ) ivarsEqual = false; + if( ! (_country == rhs._country) ) ivarsEqual = false; + if( ! (_category == rhs._category) ) ivarsEqual = false; + if( ! (_subcategory == rhs._subcategory) ) ivarsEqual = false; + if( ! (_specific == rhs._specific) ) ivarsEqual = false; + if( ! (_extra == rhs._extra) ) ivarsEqual = false; + + return ivarsEqual; + } + +int RadioType::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _entityKind + marshalSize = marshalSize + 1; // _domain + marshalSize = marshalSize + 2; // _country + marshalSize = marshalSize + 1; // _category + marshalSize = marshalSize + 1; // _subcategory + marshalSize = marshalSize + 1; // _specific + marshalSize = marshalSize + 1; // _extra + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/RadioType.h b/cpp/DIS7/RadioType.h new file mode 100644 index 00000000..8d68d5fe --- /dev/null +++ b/cpp/DIS7/RadioType.h @@ -0,0 +1,104 @@ +#ifndef RADIOTYPE_H +#define RADIOTYPE_H + +#include +#include + + +namespace DIS +{ +// Identifies the type of radio. Section 6.2.70 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO RadioType +{ +protected: + /** Kind of entity */ + unsigned char _entityKind; + + /** Domain of entity (air, surface, subsurface, space, etc) */ + unsigned char _domain; + + /** country to which the design of the entity is attributed */ + unsigned short _country; + + /** category of entity */ + unsigned char _category; + + /** specific info based on subcategory field */ + unsigned char _subcategory; + + unsigned char _specific; + + unsigned char _extra; + + + public: + RadioType(); + virtual ~RadioType(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getEntityKind() const; + void setEntityKind(unsigned char pX); + + unsigned char getDomain() const; + void setDomain(unsigned char pX); + + unsigned short getCountry() const; + void setCountry(unsigned short pX); + + unsigned char getCategory() const; + void setCategory(unsigned char pX); + + unsigned char getSubcategory() const; + void setSubcategory(unsigned char pX); + + unsigned char getSpecific() const; + void setSpecific(unsigned char pX); + + unsigned char getExtra() const; + void setExtra(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const RadioType& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ReceiverPdu.cpp b/cpp/DIS7/ReceiverPdu.cpp new file mode 100644 index 00000000..80ca6b08 --- /dev/null +++ b/cpp/DIS7/ReceiverPdu.cpp @@ -0,0 +1,153 @@ +#include + +using namespace DIS; + + +ReceiverPdu::ReceiverPdu() : RadioCommunicationsFamilyPdu(), + _receiverState(0), + _padding1(0), + _receivedPoser(0.0), + _transmitterEntityId(), + _transmitterRadioId(0) +{ + setPduType( 27 ); +} + +ReceiverPdu::~ReceiverPdu() +{ +} + +unsigned short ReceiverPdu::getReceiverState() const +{ + return _receiverState; +} + +void ReceiverPdu::setReceiverState(unsigned short pX) +{ + _receiverState = pX; +} + +unsigned short ReceiverPdu::getPadding1() const +{ + return _padding1; +} + +void ReceiverPdu::setPadding1(unsigned short pX) +{ + _padding1 = pX; +} + +float ReceiverPdu::getReceivedPoser() const +{ + return _receivedPoser; +} + +void ReceiverPdu::setReceivedPoser(float pX) +{ + _receivedPoser = pX; +} + +EntityID& ReceiverPdu::getTransmitterEntityId() +{ + return _transmitterEntityId; +} + +const EntityID& ReceiverPdu::getTransmitterEntityId() const +{ + return _transmitterEntityId; +} + +void ReceiverPdu::setTransmitterEntityId(const EntityID &pX) +{ + _transmitterEntityId = pX; +} + +unsigned short ReceiverPdu::getTransmitterRadioId() const +{ + return _transmitterRadioId; +} + +void ReceiverPdu::setTransmitterRadioId(unsigned short pX) +{ + _transmitterRadioId = pX; +} + +void ReceiverPdu::marshal(DataStream& dataStream) const +{ + RadioCommunicationsFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _receiverState; + dataStream << _padding1; + dataStream << _receivedPoser; + _transmitterEntityId.marshal(dataStream); + dataStream << _transmitterRadioId; +} + +void ReceiverPdu::unmarshal(DataStream& dataStream) +{ + RadioCommunicationsFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _receiverState; + dataStream >> _padding1; + dataStream >> _receivedPoser; + _transmitterEntityId.unmarshal(dataStream); + dataStream >> _transmitterRadioId; +} + + +bool ReceiverPdu::operator ==(const ReceiverPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = RadioCommunicationsFamilyPdu::operator==(rhs); + + if( ! (_receiverState == rhs._receiverState) ) ivarsEqual = false; + if( ! (_padding1 == rhs._padding1) ) ivarsEqual = false; + if( ! (_receivedPoser == rhs._receivedPoser) ) ivarsEqual = false; + if( ! (_transmitterEntityId == rhs._transmitterEntityId) ) ivarsEqual = false; + if( ! (_transmitterRadioId == rhs._transmitterRadioId) ) ivarsEqual = false; + + return ivarsEqual; + } + +int ReceiverPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = RadioCommunicationsFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 2; // _receiverState + marshalSize = marshalSize + 2; // _padding1 + marshalSize = marshalSize + 4; // _receivedPoser + marshalSize = marshalSize + _transmitterEntityId.getMarshalledSize(); // _transmitterEntityId + marshalSize = marshalSize + 2; // _transmitterRadioId + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ReceiverPdu.h b/cpp/DIS7/ReceiverPdu.h new file mode 100644 index 00000000..0c1edc30 --- /dev/null +++ b/cpp/DIS7/ReceiverPdu.h @@ -0,0 +1,97 @@ +#ifndef RECEIVERPDU_H +#define RECEIVERPDU_H + +#include +#include +#include +#include + + +namespace DIS +{ +// Communication of a receiver state. Section 7.7.4 COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ReceiverPdu : public RadioCommunicationsFamilyPdu +{ +protected: + /** encoding scheme used, and enumeration */ + unsigned short _receiverState; + + /** padding */ + unsigned short _padding1; + + /** received power */ + float _receivedPoser; + + /** ID of transmitter */ + EntityID _transmitterEntityId; + + /** ID of transmitting radio */ + unsigned short _transmitterRadioId; + + + public: + ReceiverPdu(); + virtual ~ReceiverPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getReceiverState() const; + void setReceiverState(unsigned short pX); + + unsigned short getPadding1() const; + void setPadding1(unsigned short pX); + + float getReceivedPoser() const; + void setReceivedPoser(float pX); + + EntityID& getTransmitterEntityId(); + const EntityID& getTransmitterEntityId() const; + void setTransmitterEntityId(const EntityID &pX); + + unsigned short getTransmitterRadioId() const; + void setTransmitterRadioId(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ReceiverPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/RecordQueryReliablePdu.cpp b/cpp/DIS7/RecordQueryReliablePdu.cpp new file mode 100644 index 00000000..0150a128 --- /dev/null +++ b/cpp/DIS7/RecordQueryReliablePdu.cpp @@ -0,0 +1,216 @@ +#include + +using namespace DIS; + + +RecordQueryReliablePdu::RecordQueryReliablePdu() : SimulationManagementWithReliabilityFamilyPdu(), + _requestID(0), + _requiredReliabilityService(0), + _pad1(0), + _pad2(0), + _eventType(0), + _time(0), + _numberOfRecords(0) +{ + setPduType( 63 ); +} + +RecordQueryReliablePdu::~RecordQueryReliablePdu() +{ + _recordIDs.clear(); +} + +unsigned int RecordQueryReliablePdu::getRequestID() const +{ + return _requestID; +} + +void RecordQueryReliablePdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +unsigned char RecordQueryReliablePdu::getRequiredReliabilityService() const +{ + return _requiredReliabilityService; +} + +void RecordQueryReliablePdu::setRequiredReliabilityService(unsigned char pX) +{ + _requiredReliabilityService = pX; +} + +unsigned short RecordQueryReliablePdu::getPad1() const +{ + return _pad1; +} + +void RecordQueryReliablePdu::setPad1(unsigned short pX) +{ + _pad1 = pX; +} + +unsigned char RecordQueryReliablePdu::getPad2() const +{ + return _pad2; +} + +void RecordQueryReliablePdu::setPad2(unsigned char pX) +{ + _pad2 = pX; +} + +unsigned short RecordQueryReliablePdu::getEventType() const +{ + return _eventType; +} + +void RecordQueryReliablePdu::setEventType(unsigned short pX) +{ + _eventType = pX; +} + +unsigned int RecordQueryReliablePdu::getTime() const +{ + return _time; +} + +void RecordQueryReliablePdu::setTime(unsigned int pX) +{ + _time = pX; +} + +unsigned int RecordQueryReliablePdu::getNumberOfRecords() const +{ + return _recordIDs.size(); +} + +std::vector& RecordQueryReliablePdu::getRecordIDs() +{ + return _recordIDs; +} + +const std::vector& RecordQueryReliablePdu::getRecordIDs() const +{ + return _recordIDs; +} + +void RecordQueryReliablePdu::setRecordIDs(const std::vector& pX) +{ + _recordIDs = pX; +} + +void RecordQueryReliablePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementWithReliabilityFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _requestID; + dataStream << _requiredReliabilityService; + dataStream << _pad1; + dataStream << _pad2; + dataStream << _eventType; + dataStream << _time; + dataStream << ( unsigned int )_recordIDs.size(); + + for(size_t idx = 0; idx < _recordIDs.size(); idx++) + { + FourByteChunk x = _recordIDs[idx]; + x.marshal(dataStream); + } + +} + +void RecordQueryReliablePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementWithReliabilityFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _requestID; + dataStream >> _requiredReliabilityService; + dataStream >> _pad1; + dataStream >> _pad2; + dataStream >> _eventType; + dataStream >> _time; + dataStream >> _numberOfRecords; + + _recordIDs.clear(); + for(size_t idx = 0; idx < _numberOfRecords; idx++) + { + FourByteChunk x; + x.unmarshal(dataStream); + _recordIDs.push_back(x); + } +} + + +bool RecordQueryReliablePdu::operator ==(const RecordQueryReliablePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementWithReliabilityFamilyPdu::operator==(rhs); + + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + if( ! (_requiredReliabilityService == rhs._requiredReliabilityService) ) ivarsEqual = false; + if( ! (_pad1 == rhs._pad1) ) ivarsEqual = false; + if( ! (_pad2 == rhs._pad2) ) ivarsEqual = false; + if( ! (_eventType == rhs._eventType) ) ivarsEqual = false; + if( ! (_time == rhs._time) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _recordIDs.size(); idx++) + { + if( ! ( _recordIDs[idx] == rhs._recordIDs[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int RecordQueryReliablePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementWithReliabilityFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 4; // _requestID + marshalSize = marshalSize + 1; // _requiredReliabilityService + marshalSize = marshalSize + 2; // _pad1 + marshalSize = marshalSize + 1; // _pad2 + marshalSize = marshalSize + 2; // _eventType + marshalSize = marshalSize + 4; // _time + marshalSize = marshalSize + 4; // _numberOfRecords + + for(int idx=0; idx < _recordIDs.size(); idx++) + { + FourByteChunk listElement = _recordIDs[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/RecordQueryReliablePdu.h b/cpp/DIS7/RecordQueryReliablePdu.h new file mode 100644 index 00000000..a7057cd4 --- /dev/null +++ b/cpp/DIS7/RecordQueryReliablePdu.h @@ -0,0 +1,115 @@ +#ifndef RECORDQUERYRELIABLEPDU_H +#define RECORDQUERYRELIABLEPDU_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.12.13: A request for one or more records of data from an entity. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO RecordQueryReliablePdu : public SimulationManagementWithReliabilityFamilyPdu +{ +protected: + /** request ID */ + unsigned int _requestID; + + /** level of reliability service used for this transaction */ + unsigned char _requiredReliabilityService; + + /** padding. The spec is unclear and contradictory here. */ + unsigned short _pad1; + + /** padding */ + unsigned char _pad2; + + /** event type */ + unsigned short _eventType; + + /** time */ + unsigned int _time; + + /** numberOfRecords */ + unsigned int _numberOfRecords; + + /** record IDs */ + std::vector _recordIDs; + + + public: + RecordQueryReliablePdu(); + virtual ~RecordQueryReliablePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + unsigned char getRequiredReliabilityService() const; + void setRequiredReliabilityService(unsigned char pX); + + unsigned short getPad1() const; + void setPad1(unsigned short pX); + + unsigned char getPad2() const; + void setPad2(unsigned char pX); + + unsigned short getEventType() const; + void setEventType(unsigned short pX); + + unsigned int getTime() const; + void setTime(unsigned int pX); + + unsigned int getNumberOfRecords() const; + + std::vector& getRecordIDs(); + const std::vector& getRecordIDs() const; + void setRecordIDs(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const RecordQueryReliablePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/RecordQuerySpecification.cpp b/cpp/DIS7/RecordQuerySpecification.cpp new file mode 100644 index 00000000..0eb3beb3 --- /dev/null +++ b/cpp/DIS7/RecordQuerySpecification.cpp @@ -0,0 +1,120 @@ +#include + +using namespace DIS; + + +RecordQuerySpecification::RecordQuerySpecification(): + _numberOfRecords(0) +{ +} + +RecordQuerySpecification::~RecordQuerySpecification() +{ + _records.clear(); +} + +unsigned int RecordQuerySpecification::getNumberOfRecords() const +{ + return _records.size(); +} + +std::vector& RecordQuerySpecification::getRecords() +{ + return _records; +} + +const std::vector& RecordQuerySpecification::getRecords() const +{ + return _records; +} + +void RecordQuerySpecification::setRecords(const std::vector& pX) +{ + _records = pX; +} + +void RecordQuerySpecification::marshal(DataStream& dataStream) const +{ + dataStream << ( unsigned int )_records.size(); + + for(size_t idx = 0; idx < _records.size(); idx++) + { + FourByteChunk x = _records[idx]; + x.marshal(dataStream); + } + +} + +void RecordQuerySpecification::unmarshal(DataStream& dataStream) +{ + dataStream >> _numberOfRecords; + + _records.clear(); + for(size_t idx = 0; idx < _numberOfRecords; idx++) + { + FourByteChunk x; + x.unmarshal(dataStream); + _records.push_back(x); + } +} + + +bool RecordQuerySpecification::operator ==(const RecordQuerySpecification& rhs) const + { + bool ivarsEqual = true; + + + for(size_t idx = 0; idx < _records.size(); idx++) + { + if( ! ( _records[idx] == rhs._records[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int RecordQuerySpecification::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _numberOfRecords + + for(int idx=0; idx < _records.size(); idx++) + { + FourByteChunk listElement = _records[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/RecordQuerySpecification.h b/cpp/DIS7/RecordQuerySpecification.h new file mode 100644 index 00000000..9d7ec1c8 --- /dev/null +++ b/cpp/DIS7/RecordQuerySpecification.h @@ -0,0 +1,77 @@ +#ifndef RECORDQUERYSPECIFICATION_H +#define RECORDQUERYSPECIFICATION_H + +#include +#include +#include +#include + + +namespace DIS +{ +// The identification of the records being queried 6.2.71 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO RecordQuerySpecification +{ +protected: + unsigned int _numberOfRecords; + + /** variable length list of 32 bit records */ + std::vector _records; + + + public: + RecordQuerySpecification(); + virtual ~RecordQuerySpecification(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getNumberOfRecords() const; + + std::vector& getRecords(); + const std::vector& getRecords() const; + void setRecords(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const RecordQuerySpecification& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/RecordSpecification.cpp b/cpp/DIS7/RecordSpecification.cpp new file mode 100644 index 00000000..1a464d34 --- /dev/null +++ b/cpp/DIS7/RecordSpecification.cpp @@ -0,0 +1,120 @@ +#include + +using namespace DIS; + + +RecordSpecification::RecordSpecification(): + _numberOfRecordSets(0) +{ +} + +RecordSpecification::~RecordSpecification() +{ + _recordSets.clear(); +} + +unsigned int RecordSpecification::getNumberOfRecordSets() const +{ + return _recordSets.size(); +} + +std::vector& RecordSpecification::getRecordSets() +{ + return _recordSets; +} + +const std::vector& RecordSpecification::getRecordSets() const +{ + return _recordSets; +} + +void RecordSpecification::setRecordSets(const std::vector& pX) +{ + _recordSets = pX; +} + +void RecordSpecification::marshal(DataStream& dataStream) const +{ + dataStream << ( unsigned int )_recordSets.size(); + + for(size_t idx = 0; idx < _recordSets.size(); idx++) + { + RecordSpecificationElement x = _recordSets[idx]; + x.marshal(dataStream); + } + +} + +void RecordSpecification::unmarshal(DataStream& dataStream) +{ + dataStream >> _numberOfRecordSets; + + _recordSets.clear(); + for(size_t idx = 0; idx < _numberOfRecordSets; idx++) + { + RecordSpecificationElement x; + x.unmarshal(dataStream); + _recordSets.push_back(x); + } +} + + +bool RecordSpecification::operator ==(const RecordSpecification& rhs) const + { + bool ivarsEqual = true; + + + for(size_t idx = 0; idx < _recordSets.size(); idx++) + { + if( ! ( _recordSets[idx] == rhs._recordSets[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int RecordSpecification::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _numberOfRecordSets + + for(int idx=0; idx < _recordSets.size(); idx++) + { + RecordSpecificationElement listElement = _recordSets[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/RecordSpecification.h b/cpp/DIS7/RecordSpecification.h new file mode 100644 index 00000000..98f5b393 --- /dev/null +++ b/cpp/DIS7/RecordSpecification.h @@ -0,0 +1,78 @@ +#ifndef RECORDSPECIFICATION_H +#define RECORDSPECIFICATION_H + +#include +#include +#include +#include + + +namespace DIS +{ +// This record shall specify the number of record sets contained in the Record Specification record and the record details. Section 6.2.72. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO RecordSpecification +{ +protected: + /** The number of record sets */ + unsigned int _numberOfRecordSets; + + /** variable length list record specifications. */ + std::vector _recordSets; + + + public: + RecordSpecification(); + virtual ~RecordSpecification(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getNumberOfRecordSets() const; + + std::vector& getRecordSets(); + const std::vector& getRecordSets() const; + void setRecordSets(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const RecordSpecification& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/RecordSpecificationElement.cpp b/cpp/DIS7/RecordSpecificationElement.cpp new file mode 100644 index 00000000..150a112a --- /dev/null +++ b/cpp/DIS7/RecordSpecificationElement.cpp @@ -0,0 +1,157 @@ +#include + +using namespace DIS; + + +RecordSpecificationElement::RecordSpecificationElement(): + _recordID(0), + _recordSetSerialNumber(0), + _recordLength(0), + _recordCount(0), + _recordValues(0), + _pad4(0) +{ +} + +RecordSpecificationElement::~RecordSpecificationElement() +{ +} + +unsigned int RecordSpecificationElement::getRecordID() const +{ + return _recordID; +} + +void RecordSpecificationElement::setRecordID(unsigned int pX) +{ + _recordID = pX; +} + +unsigned int RecordSpecificationElement::getRecordSetSerialNumber() const +{ + return _recordSetSerialNumber; +} + +void RecordSpecificationElement::setRecordSetSerialNumber(unsigned int pX) +{ + _recordSetSerialNumber = pX; +} + +unsigned short RecordSpecificationElement::getRecordLength() const +{ + return _recordLength; +} + +void RecordSpecificationElement::setRecordLength(unsigned short pX) +{ + _recordLength = pX; +} + +unsigned short RecordSpecificationElement::getRecordCount() const +{ + return _recordCount; +} + +void RecordSpecificationElement::setRecordCount(unsigned short pX) +{ + _recordCount = pX; +} + +unsigned short RecordSpecificationElement::getRecordValues() const +{ + return _recordValues; +} + +void RecordSpecificationElement::setRecordValues(unsigned short pX) +{ + _recordValues = pX; +} + +unsigned char RecordSpecificationElement::getPad4() const +{ + return _pad4; +} + +void RecordSpecificationElement::setPad4(unsigned char pX) +{ + _pad4 = pX; +} + +void RecordSpecificationElement::marshal(DataStream& dataStream) const +{ + dataStream << _recordID; + dataStream << _recordSetSerialNumber; + dataStream << _recordLength; + dataStream << _recordCount; + dataStream << _recordValues; + dataStream << _pad4; +} + +void RecordSpecificationElement::unmarshal(DataStream& dataStream) +{ + dataStream >> _recordID; + dataStream >> _recordSetSerialNumber; + dataStream >> _recordLength; + dataStream >> _recordCount; + dataStream >> _recordValues; + dataStream >> _pad4; +} + + +bool RecordSpecificationElement::operator ==(const RecordSpecificationElement& rhs) const + { + bool ivarsEqual = true; + + if( ! (_recordID == rhs._recordID) ) ivarsEqual = false; + if( ! (_recordSetSerialNumber == rhs._recordSetSerialNumber) ) ivarsEqual = false; + if( ! (_recordLength == rhs._recordLength) ) ivarsEqual = false; + if( ! (_recordCount == rhs._recordCount) ) ivarsEqual = false; + if( ! (_recordValues == rhs._recordValues) ) ivarsEqual = false; + if( ! (_pad4 == rhs._pad4) ) ivarsEqual = false; + + return ivarsEqual; + } + +int RecordSpecificationElement::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _recordID + marshalSize = marshalSize + 4; // _recordSetSerialNumber + marshalSize = marshalSize + 2; // _recordLength + marshalSize = marshalSize + 2; // _recordCount + marshalSize = marshalSize + 2; // _recordValues + marshalSize = marshalSize + 1; // _pad4 + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/RecordSpecificationElement.h b/cpp/DIS7/RecordSpecificationElement.h new file mode 100644 index 00000000..b81891eb --- /dev/null +++ b/cpp/DIS7/RecordSpecificationElement.h @@ -0,0 +1,100 @@ +#ifndef RECORDSPECIFICATIONELEMENT_H +#define RECORDSPECIFICATIONELEMENT_H + +#include +#include + + +namespace DIS +{ +// Synthetic record, made up from section 6.2.72. This is used to acheive a repeating variable list element. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO RecordSpecificationElement +{ +protected: + /** the data structure used to convey the parameter values of the record for each record. 32 bit enumeration. */ + unsigned int _recordID; + + /** the serial number of the first record in the block of records */ + unsigned int _recordSetSerialNumber; + + /** the length, in bits, of the record. Note, bits, not bytes. */ + unsigned short _recordLength; + + /** the number of records included in the record set */ + unsigned short _recordCount; + + /** the concatenated records of the format specified by the Record ID field. The length of this field is the Record Length multiplied by the Record Count, in units of bits. ^^^This is wrong--variable sized data records, bit values. THis MUST be patched after generation. */ + unsigned short _recordValues; + + /** Padding of 0 to 31 unused bits as required for 32-bit alignment of the Record Set field. ^^^This is wrong--variable sized padding. MUST be patched post-code generation */ + unsigned char _pad4; + + + public: + RecordSpecificationElement(); + virtual ~RecordSpecificationElement(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getRecordID() const; + void setRecordID(unsigned int pX); + + unsigned int getRecordSetSerialNumber() const; + void setRecordSetSerialNumber(unsigned int pX); + + unsigned short getRecordLength() const; + void setRecordLength(unsigned short pX); + + unsigned short getRecordCount() const; + void setRecordCount(unsigned short pX); + + unsigned short getRecordValues() const; + void setRecordValues(unsigned short pX); + + unsigned char getPad4() const; + void setPad4(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const RecordSpecificationElement& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/Relationship.cpp b/cpp/DIS7/Relationship.cpp new file mode 100644 index 00000000..3e61e6b4 --- /dev/null +++ b/cpp/DIS7/Relationship.cpp @@ -0,0 +1,97 @@ +#include + +using namespace DIS; + + +Relationship::Relationship(): + _nature(0), + _position(0) +{ +} + +Relationship::~Relationship() +{ +} + +unsigned short Relationship::getNature() const +{ + return _nature; +} + +void Relationship::setNature(unsigned short pX) +{ + _nature = pX; +} + +unsigned short Relationship::getPosition() const +{ + return _position; +} + +void Relationship::setPosition(unsigned short pX) +{ + _position = pX; +} + +void Relationship::marshal(DataStream& dataStream) const +{ + dataStream << _nature; + dataStream << _position; +} + +void Relationship::unmarshal(DataStream& dataStream) +{ + dataStream >> _nature; + dataStream >> _position; +} + + +bool Relationship::operator ==(const Relationship& rhs) const + { + bool ivarsEqual = true; + + if( ! (_nature == rhs._nature) ) ivarsEqual = false; + if( ! (_position == rhs._position) ) ivarsEqual = false; + + return ivarsEqual; + } + +int Relationship::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2; // _nature + marshalSize = marshalSize + 2; // _position + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/Relationship.h b/cpp/DIS7/Relationship.h new file mode 100644 index 00000000..68eedad4 --- /dev/null +++ b/cpp/DIS7/Relationship.h @@ -0,0 +1,76 @@ +#ifndef RELATIONSHIP_H +#define RELATIONSHIP_H + +#include +#include + + +namespace DIS +{ +// The relationship of the part entity to its host entity. Section 6.2.73. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO Relationship +{ +protected: + /** the nature or purpose for joining of the part entity to the host entity and shall be represented by a 16-bit enumeration */ + unsigned short _nature; + + /** the position of the part entity with respect to the host entity and shall be represented by a 16-bit enumeration */ + unsigned short _position; + + + public: + Relationship(); + virtual ~Relationship(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getNature() const; + void setNature(unsigned short pX); + + unsigned short getPosition() const; + void setPosition(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const Relationship& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/RemoveEntityPdu.cpp b/cpp/DIS7/RemoveEntityPdu.cpp new file mode 100644 index 00000000..a9c93c58 --- /dev/null +++ b/cpp/DIS7/RemoveEntityPdu.cpp @@ -0,0 +1,128 @@ +#include + +using namespace DIS; + + +RemoveEntityPdu::RemoveEntityPdu() : SimulationManagementFamilyPdu(), + _originatingID(), + _receivingID(), + _requestID(0) +{ + setPduType( 12 ); +} + +RemoveEntityPdu::~RemoveEntityPdu() +{ +} + +EntityID& RemoveEntityPdu::getOriginatingID() +{ + return _originatingID; +} + +const EntityID& RemoveEntityPdu::getOriginatingID() const +{ + return _originatingID; +} + +void RemoveEntityPdu::setOriginatingID(const EntityID &pX) +{ + _originatingID = pX; +} + +EntityID& RemoveEntityPdu::getReceivingID() +{ + return _receivingID; +} + +const EntityID& RemoveEntityPdu::getReceivingID() const +{ + return _receivingID; +} + +void RemoveEntityPdu::setReceivingID(const EntityID &pX) +{ + _receivingID = pX; +} + +unsigned int RemoveEntityPdu::getRequestID() const +{ + return _requestID; +} + +void RemoveEntityPdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +void RemoveEntityPdu::marshal(DataStream& dataStream) const +{ + SimulationManagementFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _originatingID.marshal(dataStream); + _receivingID.marshal(dataStream); + dataStream << _requestID; +} + +void RemoveEntityPdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _originatingID.unmarshal(dataStream); + _receivingID.unmarshal(dataStream); + dataStream >> _requestID; +} + + +bool RemoveEntityPdu::operator ==(const RemoveEntityPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementFamilyPdu::operator==(rhs); + + if( ! (_originatingID == rhs._originatingID) ) ivarsEqual = false; + if( ! (_receivingID == rhs._receivingID) ) ivarsEqual = false; + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int RemoveEntityPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _originatingID.getMarshalledSize(); // _originatingID + marshalSize = marshalSize + _receivingID.getMarshalledSize(); // _receivingID + marshalSize = marshalSize + 4; // _requestID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/RemoveEntityPdu.h b/cpp/DIS7/RemoveEntityPdu.h new file mode 100644 index 00000000..f79f6b52 --- /dev/null +++ b/cpp/DIS7/RemoveEntityPdu.h @@ -0,0 +1,87 @@ +#ifndef REMOVEENTITYPDU_H +#define REMOVEENTITYPDU_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 7.5.3 The removal of an entity from an exercise shall be communicated with a Remove Entity PDU. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO RemoveEntityPdu : public SimulationManagementFamilyPdu +{ +protected: + /** Identifier for originating entity(or simulation) */ + EntityID _originatingID; + + /** Identifier for the receiving entity(or simulation) */ + EntityID _receivingID; + + /** This field shall identify the specific and unique start/resume request being made by the SM */ + unsigned int _requestID; + + + public: + RemoveEntityPdu(); + virtual ~RemoveEntityPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getOriginatingID(); + const EntityID& getOriginatingID() const; + void setOriginatingID(const EntityID &pX); + + EntityID& getReceivingID(); + const EntityID& getReceivingID() const; + void setReceivingID(const EntityID &pX); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const RemoveEntityPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/RemoveEntityReliablePdu.cpp b/cpp/DIS7/RemoveEntityReliablePdu.cpp new file mode 100644 index 00000000..fe3dbaf5 --- /dev/null +++ b/cpp/DIS7/RemoveEntityReliablePdu.cpp @@ -0,0 +1,133 @@ +#include + +using namespace DIS; + + +RemoveEntityReliablePdu::RemoveEntityReliablePdu() : SimulationManagementWithReliabilityFamilyPdu(), + _requiredReliabilityService(0), + _pad1(0), + _pad2(0), + _requestID(0) +{ + setPduType( 52 ); +} + +RemoveEntityReliablePdu::~RemoveEntityReliablePdu() +{ +} + +unsigned char RemoveEntityReliablePdu::getRequiredReliabilityService() const +{ + return _requiredReliabilityService; +} + +void RemoveEntityReliablePdu::setRequiredReliabilityService(unsigned char pX) +{ + _requiredReliabilityService = pX; +} + +unsigned short RemoveEntityReliablePdu::getPad1() const +{ + return _pad1; +} + +void RemoveEntityReliablePdu::setPad1(unsigned short pX) +{ + _pad1 = pX; +} + +unsigned char RemoveEntityReliablePdu::getPad2() const +{ + return _pad2; +} + +void RemoveEntityReliablePdu::setPad2(unsigned char pX) +{ + _pad2 = pX; +} + +unsigned int RemoveEntityReliablePdu::getRequestID() const +{ + return _requestID; +} + +void RemoveEntityReliablePdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +void RemoveEntityReliablePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementWithReliabilityFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _requiredReliabilityService; + dataStream << _pad1; + dataStream << _pad2; + dataStream << _requestID; +} + +void RemoveEntityReliablePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementWithReliabilityFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _requiredReliabilityService; + dataStream >> _pad1; + dataStream >> _pad2; + dataStream >> _requestID; +} + + +bool RemoveEntityReliablePdu::operator ==(const RemoveEntityReliablePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementWithReliabilityFamilyPdu::operator==(rhs); + + if( ! (_requiredReliabilityService == rhs._requiredReliabilityService) ) ivarsEqual = false; + if( ! (_pad1 == rhs._pad1) ) ivarsEqual = false; + if( ! (_pad2 == rhs._pad2) ) ivarsEqual = false; + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int RemoveEntityReliablePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementWithReliabilityFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 1; // _requiredReliabilityService + marshalSize = marshalSize + 2; // _pad1 + marshalSize = marshalSize + 1; // _pad2 + marshalSize = marshalSize + 4; // _requestID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/RemoveEntityReliablePdu.h b/cpp/DIS7/RemoveEntityReliablePdu.h new file mode 100644 index 00000000..3a107b45 --- /dev/null +++ b/cpp/DIS7/RemoveEntityReliablePdu.h @@ -0,0 +1,89 @@ +#ifndef REMOVEENTITYRELIABLEPDU_H +#define REMOVEENTITYRELIABLEPDU_H + +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.12.2: Removal of an entity , reliable. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO RemoveEntityReliablePdu : public SimulationManagementWithReliabilityFamilyPdu +{ +protected: + /** level of reliability service used for this transaction */ + unsigned char _requiredReliabilityService; + + /** padding */ + unsigned short _pad1; + + /** padding */ + unsigned char _pad2; + + /** Request ID */ + unsigned int _requestID; + + + public: + RemoveEntityReliablePdu(); + virtual ~RemoveEntityReliablePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getRequiredReliabilityService() const; + void setRequiredReliabilityService(unsigned char pX); + + unsigned short getPad1() const; + void setPad1(unsigned short pX); + + unsigned char getPad2() const; + void setPad2(unsigned char pX); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const RemoveEntityReliablePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/RepairCompletePdu.cpp b/cpp/DIS7/RepairCompletePdu.cpp new file mode 100644 index 00000000..2ab5a5fc --- /dev/null +++ b/cpp/DIS7/RepairCompletePdu.cpp @@ -0,0 +1,143 @@ +#include + +using namespace DIS; + + +RepairCompletePdu::RepairCompletePdu() : LogisticsFamilyPdu(), + _receivingEntityID(), + _repairingEntityID(), + _repair(0), + _padding4(0) +{ + setPduType( 9 ); +} + +RepairCompletePdu::~RepairCompletePdu() +{ +} + +EntityID& RepairCompletePdu::getReceivingEntityID() +{ + return _receivingEntityID; +} + +const EntityID& RepairCompletePdu::getReceivingEntityID() const +{ + return _receivingEntityID; +} + +void RepairCompletePdu::setReceivingEntityID(const EntityID &pX) +{ + _receivingEntityID = pX; +} + +EntityID& RepairCompletePdu::getRepairingEntityID() +{ + return _repairingEntityID; +} + +const EntityID& RepairCompletePdu::getRepairingEntityID() const +{ + return _repairingEntityID; +} + +void RepairCompletePdu::setRepairingEntityID(const EntityID &pX) +{ + _repairingEntityID = pX; +} + +unsigned short RepairCompletePdu::getRepair() const +{ + return _repair; +} + +void RepairCompletePdu::setRepair(unsigned short pX) +{ + _repair = pX; +} + +short RepairCompletePdu::getPadding4() const +{ + return _padding4; +} + +void RepairCompletePdu::setPadding4(short pX) +{ + _padding4 = pX; +} + +void RepairCompletePdu::marshal(DataStream& dataStream) const +{ + LogisticsFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _receivingEntityID.marshal(dataStream); + _repairingEntityID.marshal(dataStream); + dataStream << _repair; + dataStream << _padding4; +} + +void RepairCompletePdu::unmarshal(DataStream& dataStream) +{ + LogisticsFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _receivingEntityID.unmarshal(dataStream); + _repairingEntityID.unmarshal(dataStream); + dataStream >> _repair; + dataStream >> _padding4; +} + + +bool RepairCompletePdu::operator ==(const RepairCompletePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = LogisticsFamilyPdu::operator==(rhs); + + if( ! (_receivingEntityID == rhs._receivingEntityID) ) ivarsEqual = false; + if( ! (_repairingEntityID == rhs._repairingEntityID) ) ivarsEqual = false; + if( ! (_repair == rhs._repair) ) ivarsEqual = false; + if( ! (_padding4 == rhs._padding4) ) ivarsEqual = false; + + return ivarsEqual; + } + +int RepairCompletePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = LogisticsFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _receivingEntityID.getMarshalledSize(); // _receivingEntityID + marshalSize = marshalSize + _repairingEntityID.getMarshalledSize(); // _repairingEntityID + marshalSize = marshalSize + 2; // _repair + marshalSize = marshalSize + 2; // _padding4 + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/RepairCompletePdu.h b/cpp/DIS7/RepairCompletePdu.h new file mode 100644 index 00000000..2b2786b3 --- /dev/null +++ b/cpp/DIS7/RepairCompletePdu.h @@ -0,0 +1,93 @@ +#ifndef REPAIRCOMPLETEPDU_H +#define REPAIRCOMPLETEPDU_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 7.4.6. Service Request PDU is received and repair is complete. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO RepairCompletePdu : public LogisticsFamilyPdu +{ +protected: + /** Entity that is receiving service. See 6.2.28 */ + EntityID _receivingEntityID; + + /** Entity that is supplying. See 6.2.28 */ + EntityID _repairingEntityID; + + /** Enumeration for type of repair. See 6.2.74 */ + unsigned short _repair; + + /** padding, number prevents conflict with superclass ivar name */ + short _padding4; + + + public: + RepairCompletePdu(); + virtual ~RepairCompletePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getReceivingEntityID(); + const EntityID& getReceivingEntityID() const; + void setReceivingEntityID(const EntityID &pX); + + EntityID& getRepairingEntityID(); + const EntityID& getRepairingEntityID() const; + void setRepairingEntityID(const EntityID &pX); + + unsigned short getRepair() const; + void setRepair(unsigned short pX); + + short getPadding4() const; + void setPadding4(short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const RepairCompletePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/RepairResponsePdu.cpp b/cpp/DIS7/RepairResponsePdu.cpp new file mode 100644 index 00000000..c08c3a25 --- /dev/null +++ b/cpp/DIS7/RepairResponsePdu.cpp @@ -0,0 +1,158 @@ +#include + +using namespace DIS; + + +RepairResponsePdu::RepairResponsePdu() : LogisticsFamilyPdu(), + _receivingEntityID(), + _repairingEntityID(), + _repairResult(0), + _padding1(0), + _padding2(0) +{ + setPduType( 10 ); +} + +RepairResponsePdu::~RepairResponsePdu() +{ +} + +EntityID& RepairResponsePdu::getReceivingEntityID() +{ + return _receivingEntityID; +} + +const EntityID& RepairResponsePdu::getReceivingEntityID() const +{ + return _receivingEntityID; +} + +void RepairResponsePdu::setReceivingEntityID(const EntityID &pX) +{ + _receivingEntityID = pX; +} + +EntityID& RepairResponsePdu::getRepairingEntityID() +{ + return _repairingEntityID; +} + +const EntityID& RepairResponsePdu::getRepairingEntityID() const +{ + return _repairingEntityID; +} + +void RepairResponsePdu::setRepairingEntityID(const EntityID &pX) +{ + _repairingEntityID = pX; +} + +unsigned char RepairResponsePdu::getRepairResult() const +{ + return _repairResult; +} + +void RepairResponsePdu::setRepairResult(unsigned char pX) +{ + _repairResult = pX; +} + +short RepairResponsePdu::getPadding1() const +{ + return _padding1; +} + +void RepairResponsePdu::setPadding1(short pX) +{ + _padding1 = pX; +} + +char RepairResponsePdu::getPadding2() const +{ + return _padding2; +} + +void RepairResponsePdu::setPadding2(char pX) +{ + _padding2 = pX; +} + +void RepairResponsePdu::marshal(DataStream& dataStream) const +{ + LogisticsFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _receivingEntityID.marshal(dataStream); + _repairingEntityID.marshal(dataStream); + dataStream << _repairResult; + dataStream << _padding1; + dataStream << _padding2; +} + +void RepairResponsePdu::unmarshal(DataStream& dataStream) +{ + LogisticsFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _receivingEntityID.unmarshal(dataStream); + _repairingEntityID.unmarshal(dataStream); + dataStream >> _repairResult; + dataStream >> _padding1; + dataStream >> _padding2; +} + + +bool RepairResponsePdu::operator ==(const RepairResponsePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = LogisticsFamilyPdu::operator==(rhs); + + if( ! (_receivingEntityID == rhs._receivingEntityID) ) ivarsEqual = false; + if( ! (_repairingEntityID == rhs._repairingEntityID) ) ivarsEqual = false; + if( ! (_repairResult == rhs._repairResult) ) ivarsEqual = false; + if( ! (_padding1 == rhs._padding1) ) ivarsEqual = false; + if( ! (_padding2 == rhs._padding2) ) ivarsEqual = false; + + return ivarsEqual; + } + +int RepairResponsePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = LogisticsFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _receivingEntityID.getMarshalledSize(); // _receivingEntityID + marshalSize = marshalSize + _repairingEntityID.getMarshalledSize(); // _repairingEntityID + marshalSize = marshalSize + 1; // _repairResult + marshalSize = marshalSize + 2; // _padding1 + marshalSize = marshalSize + 1; // _padding2 + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/RepairResponsePdu.h b/cpp/DIS7/RepairResponsePdu.h new file mode 100644 index 00000000..1e777f94 --- /dev/null +++ b/cpp/DIS7/RepairResponsePdu.h @@ -0,0 +1,99 @@ +#ifndef REPAIRRESPONSEPDU_H +#define REPAIRRESPONSEPDU_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 7.4.7. Sent after repair complete PDU. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO RepairResponsePdu : public LogisticsFamilyPdu +{ +protected: + /** Entity that requested repairs. See 6.2.28 */ + EntityID _receivingEntityID; + + /** Entity that is repairing. See 6.2.28 */ + EntityID _repairingEntityID; + + /** Result of repair operation */ + unsigned char _repairResult; + + /** padding */ + short _padding1; + + /** padding */ + char _padding2; + + + public: + RepairResponsePdu(); + virtual ~RepairResponsePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getReceivingEntityID(); + const EntityID& getReceivingEntityID() const; + void setReceivingEntityID(const EntityID &pX); + + EntityID& getRepairingEntityID(); + const EntityID& getRepairingEntityID() const; + void setRepairingEntityID(const EntityID &pX); + + unsigned char getRepairResult() const; + void setRepairResult(unsigned char pX); + + short getPadding1() const; + void setPadding1(short pX); + + char getPadding2() const; + void setPadding2(char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const RepairResponsePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ResupplyOfferPdu.cpp b/cpp/DIS7/ResupplyOfferPdu.cpp new file mode 100644 index 00000000..a65499cd --- /dev/null +++ b/cpp/DIS7/ResupplyOfferPdu.cpp @@ -0,0 +1,196 @@ +#include + +using namespace DIS; + + +ResupplyOfferPdu::ResupplyOfferPdu() : LogisticsFamilyPdu(), + _receivingEntityID(), + _supplyingEntityID(), + _numberOfSupplyTypes(0), + _padding1(0), + _padding2(0) +{ + setPduType( 6 ); +} + +ResupplyOfferPdu::~ResupplyOfferPdu() +{ + _supplies.clear(); +} + +EntityID& ResupplyOfferPdu::getReceivingEntityID() +{ + return _receivingEntityID; +} + +const EntityID& ResupplyOfferPdu::getReceivingEntityID() const +{ + return _receivingEntityID; +} + +void ResupplyOfferPdu::setReceivingEntityID(const EntityID &pX) +{ + _receivingEntityID = pX; +} + +EntityID& ResupplyOfferPdu::getSupplyingEntityID() +{ + return _supplyingEntityID; +} + +const EntityID& ResupplyOfferPdu::getSupplyingEntityID() const +{ + return _supplyingEntityID; +} + +void ResupplyOfferPdu::setSupplyingEntityID(const EntityID &pX) +{ + _supplyingEntityID = pX; +} + +unsigned char ResupplyOfferPdu::getNumberOfSupplyTypes() const +{ + return _supplies.size(); +} + +char ResupplyOfferPdu::getPadding1() const +{ + return _padding1; +} + +void ResupplyOfferPdu::setPadding1(char pX) +{ + _padding1 = pX; +} + +short ResupplyOfferPdu::getPadding2() const +{ + return _padding2; +} + +void ResupplyOfferPdu::setPadding2(short pX) +{ + _padding2 = pX; +} + +std::vector& ResupplyOfferPdu::getSupplies() +{ + return _supplies; +} + +const std::vector& ResupplyOfferPdu::getSupplies() const +{ + return _supplies; +} + +void ResupplyOfferPdu::setSupplies(const std::vector& pX) +{ + _supplies = pX; +} + +void ResupplyOfferPdu::marshal(DataStream& dataStream) const +{ + LogisticsFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _receivingEntityID.marshal(dataStream); + _supplyingEntityID.marshal(dataStream); + dataStream << ( unsigned char )_supplies.size(); + dataStream << _padding1; + dataStream << _padding2; + + for(size_t idx = 0; idx < _supplies.size(); idx++) + { + SupplyQuantity x = _supplies[idx]; + x.marshal(dataStream); + } + +} + +void ResupplyOfferPdu::unmarshal(DataStream& dataStream) +{ + LogisticsFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _receivingEntityID.unmarshal(dataStream); + _supplyingEntityID.unmarshal(dataStream); + dataStream >> _numberOfSupplyTypes; + dataStream >> _padding1; + dataStream >> _padding2; + + _supplies.clear(); + for(size_t idx = 0; idx < _numberOfSupplyTypes; idx++) + { + SupplyQuantity x; + x.unmarshal(dataStream); + _supplies.push_back(x); + } +} + + +bool ResupplyOfferPdu::operator ==(const ResupplyOfferPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = LogisticsFamilyPdu::operator==(rhs); + + if( ! (_receivingEntityID == rhs._receivingEntityID) ) ivarsEqual = false; + if( ! (_supplyingEntityID == rhs._supplyingEntityID) ) ivarsEqual = false; + if( ! (_padding1 == rhs._padding1) ) ivarsEqual = false; + if( ! (_padding2 == rhs._padding2) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _supplies.size(); idx++) + { + if( ! ( _supplies[idx] == rhs._supplies[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int ResupplyOfferPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = LogisticsFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _receivingEntityID.getMarshalledSize(); // _receivingEntityID + marshalSize = marshalSize + _supplyingEntityID.getMarshalledSize(); // _supplyingEntityID + marshalSize = marshalSize + 1; // _numberOfSupplyTypes + marshalSize = marshalSize + 1; // _padding1 + marshalSize = marshalSize + 2; // _padding2 + + for(int idx=0; idx < _supplies.size(); idx++) + { + SupplyQuantity listElement = _supplies[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ResupplyOfferPdu.h b/cpp/DIS7/ResupplyOfferPdu.h new file mode 100644 index 00000000..e5d6d7fd --- /dev/null +++ b/cpp/DIS7/ResupplyOfferPdu.h @@ -0,0 +1,107 @@ +#ifndef RESUPPLYOFFERPDU_H +#define RESUPPLYOFFERPDU_H + +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Information used to communicate the offer of supplies by a supplying entity to a receiving entity. Section 7.4.3 COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ResupplyOfferPdu : public LogisticsFamilyPdu +{ +protected: + /** Field identifies the Entity and respective Entity Record ID that is receiving service (see 6.2.28), Section 7.4.3 */ + EntityID _receivingEntityID; + + /** Identifies the Entity and respective Entity ID Record that is supplying (see 6.2.28), Section 7.4.3 */ + EntityID _supplyingEntityID; + + /** How many supplies types are being offered, Section 7.4.3 */ + unsigned char _numberOfSupplyTypes; + + /** padding */ + char _padding1; + + /** padding */ + short _padding2; + + /** A Reord that Specifies the type of supply and the amount of that supply for each of the supply types in numberOfSupplyTypes (see 6.2.85), Section 7.4.3 */ + std::vector _supplies; + + + public: + ResupplyOfferPdu(); + virtual ~ResupplyOfferPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getReceivingEntityID(); + const EntityID& getReceivingEntityID() const; + void setReceivingEntityID(const EntityID &pX); + + EntityID& getSupplyingEntityID(); + const EntityID& getSupplyingEntityID() const; + void setSupplyingEntityID(const EntityID &pX); + + unsigned char getNumberOfSupplyTypes() const; + + char getPadding1() const; + void setPadding1(char pX); + + short getPadding2() const; + void setPadding2(short pX); + + std::vector& getSupplies(); + const std::vector& getSupplies() const; + void setSupplies(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ResupplyOfferPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ResupplyReceivedPdu.cpp b/cpp/DIS7/ResupplyReceivedPdu.cpp new file mode 100644 index 00000000..093e427b --- /dev/null +++ b/cpp/DIS7/ResupplyReceivedPdu.cpp @@ -0,0 +1,196 @@ +#include + +using namespace DIS; + + +ResupplyReceivedPdu::ResupplyReceivedPdu() : LogisticsFamilyPdu(), + _receivingEntityID(), + _supplyingEntityID(), + _numberOfSupplyTypes(0), + _padding1(0), + _padding2(0) +{ + setPduType( 7 ); +} + +ResupplyReceivedPdu::~ResupplyReceivedPdu() +{ + _supplies.clear(); +} + +EntityID& ResupplyReceivedPdu::getReceivingEntityID() +{ + return _receivingEntityID; +} + +const EntityID& ResupplyReceivedPdu::getReceivingEntityID() const +{ + return _receivingEntityID; +} + +void ResupplyReceivedPdu::setReceivingEntityID(const EntityID &pX) +{ + _receivingEntityID = pX; +} + +EntityID& ResupplyReceivedPdu::getSupplyingEntityID() +{ + return _supplyingEntityID; +} + +const EntityID& ResupplyReceivedPdu::getSupplyingEntityID() const +{ + return _supplyingEntityID; +} + +void ResupplyReceivedPdu::setSupplyingEntityID(const EntityID &pX) +{ + _supplyingEntityID = pX; +} + +unsigned char ResupplyReceivedPdu::getNumberOfSupplyTypes() const +{ + return _supplies.size(); +} + +short ResupplyReceivedPdu::getPadding1() const +{ + return _padding1; +} + +void ResupplyReceivedPdu::setPadding1(short pX) +{ + _padding1 = pX; +} + +char ResupplyReceivedPdu::getPadding2() const +{ + return _padding2; +} + +void ResupplyReceivedPdu::setPadding2(char pX) +{ + _padding2 = pX; +} + +std::vector& ResupplyReceivedPdu::getSupplies() +{ + return _supplies; +} + +const std::vector& ResupplyReceivedPdu::getSupplies() const +{ + return _supplies; +} + +void ResupplyReceivedPdu::setSupplies(const std::vector& pX) +{ + _supplies = pX; +} + +void ResupplyReceivedPdu::marshal(DataStream& dataStream) const +{ + LogisticsFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _receivingEntityID.marshal(dataStream); + _supplyingEntityID.marshal(dataStream); + dataStream << ( unsigned char )_supplies.size(); + dataStream << _padding1; + dataStream << _padding2; + + for(size_t idx = 0; idx < _supplies.size(); idx++) + { + SupplyQuantity x = _supplies[idx]; + x.marshal(dataStream); + } + +} + +void ResupplyReceivedPdu::unmarshal(DataStream& dataStream) +{ + LogisticsFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _receivingEntityID.unmarshal(dataStream); + _supplyingEntityID.unmarshal(dataStream); + dataStream >> _numberOfSupplyTypes; + dataStream >> _padding1; + dataStream >> _padding2; + + _supplies.clear(); + for(size_t idx = 0; idx < _numberOfSupplyTypes; idx++) + { + SupplyQuantity x; + x.unmarshal(dataStream); + _supplies.push_back(x); + } +} + + +bool ResupplyReceivedPdu::operator ==(const ResupplyReceivedPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = LogisticsFamilyPdu::operator==(rhs); + + if( ! (_receivingEntityID == rhs._receivingEntityID) ) ivarsEqual = false; + if( ! (_supplyingEntityID == rhs._supplyingEntityID) ) ivarsEqual = false; + if( ! (_padding1 == rhs._padding1) ) ivarsEqual = false; + if( ! (_padding2 == rhs._padding2) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _supplies.size(); idx++) + { + if( ! ( _supplies[idx] == rhs._supplies[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int ResupplyReceivedPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = LogisticsFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _receivingEntityID.getMarshalledSize(); // _receivingEntityID + marshalSize = marshalSize + _supplyingEntityID.getMarshalledSize(); // _supplyingEntityID + marshalSize = marshalSize + 1; // _numberOfSupplyTypes + marshalSize = marshalSize + 2; // _padding1 + marshalSize = marshalSize + 1; // _padding2 + + for(int idx=0; idx < _supplies.size(); idx++) + { + SupplyQuantity listElement = _supplies[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ResupplyReceivedPdu.h b/cpp/DIS7/ResupplyReceivedPdu.h new file mode 100644 index 00000000..88f2aaf0 --- /dev/null +++ b/cpp/DIS7/ResupplyReceivedPdu.h @@ -0,0 +1,107 @@ +#ifndef RESUPPLYRECEIVEDPDU_H +#define RESUPPLYRECEIVEDPDU_H + +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 7.4.4. Receipt of supplies is communicated by issuing Resupply Received PDU. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ResupplyReceivedPdu : public LogisticsFamilyPdu +{ +protected: + /** Entity that is receiving service. Shall be represented by Entity Identifier record (see 6.2.28) */ + EntityID _receivingEntityID; + + /** Entity that is supplying. Shall be represented by Entity Identifier record (see 6.2.28) */ + EntityID _supplyingEntityID; + + /** How many supplies are taken by receiving entity */ + unsigned char _numberOfSupplyTypes; + + /** padding */ + short _padding1; + + /** padding */ + char _padding2; + + /** Type and amount of supplies for each specified supply type. See 6.2.85 for supply quantity record. */ + std::vector _supplies; + + + public: + ResupplyReceivedPdu(); + virtual ~ResupplyReceivedPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getReceivingEntityID(); + const EntityID& getReceivingEntityID() const; + void setReceivingEntityID(const EntityID &pX); + + EntityID& getSupplyingEntityID(); + const EntityID& getSupplyingEntityID() const; + void setSupplyingEntityID(const EntityID &pX); + + unsigned char getNumberOfSupplyTypes() const; + + short getPadding1() const; + void setPadding1(short pX); + + char getPadding2() const; + void setPadding2(char pX); + + std::vector& getSupplies(); + const std::vector& getSupplies() const; + void setSupplies(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ResupplyReceivedPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/SecondaryOperationalData.cpp b/cpp/DIS7/SecondaryOperationalData.cpp new file mode 100644 index 00000000..6abb1fb6 --- /dev/null +++ b/cpp/DIS7/SecondaryOperationalData.cpp @@ -0,0 +1,112 @@ +#include + +using namespace DIS; + + +SecondaryOperationalData::SecondaryOperationalData(): + _operationalData1(0), + _operationalData2(0), + _numberOfIFFFundamentalParameterRecords(0) +{ +} + +SecondaryOperationalData::~SecondaryOperationalData() +{ +} + +unsigned char SecondaryOperationalData::getOperationalData1() const +{ + return _operationalData1; +} + +void SecondaryOperationalData::setOperationalData1(unsigned char pX) +{ + _operationalData1 = pX; +} + +unsigned char SecondaryOperationalData::getOperationalData2() const +{ + return _operationalData2; +} + +void SecondaryOperationalData::setOperationalData2(unsigned char pX) +{ + _operationalData2 = pX; +} + +unsigned short SecondaryOperationalData::getNumberOfIFFFundamentalParameterRecords() const +{ + return _numberOfIFFFundamentalParameterRecords; +} + +void SecondaryOperationalData::setNumberOfIFFFundamentalParameterRecords(unsigned short pX) +{ + _numberOfIFFFundamentalParameterRecords = pX; +} + +void SecondaryOperationalData::marshal(DataStream& dataStream) const +{ + dataStream << _operationalData1; + dataStream << _operationalData2; + dataStream << _numberOfIFFFundamentalParameterRecords; +} + +void SecondaryOperationalData::unmarshal(DataStream& dataStream) +{ + dataStream >> _operationalData1; + dataStream >> _operationalData2; + dataStream >> _numberOfIFFFundamentalParameterRecords; +} + + +bool SecondaryOperationalData::operator ==(const SecondaryOperationalData& rhs) const + { + bool ivarsEqual = true; + + if( ! (_operationalData1 == rhs._operationalData1) ) ivarsEqual = false; + if( ! (_operationalData2 == rhs._operationalData2) ) ivarsEqual = false; + if( ! (_numberOfIFFFundamentalParameterRecords == rhs._numberOfIFFFundamentalParameterRecords) ) ivarsEqual = false; + + return ivarsEqual; + } + +int SecondaryOperationalData::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _operationalData1 + marshalSize = marshalSize + 1; // _operationalData2 + marshalSize = marshalSize + 2; // _numberOfIFFFundamentalParameterRecords + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/SecondaryOperationalData.h b/cpp/DIS7/SecondaryOperationalData.h new file mode 100644 index 00000000..26eaf93b --- /dev/null +++ b/cpp/DIS7/SecondaryOperationalData.h @@ -0,0 +1,82 @@ +#ifndef SECONDARYOPERATIONALDATA_H +#define SECONDARYOPERATIONALDATA_H + +#include +#include + + +namespace DIS +{ +// Additional operational data for an IFF emitting system and the number of IFF Fundamental Parameter Data records Section 6.2.76. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO SecondaryOperationalData +{ +protected: + /** additional operational characteristics of the IFF emitting system. Each 8-bit field will vary depending on the system type. */ + unsigned char _operationalData1; + + /** additional operational characteristics of the IFF emitting system. Each 8-bit field will vary depending on the system type. */ + unsigned char _operationalData2; + + /** the number of IFF Fundamental Parameter Data records that follow */ + unsigned short _numberOfIFFFundamentalParameterRecords; + + + public: + SecondaryOperationalData(); + virtual ~SecondaryOperationalData(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getOperationalData1() const; + void setOperationalData1(unsigned char pX); + + unsigned char getOperationalData2() const; + void setOperationalData2(unsigned char pX); + + unsigned short getNumberOfIFFFundamentalParameterRecords() const; + void setNumberOfIFFFundamentalParameterRecords(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const SecondaryOperationalData& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/SeesPdu.cpp b/cpp/DIS7/SeesPdu.cpp new file mode 100644 index 00000000..18beacfb --- /dev/null +++ b/cpp/DIS7/SeesPdu.cpp @@ -0,0 +1,244 @@ +#include + +using namespace DIS; + + +SeesPdu::SeesPdu() : DistributedEmissionsFamilyPdu(), + _orginatingEntityID(), + _infraredSignatureRepresentationIndex(0), + _acousticSignatureRepresentationIndex(0), + _radarCrossSectionSignatureRepresentationIndex(0), + _numberOfPropulsionSystems(0), + _numberOfVectoringNozzleSystems(0) +{ + setPduType( 30 ); +} + +SeesPdu::~SeesPdu() +{ + _propulsionSystemData.clear(); + _vectoringSystemData.clear(); +} + +EntityID& SeesPdu::getOrginatingEntityID() +{ + return _orginatingEntityID; +} + +const EntityID& SeesPdu::getOrginatingEntityID() const +{ + return _orginatingEntityID; +} + +void SeesPdu::setOrginatingEntityID(const EntityID &pX) +{ + _orginatingEntityID = pX; +} + +unsigned short SeesPdu::getInfraredSignatureRepresentationIndex() const +{ + return _infraredSignatureRepresentationIndex; +} + +void SeesPdu::setInfraredSignatureRepresentationIndex(unsigned short pX) +{ + _infraredSignatureRepresentationIndex = pX; +} + +unsigned short SeesPdu::getAcousticSignatureRepresentationIndex() const +{ + return _acousticSignatureRepresentationIndex; +} + +void SeesPdu::setAcousticSignatureRepresentationIndex(unsigned short pX) +{ + _acousticSignatureRepresentationIndex = pX; +} + +unsigned short SeesPdu::getRadarCrossSectionSignatureRepresentationIndex() const +{ + return _radarCrossSectionSignatureRepresentationIndex; +} + +void SeesPdu::setRadarCrossSectionSignatureRepresentationIndex(unsigned short pX) +{ + _radarCrossSectionSignatureRepresentationIndex = pX; +} + +unsigned short SeesPdu::getNumberOfPropulsionSystems() const +{ + return _propulsionSystemData.size(); +} + +unsigned short SeesPdu::getNumberOfVectoringNozzleSystems() const +{ + return _vectoringSystemData.size(); +} + +std::vector& SeesPdu::getPropulsionSystemData() +{ + return _propulsionSystemData; +} + +const std::vector& SeesPdu::getPropulsionSystemData() const +{ + return _propulsionSystemData; +} + +void SeesPdu::setPropulsionSystemData(const std::vector& pX) +{ + _propulsionSystemData = pX; +} + +std::vector& SeesPdu::getVectoringSystemData() +{ + return _vectoringSystemData; +} + +const std::vector& SeesPdu::getVectoringSystemData() const +{ + return _vectoringSystemData; +} + +void SeesPdu::setVectoringSystemData(const std::vector& pX) +{ + _vectoringSystemData = pX; +} + +void SeesPdu::marshal(DataStream& dataStream) const +{ + DistributedEmissionsFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _orginatingEntityID.marshal(dataStream); + dataStream << _infraredSignatureRepresentationIndex; + dataStream << _acousticSignatureRepresentationIndex; + dataStream << _radarCrossSectionSignatureRepresentationIndex; + dataStream << ( unsigned short )_propulsionSystemData.size(); + dataStream << ( unsigned short )_vectoringSystemData.size(); + + for(size_t idx = 0; idx < _propulsionSystemData.size(); idx++) + { + PropulsionSystemData x = _propulsionSystemData[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _vectoringSystemData.size(); idx++) + { + VectoringNozzleSystem x = _vectoringSystemData[idx]; + x.marshal(dataStream); + } + +} + +void SeesPdu::unmarshal(DataStream& dataStream) +{ + DistributedEmissionsFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _orginatingEntityID.unmarshal(dataStream); + dataStream >> _infraredSignatureRepresentationIndex; + dataStream >> _acousticSignatureRepresentationIndex; + dataStream >> _radarCrossSectionSignatureRepresentationIndex; + dataStream >> _numberOfPropulsionSystems; + dataStream >> _numberOfVectoringNozzleSystems; + + _propulsionSystemData.clear(); + for(size_t idx = 0; idx < _numberOfPropulsionSystems; idx++) + { + PropulsionSystemData x; + x.unmarshal(dataStream); + _propulsionSystemData.push_back(x); + } + + _vectoringSystemData.clear(); + for(size_t idx = 0; idx < _numberOfVectoringNozzleSystems; idx++) + { + VectoringNozzleSystem x; + x.unmarshal(dataStream); + _vectoringSystemData.push_back(x); + } +} + + +bool SeesPdu::operator ==(const SeesPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = DistributedEmissionsFamilyPdu::operator==(rhs); + + if( ! (_orginatingEntityID == rhs._orginatingEntityID) ) ivarsEqual = false; + if( ! (_infraredSignatureRepresentationIndex == rhs._infraredSignatureRepresentationIndex) ) ivarsEqual = false; + if( ! (_acousticSignatureRepresentationIndex == rhs._acousticSignatureRepresentationIndex) ) ivarsEqual = false; + if( ! (_radarCrossSectionSignatureRepresentationIndex == rhs._radarCrossSectionSignatureRepresentationIndex) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _propulsionSystemData.size(); idx++) + { + if( ! ( _propulsionSystemData[idx] == rhs._propulsionSystemData[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _vectoringSystemData.size(); idx++) + { + if( ! ( _vectoringSystemData[idx] == rhs._vectoringSystemData[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int SeesPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = DistributedEmissionsFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _orginatingEntityID.getMarshalledSize(); // _orginatingEntityID + marshalSize = marshalSize + 2; // _infraredSignatureRepresentationIndex + marshalSize = marshalSize + 2; // _acousticSignatureRepresentationIndex + marshalSize = marshalSize + 2; // _radarCrossSectionSignatureRepresentationIndex + marshalSize = marshalSize + 2; // _numberOfPropulsionSystems + marshalSize = marshalSize + 2; // _numberOfVectoringNozzleSystems + + for(int idx=0; idx < _propulsionSystemData.size(); idx++) + { + PropulsionSystemData listElement = _propulsionSystemData[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _vectoringSystemData.size(); idx++) + { + VectoringNozzleSystem listElement = _vectoringSystemData[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/SeesPdu.h b/cpp/DIS7/SeesPdu.h new file mode 100644 index 00000000..d5927172 --- /dev/null +++ b/cpp/DIS7/SeesPdu.h @@ -0,0 +1,118 @@ +#ifndef SEESPDU_H +#define SEESPDU_H + +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// SEES PDU, supplemental emissions entity state information. Section 7.6.6 COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO SeesPdu : public DistributedEmissionsFamilyPdu +{ +protected: + /** Originating entity ID */ + EntityID _orginatingEntityID; + + /** IR Signature representation index */ + unsigned short _infraredSignatureRepresentationIndex; + + /** acoustic Signature representation index */ + unsigned short _acousticSignatureRepresentationIndex; + + /** radar cross section representation index */ + unsigned short _radarCrossSectionSignatureRepresentationIndex; + + /** how many propulsion systems */ + unsigned short _numberOfPropulsionSystems; + + /** how many vectoring nozzle systems */ + unsigned short _numberOfVectoringNozzleSystems; + + /** variable length list of propulsion system data */ + std::vector _propulsionSystemData; + + /** variable length list of vectoring system data */ + std::vector _vectoringSystemData; + + + public: + SeesPdu(); + virtual ~SeesPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getOrginatingEntityID(); + const EntityID& getOrginatingEntityID() const; + void setOrginatingEntityID(const EntityID &pX); + + unsigned short getInfraredSignatureRepresentationIndex() const; + void setInfraredSignatureRepresentationIndex(unsigned short pX); + + unsigned short getAcousticSignatureRepresentationIndex() const; + void setAcousticSignatureRepresentationIndex(unsigned short pX); + + unsigned short getRadarCrossSectionSignatureRepresentationIndex() const; + void setRadarCrossSectionSignatureRepresentationIndex(unsigned short pX); + + unsigned short getNumberOfPropulsionSystems() const; + + unsigned short getNumberOfVectoringNozzleSystems() const; + + std::vector& getPropulsionSystemData(); + const std::vector& getPropulsionSystemData() const; + void setPropulsionSystemData(const std::vector& pX); + + std::vector& getVectoringSystemData(); + const std::vector& getVectoringSystemData() const; + void setVectoringSystemData(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const SeesPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/Sensor.cpp b/cpp/DIS7/Sensor.cpp new file mode 100644 index 00000000..64a5eca8 --- /dev/null +++ b/cpp/DIS7/Sensor.cpp @@ -0,0 +1,157 @@ +#include + +using namespace DIS; + + +Sensor::Sensor(): + _sensorTypeSource(0), + _sensorOnOffStatus(0), + _sensorType(0), + _station(0), + _quantity(0), + _padding(0) +{ +} + +Sensor::~Sensor() +{ +} + +unsigned char Sensor::getSensorTypeSource() const +{ + return _sensorTypeSource; +} + +void Sensor::setSensorTypeSource(unsigned char pX) +{ + _sensorTypeSource = pX; +} + +unsigned char Sensor::getSensorOnOffStatus() const +{ + return _sensorOnOffStatus; +} + +void Sensor::setSensorOnOffStatus(unsigned char pX) +{ + _sensorOnOffStatus = pX; +} + +unsigned short Sensor::getSensorType() const +{ + return _sensorType; +} + +void Sensor::setSensorType(unsigned short pX) +{ + _sensorType = pX; +} + +unsigned int Sensor::getStation() const +{ + return _station; +} + +void Sensor::setStation(unsigned int pX) +{ + _station = pX; +} + +unsigned short Sensor::getQuantity() const +{ + return _quantity; +} + +void Sensor::setQuantity(unsigned short pX) +{ + _quantity = pX; +} + +unsigned short Sensor::getPadding() const +{ + return _padding; +} + +void Sensor::setPadding(unsigned short pX) +{ + _padding = pX; +} + +void Sensor::marshal(DataStream& dataStream) const +{ + dataStream << _sensorTypeSource; + dataStream << _sensorOnOffStatus; + dataStream << _sensorType; + dataStream << _station; + dataStream << _quantity; + dataStream << _padding; +} + +void Sensor::unmarshal(DataStream& dataStream) +{ + dataStream >> _sensorTypeSource; + dataStream >> _sensorOnOffStatus; + dataStream >> _sensorType; + dataStream >> _station; + dataStream >> _quantity; + dataStream >> _padding; +} + + +bool Sensor::operator ==(const Sensor& rhs) const + { + bool ivarsEqual = true; + + if( ! (_sensorTypeSource == rhs._sensorTypeSource) ) ivarsEqual = false; + if( ! (_sensorOnOffStatus == rhs._sensorOnOffStatus) ) ivarsEqual = false; + if( ! (_sensorType == rhs._sensorType) ) ivarsEqual = false; + if( ! (_station == rhs._station) ) ivarsEqual = false; + if( ! (_quantity == rhs._quantity) ) ivarsEqual = false; + if( ! (_padding == rhs._padding) ) ivarsEqual = false; + + return ivarsEqual; + } + +int Sensor::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _sensorTypeSource + marshalSize = marshalSize + 1; // _sensorOnOffStatus + marshalSize = marshalSize + 2; // _sensorType + marshalSize = marshalSize + 4; // _station + marshalSize = marshalSize + 2; // _quantity + marshalSize = marshalSize + 2; // _padding + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/Sensor.h b/cpp/DIS7/Sensor.h new file mode 100644 index 00000000..c6cafe7b --- /dev/null +++ b/cpp/DIS7/Sensor.h @@ -0,0 +1,100 @@ +#ifndef SENSOR_H +#define SENSOR_H + +#include +#include + + +namespace DIS +{ +// An entity's sensor information. Section 6.2.77. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO Sensor +{ +protected: + /** the source of the Sensor Type field */ + unsigned char _sensorTypeSource; + + /** the on/off status of the sensor */ + unsigned char _sensorOnOffStatus; + + /** the sensor type and shall be represented by a 16-bit enumeration. */ + unsigned short _sensorType; + + /** the station to which the sensor is assigned. A zero value shall indi- cate that this Sensor record is not associated with any particular station and represents the total quan- tity of this sensor for this entity. If this field is non-zero, it shall either reference an attached part or an articulated part */ + unsigned int _station; + + /** quantity of the sensor */ + unsigned short _quantity; + + /** padding */ + unsigned short _padding; + + + public: + Sensor(); + virtual ~Sensor(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getSensorTypeSource() const; + void setSensorTypeSource(unsigned char pX); + + unsigned char getSensorOnOffStatus() const; + void setSensorOnOffStatus(unsigned char pX); + + unsigned short getSensorType() const; + void setSensorType(unsigned short pX); + + unsigned int getStation() const; + void setStation(unsigned int pX); + + unsigned short getQuantity() const; + void setQuantity(unsigned short pX); + + unsigned short getPadding() const; + void setPadding(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const Sensor& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/SeparationVP.cpp b/cpp/DIS7/SeparationVP.cpp new file mode 100644 index 00000000..4b999d1a --- /dev/null +++ b/cpp/DIS7/SeparationVP.cpp @@ -0,0 +1,177 @@ +#include + +using namespace DIS; + + +SeparationVP::SeparationVP(): + _recordType(4), + _reasonForSeparation(0), + _preEntityIndicator(0), + _padding1(0), + _parentEntityID(), + _padding2(0), + _stationLocation(0) +{ +} + +SeparationVP::~SeparationVP() +{ +} + +unsigned char SeparationVP::getRecordType() const +{ + return _recordType; +} + +void SeparationVP::setRecordType(unsigned char pX) +{ + _recordType = pX; +} + +unsigned char SeparationVP::getReasonForSeparation() const +{ + return _reasonForSeparation; +} + +void SeparationVP::setReasonForSeparation(unsigned char pX) +{ + _reasonForSeparation = pX; +} + +unsigned char SeparationVP::getPreEntityIndicator() const +{ + return _preEntityIndicator; +} + +void SeparationVP::setPreEntityIndicator(unsigned char pX) +{ + _preEntityIndicator = pX; +} + +unsigned char SeparationVP::getPadding1() const +{ + return _padding1; +} + +void SeparationVP::setPadding1(unsigned char pX) +{ + _padding1 = pX; +} + +EntityID& SeparationVP::getParentEntityID() +{ + return _parentEntityID; +} + +const EntityID& SeparationVP::getParentEntityID() const +{ + return _parentEntityID; +} + +void SeparationVP::setParentEntityID(const EntityID &pX) +{ + _parentEntityID = pX; +} + +unsigned short SeparationVP::getPadding2() const +{ + return _padding2; +} + +void SeparationVP::setPadding2(unsigned short pX) +{ + _padding2 = pX; +} + +unsigned int SeparationVP::getStationLocation() const +{ + return _stationLocation; +} + +void SeparationVP::setStationLocation(unsigned int pX) +{ + _stationLocation = pX; +} + +void SeparationVP::marshal(DataStream& dataStream) const +{ + dataStream << _recordType; + dataStream << _reasonForSeparation; + dataStream << _preEntityIndicator; + dataStream << _padding1; + _parentEntityID.marshal(dataStream); + dataStream << _padding2; + dataStream << _stationLocation; +} + +void SeparationVP::unmarshal(DataStream& dataStream) +{ + dataStream >> _recordType; + dataStream >> _reasonForSeparation; + dataStream >> _preEntityIndicator; + dataStream >> _padding1; + _parentEntityID.unmarshal(dataStream); + dataStream >> _padding2; + dataStream >> _stationLocation; +} + + +bool SeparationVP::operator ==(const SeparationVP& rhs) const + { + bool ivarsEqual = true; + + if( ! (_recordType == rhs._recordType) ) ivarsEqual = false; + if( ! (_reasonForSeparation == rhs._reasonForSeparation) ) ivarsEqual = false; + if( ! (_preEntityIndicator == rhs._preEntityIndicator) ) ivarsEqual = false; + if( ! (_padding1 == rhs._padding1) ) ivarsEqual = false; + if( ! (_parentEntityID == rhs._parentEntityID) ) ivarsEqual = false; + if( ! (_padding2 == rhs._padding2) ) ivarsEqual = false; + if( ! (_stationLocation == rhs._stationLocation) ) ivarsEqual = false; + + return ivarsEqual; + } + +int SeparationVP::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _recordType + marshalSize = marshalSize + 1; // _reasonForSeparation + marshalSize = marshalSize + 1; // _preEntityIndicator + marshalSize = marshalSize + 1; // _padding1 + marshalSize = marshalSize + _parentEntityID.getMarshalledSize(); // _parentEntityID + marshalSize = marshalSize + 2; // _padding2 + marshalSize = marshalSize + 4; // _stationLocation + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/SeparationVP.h b/cpp/DIS7/SeparationVP.h new file mode 100644 index 00000000..c990506f --- /dev/null +++ b/cpp/DIS7/SeparationVP.h @@ -0,0 +1,108 @@ +#ifndef SEPARATIONVP_H +#define SEPARATIONVP_H + +#include +#include +#include + + +namespace DIS +{ +// Physical separation of an entity from another entity. Section 6.2.93.6 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO SeparationVP +{ +protected: + /** the identification of the Variable Parameter record. Enumeration from EBV */ + unsigned char _recordType; + + /** Reason for separation. EBV */ + unsigned char _reasonForSeparation; + + /** Whether the entity existed prior to separation EBV */ + unsigned char _preEntityIndicator; + + /** padding */ + unsigned char _padding1; + + /** ID of parent */ + EntityID _parentEntityID; + + /** padding */ + unsigned short _padding2; + + /** Station separated from */ + unsigned int _stationLocation; + + + public: + SeparationVP(); + virtual ~SeparationVP(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getRecordType() const; + void setRecordType(unsigned char pX); + + unsigned char getReasonForSeparation() const; + void setReasonForSeparation(unsigned char pX); + + unsigned char getPreEntityIndicator() const; + void setPreEntityIndicator(unsigned char pX); + + unsigned char getPadding1() const; + void setPadding1(unsigned char pX); + + EntityID& getParentEntityID(); + const EntityID& getParentEntityID() const; + void setParentEntityID(const EntityID &pX); + + unsigned short getPadding2() const; + void setPadding2(unsigned short pX); + + unsigned int getStationLocation() const; + void setStationLocation(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const SeparationVP& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ServiceRequestPdu.cpp b/cpp/DIS7/ServiceRequestPdu.cpp new file mode 100644 index 00000000..bac17b3f --- /dev/null +++ b/cpp/DIS7/ServiceRequestPdu.cpp @@ -0,0 +1,196 @@ +#include + +using namespace DIS; + + +ServiceRequestPdu::ServiceRequestPdu() : LogisticsFamilyPdu(), + _requestingEntityID(), + _servicingEntityID(), + _serviceTypeRequested(0), + _numberOfSupplyTypes(0), + _serviceRequestPadding(0) +{ + setPduType( 5 ); +} + +ServiceRequestPdu::~ServiceRequestPdu() +{ + _supplies.clear(); +} + +EntityID& ServiceRequestPdu::getRequestingEntityID() +{ + return _requestingEntityID; +} + +const EntityID& ServiceRequestPdu::getRequestingEntityID() const +{ + return _requestingEntityID; +} + +void ServiceRequestPdu::setRequestingEntityID(const EntityID &pX) +{ + _requestingEntityID = pX; +} + +EntityID& ServiceRequestPdu::getServicingEntityID() +{ + return _servicingEntityID; +} + +const EntityID& ServiceRequestPdu::getServicingEntityID() const +{ + return _servicingEntityID; +} + +void ServiceRequestPdu::setServicingEntityID(const EntityID &pX) +{ + _servicingEntityID = pX; +} + +unsigned char ServiceRequestPdu::getServiceTypeRequested() const +{ + return _serviceTypeRequested; +} + +void ServiceRequestPdu::setServiceTypeRequested(unsigned char pX) +{ + _serviceTypeRequested = pX; +} + +unsigned char ServiceRequestPdu::getNumberOfSupplyTypes() const +{ + return _supplies.size(); +} + +short ServiceRequestPdu::getServiceRequestPadding() const +{ + return _serviceRequestPadding; +} + +void ServiceRequestPdu::setServiceRequestPadding(short pX) +{ + _serviceRequestPadding = pX; +} + +std::vector& ServiceRequestPdu::getSupplies() +{ + return _supplies; +} + +const std::vector& ServiceRequestPdu::getSupplies() const +{ + return _supplies; +} + +void ServiceRequestPdu::setSupplies(const std::vector& pX) +{ + _supplies = pX; +} + +void ServiceRequestPdu::marshal(DataStream& dataStream) const +{ + LogisticsFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _requestingEntityID.marshal(dataStream); + _servicingEntityID.marshal(dataStream); + dataStream << _serviceTypeRequested; + dataStream << ( unsigned char )_supplies.size(); + dataStream << _serviceRequestPadding; + + for(size_t idx = 0; idx < _supplies.size(); idx++) + { + SupplyQuantity x = _supplies[idx]; + x.marshal(dataStream); + } + +} + +void ServiceRequestPdu::unmarshal(DataStream& dataStream) +{ + LogisticsFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _requestingEntityID.unmarshal(dataStream); + _servicingEntityID.unmarshal(dataStream); + dataStream >> _serviceTypeRequested; + dataStream >> _numberOfSupplyTypes; + dataStream >> _serviceRequestPadding; + + _supplies.clear(); + for(size_t idx = 0; idx < _numberOfSupplyTypes; idx++) + { + SupplyQuantity x; + x.unmarshal(dataStream); + _supplies.push_back(x); + } +} + + +bool ServiceRequestPdu::operator ==(const ServiceRequestPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = LogisticsFamilyPdu::operator==(rhs); + + if( ! (_requestingEntityID == rhs._requestingEntityID) ) ivarsEqual = false; + if( ! (_servicingEntityID == rhs._servicingEntityID) ) ivarsEqual = false; + if( ! (_serviceTypeRequested == rhs._serviceTypeRequested) ) ivarsEqual = false; + if( ! (_serviceRequestPadding == rhs._serviceRequestPadding) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _supplies.size(); idx++) + { + if( ! ( _supplies[idx] == rhs._supplies[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int ServiceRequestPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = LogisticsFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _requestingEntityID.getMarshalledSize(); // _requestingEntityID + marshalSize = marshalSize + _servicingEntityID.getMarshalledSize(); // _servicingEntityID + marshalSize = marshalSize + 1; // _serviceTypeRequested + marshalSize = marshalSize + 1; // _numberOfSupplyTypes + marshalSize = marshalSize + 2; // _serviceRequestPadding + + for(int idx=0; idx < _supplies.size(); idx++) + { + SupplyQuantity listElement = _supplies[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/ServiceRequestPdu.h b/cpp/DIS7/ServiceRequestPdu.h new file mode 100644 index 00000000..b343b40b --- /dev/null +++ b/cpp/DIS7/ServiceRequestPdu.h @@ -0,0 +1,106 @@ +#ifndef SERVICEREQUESTPDU_H +#define SERVICEREQUESTPDU_H + +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Service Request PDU shall be used to communicate information associated with one entity requesting a service from another). Section 7.4.2 COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO ServiceRequestPdu : public LogisticsFamilyPdu +{ +protected: + /** Entity that is requesting service (see 6.2.28), Section 7.4.2 */ + EntityID _requestingEntityID; + + /** Entity that is providing the service (see 6.2.28), Section 7.4.2 */ + EntityID _servicingEntityID; + + /** Type of service requested, Section 7.4.2 */ + unsigned char _serviceTypeRequested; + + /** How many requested, Section 7.4.2 */ + unsigned char _numberOfSupplyTypes; + + /** padding */ + short _serviceRequestPadding; + + std::vector _supplies; + + + public: + ServiceRequestPdu(); + virtual ~ServiceRequestPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getRequestingEntityID(); + const EntityID& getRequestingEntityID() const; + void setRequestingEntityID(const EntityID &pX); + + EntityID& getServicingEntityID(); + const EntityID& getServicingEntityID() const; + void setServicingEntityID(const EntityID &pX); + + unsigned char getServiceTypeRequested() const; + void setServiceTypeRequested(unsigned char pX); + + unsigned char getNumberOfSupplyTypes() const; + + short getServiceRequestPadding() const; + void setServiceRequestPadding(short pX); + + std::vector& getSupplies(); + const std::vector& getSupplies() const; + void setSupplies(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const ServiceRequestPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/SetDataPdu.cpp b/cpp/DIS7/SetDataPdu.cpp new file mode 100644 index 00000000..f6a4d243 --- /dev/null +++ b/cpp/DIS7/SetDataPdu.cpp @@ -0,0 +1,209 @@ +#include + +using namespace DIS; + + +SetDataPdu::SetDataPdu() : SimulationManagementFamilyPdu(), + _requestID(0), + _padding1(0), + _numberOfFixedDatumRecords(0), + _numberOfVariableDatumRecords(0) +{ + setPduType( 19 ); +} + +SetDataPdu::~SetDataPdu() +{ + _fixedDatums.clear(); + _variableDatums.clear(); +} + +unsigned int SetDataPdu::getRequestID() const +{ + return _requestID; +} + +void SetDataPdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +unsigned int SetDataPdu::getPadding1() const +{ + return _padding1; +} + +void SetDataPdu::setPadding1(unsigned int pX) +{ + _padding1 = pX; +} + +unsigned int SetDataPdu::getNumberOfFixedDatumRecords() const +{ + return _fixedDatums.size(); +} + +unsigned int SetDataPdu::getNumberOfVariableDatumRecords() const +{ + return _variableDatums.size(); +} + +std::vector& SetDataPdu::getFixedDatums() +{ + return _fixedDatums; +} + +const std::vector& SetDataPdu::getFixedDatums() const +{ + return _fixedDatums; +} + +void SetDataPdu::setFixedDatums(const std::vector& pX) +{ + _fixedDatums = pX; +} + +std::vector& SetDataPdu::getVariableDatums() +{ + return _variableDatums; +} + +const std::vector& SetDataPdu::getVariableDatums() const +{ + return _variableDatums; +} + +void SetDataPdu::setVariableDatums(const std::vector& pX) +{ + _variableDatums = pX; +} + +void SetDataPdu::marshal(DataStream& dataStream) const +{ + SimulationManagementFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _requestID; + dataStream << _padding1; + dataStream << ( unsigned int )_fixedDatums.size(); + dataStream << ( unsigned int )_variableDatums.size(); + + for(size_t idx = 0; idx < _fixedDatums.size(); idx++) + { + FixedDatum x = _fixedDatums[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { + VariableDatum x = _variableDatums[idx]; + x.marshal(dataStream); + } + +} + +void SetDataPdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _requestID; + dataStream >> _padding1; + dataStream >> _numberOfFixedDatumRecords; + dataStream >> _numberOfVariableDatumRecords; + + _fixedDatums.clear(); + for(size_t idx = 0; idx < _numberOfFixedDatumRecords; idx++) + { + FixedDatum x; + x.unmarshal(dataStream); + _fixedDatums.push_back(x); + } + + _variableDatums.clear(); + for(size_t idx = 0; idx < _numberOfVariableDatumRecords; idx++) + { + VariableDatum x; + x.unmarshal(dataStream); + _variableDatums.push_back(x); + } +} + + +bool SetDataPdu::operator ==(const SetDataPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementFamilyPdu::operator==(rhs); + + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + if( ! (_padding1 == rhs._padding1) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _fixedDatums.size(); idx++) + { + if( ! ( _fixedDatums[idx] == rhs._fixedDatums[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { + if( ! ( _variableDatums[idx] == rhs._variableDatums[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int SetDataPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 4; // _requestID + marshalSize = marshalSize + 4; // _padding1 + marshalSize = marshalSize + 4; // _numberOfFixedDatumRecords + marshalSize = marshalSize + 4; // _numberOfVariableDatumRecords + + for(int idx=0; idx < _fixedDatums.size(); idx++) + { + FixedDatum listElement = _fixedDatums[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _variableDatums.size(); idx++) + { + VariableDatum listElement = _variableDatums[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/SetDataPdu.h b/cpp/DIS7/SetDataPdu.h new file mode 100644 index 00000000..d66f2f4e --- /dev/null +++ b/cpp/DIS7/SetDataPdu.h @@ -0,0 +1,104 @@ +#ifndef SETDATAPDU_H +#define SETDATAPDU_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 7.5.10. Change state information with the data contained in this. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO SetDataPdu : public SimulationManagementFamilyPdu +{ +protected: + /** ID of request */ + unsigned int _requestID; + + /** padding */ + unsigned int _padding1; + + /** Number of fixed datum records */ + unsigned int _numberOfFixedDatumRecords; + + /** Number of variable datum records */ + unsigned int _numberOfVariableDatumRecords; + + /** variable length list of fixed datums */ + std::vector _fixedDatums; + + /** variable length list of variable length datums */ + std::vector _variableDatums; + + + public: + SetDataPdu(); + virtual ~SetDataPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + unsigned int getPadding1() const; + void setPadding1(unsigned int pX); + + unsigned int getNumberOfFixedDatumRecords() const; + + unsigned int getNumberOfVariableDatumRecords() const; + + std::vector& getFixedDatums(); + const std::vector& getFixedDatums() const; + void setFixedDatums(const std::vector& pX); + + std::vector& getVariableDatums(); + const std::vector& getVariableDatums() const; + void setVariableDatums(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const SetDataPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/SetDataReliablePdu.cpp b/cpp/DIS7/SetDataReliablePdu.cpp new file mode 100644 index 00000000..e8d739ba --- /dev/null +++ b/cpp/DIS7/SetDataReliablePdu.cpp @@ -0,0 +1,239 @@ +#include + +using namespace DIS; + + +SetDataReliablePdu::SetDataReliablePdu() : SimulationManagementWithReliabilityFamilyPdu(), + _requiredReliabilityService(0), + _pad1(0), + _pad2(0), + _requestID(0), + _numberOfFixedDatumRecords(0), + _numberOfVariableDatumRecords(0) +{ + setPduType( 59 ); +} + +SetDataReliablePdu::~SetDataReliablePdu() +{ + _fixedDatumRecords.clear(); + _variableDatumRecords.clear(); +} + +unsigned char SetDataReliablePdu::getRequiredReliabilityService() const +{ + return _requiredReliabilityService; +} + +void SetDataReliablePdu::setRequiredReliabilityService(unsigned char pX) +{ + _requiredReliabilityService = pX; +} + +unsigned short SetDataReliablePdu::getPad1() const +{ + return _pad1; +} + +void SetDataReliablePdu::setPad1(unsigned short pX) +{ + _pad1 = pX; +} + +unsigned char SetDataReliablePdu::getPad2() const +{ + return _pad2; +} + +void SetDataReliablePdu::setPad2(unsigned char pX) +{ + _pad2 = pX; +} + +unsigned int SetDataReliablePdu::getRequestID() const +{ + return _requestID; +} + +void SetDataReliablePdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +unsigned int SetDataReliablePdu::getNumberOfFixedDatumRecords() const +{ + return _fixedDatumRecords.size(); +} + +unsigned int SetDataReliablePdu::getNumberOfVariableDatumRecords() const +{ + return _variableDatumRecords.size(); +} + +std::vector& SetDataReliablePdu::getFixedDatumRecords() +{ + return _fixedDatumRecords; +} + +const std::vector& SetDataReliablePdu::getFixedDatumRecords() const +{ + return _fixedDatumRecords; +} + +void SetDataReliablePdu::setFixedDatumRecords(const std::vector& pX) +{ + _fixedDatumRecords = pX; +} + +std::vector& SetDataReliablePdu::getVariableDatumRecords() +{ + return _variableDatumRecords; +} + +const std::vector& SetDataReliablePdu::getVariableDatumRecords() const +{ + return _variableDatumRecords; +} + +void SetDataReliablePdu::setVariableDatumRecords(const std::vector& pX) +{ + _variableDatumRecords = pX; +} + +void SetDataReliablePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementWithReliabilityFamilyPdu::marshal(dataStream); // Marshal information in superclass first + dataStream << _requiredReliabilityService; + dataStream << _pad1; + dataStream << _pad2; + dataStream << _requestID; + dataStream << ( unsigned int )_fixedDatumRecords.size(); + dataStream << ( unsigned int )_variableDatumRecords.size(); + + for(size_t idx = 0; idx < _fixedDatumRecords.size(); idx++) + { + FixedDatum x = _fixedDatumRecords[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _variableDatumRecords.size(); idx++) + { + VariableDatum x = _variableDatumRecords[idx]; + x.marshal(dataStream); + } + +} + +void SetDataReliablePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementWithReliabilityFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + dataStream >> _requiredReliabilityService; + dataStream >> _pad1; + dataStream >> _pad2; + dataStream >> _requestID; + dataStream >> _numberOfFixedDatumRecords; + dataStream >> _numberOfVariableDatumRecords; + + _fixedDatumRecords.clear(); + for(size_t idx = 0; idx < _numberOfFixedDatumRecords; idx++) + { + FixedDatum x; + x.unmarshal(dataStream); + _fixedDatumRecords.push_back(x); + } + + _variableDatumRecords.clear(); + for(size_t idx = 0; idx < _numberOfVariableDatumRecords; idx++) + { + VariableDatum x; + x.unmarshal(dataStream); + _variableDatumRecords.push_back(x); + } +} + + +bool SetDataReliablePdu::operator ==(const SetDataReliablePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementWithReliabilityFamilyPdu::operator==(rhs); + + if( ! (_requiredReliabilityService == rhs._requiredReliabilityService) ) ivarsEqual = false; + if( ! (_pad1 == rhs._pad1) ) ivarsEqual = false; + if( ! (_pad2 == rhs._pad2) ) ivarsEqual = false; + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _fixedDatumRecords.size(); idx++) + { + if( ! ( _fixedDatumRecords[idx] == rhs._fixedDatumRecords[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _variableDatumRecords.size(); idx++) + { + if( ! ( _variableDatumRecords[idx] == rhs._variableDatumRecords[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int SetDataReliablePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementWithReliabilityFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + 1; // _requiredReliabilityService + marshalSize = marshalSize + 2; // _pad1 + marshalSize = marshalSize + 1; // _pad2 + marshalSize = marshalSize + 4; // _requestID + marshalSize = marshalSize + 4; // _numberOfFixedDatumRecords + marshalSize = marshalSize + 4; // _numberOfVariableDatumRecords + + for(int idx=0; idx < _fixedDatumRecords.size(); idx++) + { + FixedDatum listElement = _fixedDatumRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _variableDatumRecords.size(); idx++) + { + VariableDatum listElement = _variableDatumRecords[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/SetDataReliablePdu.h b/cpp/DIS7/SetDataReliablePdu.h new file mode 100644 index 00000000..24e53160 --- /dev/null +++ b/cpp/DIS7/SetDataReliablePdu.h @@ -0,0 +1,116 @@ +#ifndef SETDATARELIABLEPDU_H +#define SETDATARELIABLEPDU_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.12.9: initializing or chaning internal state information, reliable. Needs manual intervention to fix padding on variable datums. UNFINISHED + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO SetDataReliablePdu : public SimulationManagementWithReliabilityFamilyPdu +{ +protected: + /** level of reliability service used for this transaction */ + unsigned char _requiredReliabilityService; + + /** padding */ + unsigned short _pad1; + + /** padding */ + unsigned char _pad2; + + /** Request ID */ + unsigned int _requestID; + + /** Fixed datum record count */ + unsigned int _numberOfFixedDatumRecords; + + /** variable datum record count */ + unsigned int _numberOfVariableDatumRecords; + + /** Fixed datum records */ + std::vector _fixedDatumRecords; + + /** Variable datum records */ + std::vector _variableDatumRecords; + + + public: + SetDataReliablePdu(); + virtual ~SetDataReliablePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getRequiredReliabilityService() const; + void setRequiredReliabilityService(unsigned char pX); + + unsigned short getPad1() const; + void setPad1(unsigned short pX); + + unsigned char getPad2() const; + void setPad2(unsigned char pX); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + unsigned int getNumberOfFixedDatumRecords() const; + + unsigned int getNumberOfVariableDatumRecords() const; + + std::vector& getFixedDatumRecords(); + const std::vector& getFixedDatumRecords() const; + void setFixedDatumRecords(const std::vector& pX); + + std::vector& getVariableDatumRecords(); + const std::vector& getVariableDatumRecords() const; + void setVariableDatumRecords(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const SetDataReliablePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/SimulationAddress.cpp b/cpp/DIS7/SimulationAddress.cpp new file mode 100644 index 00000000..e68c219f --- /dev/null +++ b/cpp/DIS7/SimulationAddress.cpp @@ -0,0 +1,97 @@ +#include + +using namespace DIS; + + +SimulationAddress::SimulationAddress(): + _site(0), + _application(0) +{ +} + +SimulationAddress::~SimulationAddress() +{ +} + +unsigned short SimulationAddress::getSite() const +{ + return _site; +} + +void SimulationAddress::setSite(unsigned short pX) +{ + _site = pX; +} + +unsigned short SimulationAddress::getApplication() const +{ + return _application; +} + +void SimulationAddress::setApplication(unsigned short pX) +{ + _application = pX; +} + +void SimulationAddress::marshal(DataStream& dataStream) const +{ + dataStream << _site; + dataStream << _application; +} + +void SimulationAddress::unmarshal(DataStream& dataStream) +{ + dataStream >> _site; + dataStream >> _application; +} + + +bool SimulationAddress::operator ==(const SimulationAddress& rhs) const + { + bool ivarsEqual = true; + + if( ! (_site == rhs._site) ) ivarsEqual = false; + if( ! (_application == rhs._application) ) ivarsEqual = false; + + return ivarsEqual; + } + +int SimulationAddress::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2; // _site + marshalSize = marshalSize + 2; // _application + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/SimulationAddress.h b/cpp/DIS7/SimulationAddress.h new file mode 100644 index 00000000..0116cc94 --- /dev/null +++ b/cpp/DIS7/SimulationAddress.h @@ -0,0 +1,76 @@ +#ifndef SIMULATIONADDRESS_H +#define SIMULATIONADDRESS_H + +#include +#include + + +namespace DIS +{ +// A Simulation Address record shall consist of the Site Identification number and the Application Identification number. Section 6.2.79 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO SimulationAddress +{ +protected: + /** A site is defined as a facility, installation, organizational unit or a geographic location that has one or more simulation applications capable of participating in a distributed event. */ + unsigned short _site; + + /** An application is defined as a software program that is used to generate and process distributed simulation data including live, virtual and constructive data. */ + unsigned short _application; + + + public: + SimulationAddress(); + virtual ~SimulationAddress(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getSite() const; + void setSite(unsigned short pX); + + unsigned short getApplication() const; + void setApplication(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const SimulationAddress& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/SimulationIdentifier.cpp b/cpp/DIS7/SimulationIdentifier.cpp new file mode 100644 index 00000000..2696bcf5 --- /dev/null +++ b/cpp/DIS7/SimulationIdentifier.cpp @@ -0,0 +1,102 @@ +#include + +using namespace DIS; + + +SimulationIdentifier::SimulationIdentifier(): + _simulationAddress(), + _referenceNumber(0) +{ +} + +SimulationIdentifier::~SimulationIdentifier() +{ +} + +SimulationAddress& SimulationIdentifier::getSimulationAddress() +{ + return _simulationAddress; +} + +const SimulationAddress& SimulationIdentifier::getSimulationAddress() const +{ + return _simulationAddress; +} + +void SimulationIdentifier::setSimulationAddress(const SimulationAddress &pX) +{ + _simulationAddress = pX; +} + +unsigned short SimulationIdentifier::getReferenceNumber() const +{ + return _referenceNumber; +} + +void SimulationIdentifier::setReferenceNumber(unsigned short pX) +{ + _referenceNumber = pX; +} + +void SimulationIdentifier::marshal(DataStream& dataStream) const +{ + _simulationAddress.marshal(dataStream); + dataStream << _referenceNumber; +} + +void SimulationIdentifier::unmarshal(DataStream& dataStream) +{ + _simulationAddress.unmarshal(dataStream); + dataStream >> _referenceNumber; +} + + +bool SimulationIdentifier::operator ==(const SimulationIdentifier& rhs) const + { + bool ivarsEqual = true; + + if( ! (_simulationAddress == rhs._simulationAddress) ) ivarsEqual = false; + if( ! (_referenceNumber == rhs._referenceNumber) ) ivarsEqual = false; + + return ivarsEqual; + } + +int SimulationIdentifier::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _simulationAddress.getMarshalledSize(); // _simulationAddress + marshalSize = marshalSize + 2; // _referenceNumber + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/SimulationIdentifier.h b/cpp/DIS7/SimulationIdentifier.h new file mode 100644 index 00000000..5906c0a5 --- /dev/null +++ b/cpp/DIS7/SimulationIdentifier.h @@ -0,0 +1,78 @@ +#ifndef SIMULATIONIDENTIFIER_H +#define SIMULATIONIDENTIFIER_H + +#include +#include +#include + + +namespace DIS +{ +// The unique designation of a simulation when using the 48-bit identifier format shall be specified by the Sim- ulation Identifier record. The reason that the 48-bit format is required in addition to the 32-bit simulation address format that actually identifies a specific simulation is because some 48-bit identifier fields in PDUs may contain either an Object Identifier, such as an Entity ID, or a Simulation Identifier. Section 6.2.80 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO SimulationIdentifier +{ +protected: + /** Simulation address */ + SimulationAddress _simulationAddress; + + /** This field shall be set to zero as there is no reference number associated with a Simulation Identifier. */ + unsigned short _referenceNumber; + + + public: + SimulationIdentifier(); + virtual ~SimulationIdentifier(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + SimulationAddress& getSimulationAddress(); + const SimulationAddress& getSimulationAddress() const; + void setSimulationAddress(const SimulationAddress &pX); + + unsigned short getReferenceNumber() const; + void setReferenceNumber(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const SimulationIdentifier& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/SimulationManagementFamilyPdu.cpp b/cpp/DIS7/SimulationManagementFamilyPdu.cpp new file mode 100644 index 00000000..fbb58784 --- /dev/null +++ b/cpp/DIS7/SimulationManagementFamilyPdu.cpp @@ -0,0 +1,113 @@ +#include + +using namespace DIS; + + +SimulationManagementFamilyPdu::SimulationManagementFamilyPdu() : Pdu(), + _originatingEntityID(), + _receivingEntityID() +{ + setProtocolFamily( 5 ); +} + +SimulationManagementFamilyPdu::~SimulationManagementFamilyPdu() +{ +} + +EntityID& SimulationManagementFamilyPdu::getOriginatingEntityID() +{ + return _originatingEntityID; +} + +const EntityID& SimulationManagementFamilyPdu::getOriginatingEntityID() const +{ + return _originatingEntityID; +} + +void SimulationManagementFamilyPdu::setOriginatingEntityID(const EntityID &pX) +{ + _originatingEntityID = pX; +} + +EntityID& SimulationManagementFamilyPdu::getReceivingEntityID() +{ + return _receivingEntityID; +} + +const EntityID& SimulationManagementFamilyPdu::getReceivingEntityID() const +{ + return _receivingEntityID; +} + +void SimulationManagementFamilyPdu::setReceivingEntityID(const EntityID &pX) +{ + _receivingEntityID = pX; +} + +void SimulationManagementFamilyPdu::marshal(DataStream& dataStream) const +{ + Pdu::marshal(dataStream); // Marshal information in superclass first + _originatingEntityID.marshal(dataStream); + _receivingEntityID.marshal(dataStream); +} + +void SimulationManagementFamilyPdu::unmarshal(DataStream& dataStream) +{ + Pdu::unmarshal(dataStream); // unmarshal information in superclass first + _originatingEntityID.unmarshal(dataStream); + _receivingEntityID.unmarshal(dataStream); +} + + +bool SimulationManagementFamilyPdu::operator ==(const SimulationManagementFamilyPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = Pdu::operator==(rhs); + + if( ! (_originatingEntityID == rhs._originatingEntityID) ) ivarsEqual = false; + if( ! (_receivingEntityID == rhs._receivingEntityID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int SimulationManagementFamilyPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = Pdu::getMarshalledSize(); + marshalSize = marshalSize + _originatingEntityID.getMarshalledSize(); // _originatingEntityID + marshalSize = marshalSize + _receivingEntityID.getMarshalledSize(); // _receivingEntityID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/SimulationManagementFamilyPdu.h b/cpp/DIS7/SimulationManagementFamilyPdu.h new file mode 100644 index 00000000..54e8b7ef --- /dev/null +++ b/cpp/DIS7/SimulationManagementFamilyPdu.h @@ -0,0 +1,81 @@ +#ifndef SIMULATIONMANAGEMENTFAMILYPDU_H +#define SIMULATIONMANAGEMENTFAMILYPDU_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 7.5 Abstract superclass for PDUs relating to the simulation itself. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO SimulationManagementFamilyPdu : public Pdu +{ +protected: + /** Entity that is sending message */ + EntityID _originatingEntityID; + + /** Entity that is intended to receive message */ + EntityID _receivingEntityID; + + + public: + SimulationManagementFamilyPdu(); + virtual ~SimulationManagementFamilyPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getOriginatingEntityID(); + const EntityID& getOriginatingEntityID() const; + void setOriginatingEntityID(const EntityID &pX); + + EntityID& getReceivingEntityID(); + const EntityID& getReceivingEntityID() const; + void setReceivingEntityID(const EntityID &pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const SimulationManagementFamilyPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/SimulationManagementPduHeader.cpp b/cpp/DIS7/SimulationManagementPduHeader.cpp new file mode 100644 index 00000000..20c71260 --- /dev/null +++ b/cpp/DIS7/SimulationManagementPduHeader.cpp @@ -0,0 +1,127 @@ +#include + +using namespace DIS; + + +SimulationManagementPduHeader::SimulationManagementPduHeader(): + _pduHeader(), + _originatingID(), + _recevingID() +{ +} + +SimulationManagementPduHeader::~SimulationManagementPduHeader() +{ +} + +PduHeader& SimulationManagementPduHeader::getPduHeader() +{ + return _pduHeader; +} + +const PduHeader& SimulationManagementPduHeader::getPduHeader() const +{ + return _pduHeader; +} + +void SimulationManagementPduHeader::setPduHeader(const PduHeader &pX) +{ + _pduHeader = pX; +} + +EntityID& SimulationManagementPduHeader::getOriginatingID() +{ + return _originatingID; +} + +const EntityID& SimulationManagementPduHeader::getOriginatingID() const +{ + return _originatingID; +} + +void SimulationManagementPduHeader::setOriginatingID(const EntityID &pX) +{ + _originatingID = pX; +} + +EntityID& SimulationManagementPduHeader::getRecevingID() +{ + return _recevingID; +} + +const EntityID& SimulationManagementPduHeader::getRecevingID() const +{ + return _recevingID; +} + +void SimulationManagementPduHeader::setRecevingID(const EntityID &pX) +{ + _recevingID = pX; +} + +void SimulationManagementPduHeader::marshal(DataStream& dataStream) const +{ + _pduHeader.marshal(dataStream); + _originatingID.marshal(dataStream); + _recevingID.marshal(dataStream); +} + +void SimulationManagementPduHeader::unmarshal(DataStream& dataStream) +{ + _pduHeader.unmarshal(dataStream); + _originatingID.unmarshal(dataStream); + _recevingID.unmarshal(dataStream); +} + + +bool SimulationManagementPduHeader::operator ==(const SimulationManagementPduHeader& rhs) const + { + bool ivarsEqual = true; + + if( ! (_pduHeader == rhs._pduHeader) ) ivarsEqual = false; + if( ! (_originatingID == rhs._originatingID) ) ivarsEqual = false; + if( ! (_recevingID == rhs._recevingID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int SimulationManagementPduHeader::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _pduHeader.getMarshalledSize(); // _pduHeader + marshalSize = marshalSize + _originatingID.getMarshalledSize(); // _originatingID + marshalSize = marshalSize + _recevingID.getMarshalledSize(); // _recevingID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/SimulationManagementPduHeader.h b/cpp/DIS7/SimulationManagementPduHeader.h new file mode 100644 index 00000000..0a6d6794 --- /dev/null +++ b/cpp/DIS7/SimulationManagementPduHeader.h @@ -0,0 +1,88 @@ +#ifndef SIMULATIONMANAGEMENTPDUHEADER_H +#define SIMULATIONMANAGEMENTPDUHEADER_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// First part of a simulation management (SIMAN) PDU and SIMAN-Reliability (SIMAN-R) PDU. Sectionn 6.2.81 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO SimulationManagementPduHeader +{ +protected: + /** Conventional PDU header */ + PduHeader _pduHeader; + + /** IDs the simulation or entity, etiehr a simulation or an entity. Either 6.2.80 or 6.2.28 */ + EntityID _originatingID; + + /** simulation, all simulations, a special ID, or an entity. See 5.6.5 and 5.12.4 */ + EntityID _recevingID; + + + public: + SimulationManagementPduHeader(); + virtual ~SimulationManagementPduHeader(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + PduHeader& getPduHeader(); + const PduHeader& getPduHeader() const; + void setPduHeader(const PduHeader &pX); + + EntityID& getOriginatingID(); + const EntityID& getOriginatingID() const; + void setOriginatingID(const EntityID &pX); + + EntityID& getRecevingID(); + const EntityID& getRecevingID() const; + void setRecevingID(const EntityID &pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const SimulationManagementPduHeader& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/SimulationManagementWithReliabilityFamilyPdu.cpp b/cpp/DIS7/SimulationManagementWithReliabilityFamilyPdu.cpp new file mode 100644 index 00000000..c697f7e8 --- /dev/null +++ b/cpp/DIS7/SimulationManagementWithReliabilityFamilyPdu.cpp @@ -0,0 +1,113 @@ +#include + +using namespace DIS; + + +SimulationManagementWithReliabilityFamilyPdu::SimulationManagementWithReliabilityFamilyPdu() : Pdu(), + _originatingEntityID(), + _receivingEntityID() +{ + setProtocolFamily( 10 ); +} + +SimulationManagementWithReliabilityFamilyPdu::~SimulationManagementWithReliabilityFamilyPdu() +{ +} + +EntityID& SimulationManagementWithReliabilityFamilyPdu::getOriginatingEntityID() +{ + return _originatingEntityID; +} + +const EntityID& SimulationManagementWithReliabilityFamilyPdu::getOriginatingEntityID() const +{ + return _originatingEntityID; +} + +void SimulationManagementWithReliabilityFamilyPdu::setOriginatingEntityID(const EntityID &pX) +{ + _originatingEntityID = pX; +} + +EntityID& SimulationManagementWithReliabilityFamilyPdu::getReceivingEntityID() +{ + return _receivingEntityID; +} + +const EntityID& SimulationManagementWithReliabilityFamilyPdu::getReceivingEntityID() const +{ + return _receivingEntityID; +} + +void SimulationManagementWithReliabilityFamilyPdu::setReceivingEntityID(const EntityID &pX) +{ + _receivingEntityID = pX; +} + +void SimulationManagementWithReliabilityFamilyPdu::marshal(DataStream& dataStream) const +{ + Pdu::marshal(dataStream); // Marshal information in superclass first + _originatingEntityID.marshal(dataStream); + _receivingEntityID.marshal(dataStream); +} + +void SimulationManagementWithReliabilityFamilyPdu::unmarshal(DataStream& dataStream) +{ + Pdu::unmarshal(dataStream); // unmarshal information in superclass first + _originatingEntityID.unmarshal(dataStream); + _receivingEntityID.unmarshal(dataStream); +} + + +bool SimulationManagementWithReliabilityFamilyPdu::operator ==(const SimulationManagementWithReliabilityFamilyPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = Pdu::operator==(rhs); + + if( ! (_originatingEntityID == rhs._originatingEntityID) ) ivarsEqual = false; + if( ! (_receivingEntityID == rhs._receivingEntityID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int SimulationManagementWithReliabilityFamilyPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = Pdu::getMarshalledSize(); + marshalSize = marshalSize + _originatingEntityID.getMarshalledSize(); // _originatingEntityID + marshalSize = marshalSize + _receivingEntityID.getMarshalledSize(); // _receivingEntityID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/SimulationManagementWithReliabilityFamilyPdu.h b/cpp/DIS7/SimulationManagementWithReliabilityFamilyPdu.h new file mode 100644 index 00000000..13fdfdb4 --- /dev/null +++ b/cpp/DIS7/SimulationManagementWithReliabilityFamilyPdu.h @@ -0,0 +1,81 @@ +#ifndef SIMULATIONMANAGEMENTWITHRELIABILITYFAMILYPDU_H +#define SIMULATIONMANAGEMENTWITHRELIABILITYFAMILYPDU_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.12: Abstract superclass for reliable simulation management PDUs + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO SimulationManagementWithReliabilityFamilyPdu : public Pdu +{ +protected: + /** Object originatig the request */ + EntityID _originatingEntityID; + + /** Object with which this point object is associated */ + EntityID _receivingEntityID; + + + public: + SimulationManagementWithReliabilityFamilyPdu(); + virtual ~SimulationManagementWithReliabilityFamilyPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getOriginatingEntityID(); + const EntityID& getOriginatingEntityID() const; + void setOriginatingEntityID(const EntityID &pX); + + EntityID& getReceivingEntityID(); + const EntityID& getReceivingEntityID() const; + void setReceivingEntityID(const EntityID &pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const SimulationManagementWithReliabilityFamilyPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/StandardVariableSpecification.cpp b/cpp/DIS7/StandardVariableSpecification.cpp new file mode 100644 index 00000000..1acd98e5 --- /dev/null +++ b/cpp/DIS7/StandardVariableSpecification.cpp @@ -0,0 +1,120 @@ +#include + +using namespace DIS; + + +StandardVariableSpecification::StandardVariableSpecification(): + _numberOfStandardVariableRecords(0) +{ +} + +StandardVariableSpecification::~StandardVariableSpecification() +{ + _standardVariables.clear(); +} + +unsigned short StandardVariableSpecification::getNumberOfStandardVariableRecords() const +{ + return _standardVariables.size(); +} + +std::vector& StandardVariableSpecification::getStandardVariables() +{ + return _standardVariables; +} + +const std::vector& StandardVariableSpecification::getStandardVariables() const +{ + return _standardVariables; +} + +void StandardVariableSpecification::setStandardVariables(const std::vector& pX) +{ + _standardVariables = pX; +} + +void StandardVariableSpecification::marshal(DataStream& dataStream) const +{ + dataStream << ( unsigned short )_standardVariables.size(); + + for(size_t idx = 0; idx < _standardVariables.size(); idx++) + { + SimulationManagementPduHeader x = _standardVariables[idx]; + x.marshal(dataStream); + } + +} + +void StandardVariableSpecification::unmarshal(DataStream& dataStream) +{ + dataStream >> _numberOfStandardVariableRecords; + + _standardVariables.clear(); + for(size_t idx = 0; idx < _numberOfStandardVariableRecords; idx++) + { + SimulationManagementPduHeader x; + x.unmarshal(dataStream); + _standardVariables.push_back(x); + } +} + + +bool StandardVariableSpecification::operator ==(const StandardVariableSpecification& rhs) const + { + bool ivarsEqual = true; + + + for(size_t idx = 0; idx < _standardVariables.size(); idx++) + { + if( ! ( _standardVariables[idx] == rhs._standardVariables[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int StandardVariableSpecification::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2; // _numberOfStandardVariableRecords + + for(int idx=0; idx < _standardVariables.size(); idx++) + { + SimulationManagementPduHeader listElement = _standardVariables[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/StandardVariableSpecification.h b/cpp/DIS7/StandardVariableSpecification.h new file mode 100644 index 00000000..2e057b83 --- /dev/null +++ b/cpp/DIS7/StandardVariableSpecification.h @@ -0,0 +1,78 @@ +#ifndef STANDARDVARIABLESPECIFICATION_H +#define STANDARDVARIABLESPECIFICATION_H + +#include +#include +#include +#include + + +namespace DIS +{ +// Does not work, and causes failure in anything it is embedded in. Section 6.2.82 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO StandardVariableSpecification +{ +protected: + /** Number of static variable records */ + unsigned short _numberOfStandardVariableRecords; + + /** variable length list of standard variables, The class type and length here are WRONG and will cause the incorrect serialization of any class in whihc it is embedded. */ + std::vector _standardVariables; + + + public: + StandardVariableSpecification(); + virtual ~StandardVariableSpecification(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getNumberOfStandardVariableRecords() const; + + std::vector& getStandardVariables(); + const std::vector& getStandardVariables() const; + void setStandardVariables(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const StandardVariableSpecification& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/StartResumePdu.cpp b/cpp/DIS7/StartResumePdu.cpp new file mode 100644 index 00000000..9b392db0 --- /dev/null +++ b/cpp/DIS7/StartResumePdu.cpp @@ -0,0 +1,168 @@ +#include + +using namespace DIS; + + +StartResumePdu::StartResumePdu() : SimulationManagementFamilyPdu(), + _originatingID(), + _receivingID(), + _realWorldTime(), + _simulationTime(), + _requestID(0) +{ + setPduType( 13 ); +} + +StartResumePdu::~StartResumePdu() +{ +} + +EntityID& StartResumePdu::getOriginatingID() +{ + return _originatingID; +} + +const EntityID& StartResumePdu::getOriginatingID() const +{ + return _originatingID; +} + +void StartResumePdu::setOriginatingID(const EntityID &pX) +{ + _originatingID = pX; +} + +EntityID& StartResumePdu::getReceivingID() +{ + return _receivingID; +} + +const EntityID& StartResumePdu::getReceivingID() const +{ + return _receivingID; +} + +void StartResumePdu::setReceivingID(const EntityID &pX) +{ + _receivingID = pX; +} + +ClockTime& StartResumePdu::getRealWorldTime() +{ + return _realWorldTime; +} + +const ClockTime& StartResumePdu::getRealWorldTime() const +{ + return _realWorldTime; +} + +void StartResumePdu::setRealWorldTime(const ClockTime &pX) +{ + _realWorldTime = pX; +} + +ClockTime& StartResumePdu::getSimulationTime() +{ + return _simulationTime; +} + +const ClockTime& StartResumePdu::getSimulationTime() const +{ + return _simulationTime; +} + +void StartResumePdu::setSimulationTime(const ClockTime &pX) +{ + _simulationTime = pX; +} + +unsigned int StartResumePdu::getRequestID() const +{ + return _requestID; +} + +void StartResumePdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +void StartResumePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _originatingID.marshal(dataStream); + _receivingID.marshal(dataStream); + _realWorldTime.marshal(dataStream); + _simulationTime.marshal(dataStream); + dataStream << _requestID; +} + +void StartResumePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _originatingID.unmarshal(dataStream); + _receivingID.unmarshal(dataStream); + _realWorldTime.unmarshal(dataStream); + _simulationTime.unmarshal(dataStream); + dataStream >> _requestID; +} + + +bool StartResumePdu::operator ==(const StartResumePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementFamilyPdu::operator==(rhs); + + if( ! (_originatingID == rhs._originatingID) ) ivarsEqual = false; + if( ! (_receivingID == rhs._receivingID) ) ivarsEqual = false; + if( ! (_realWorldTime == rhs._realWorldTime) ) ivarsEqual = false; + if( ! (_simulationTime == rhs._simulationTime) ) ivarsEqual = false; + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int StartResumePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _originatingID.getMarshalledSize(); // _originatingID + marshalSize = marshalSize + _receivingID.getMarshalledSize(); // _receivingID + marshalSize = marshalSize + _realWorldTime.getMarshalledSize(); // _realWorldTime + marshalSize = marshalSize + _simulationTime.getMarshalledSize(); // _simulationTime + marshalSize = marshalSize + 4; // _requestID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/StartResumePdu.h b/cpp/DIS7/StartResumePdu.h new file mode 100644 index 00000000..480964c6 --- /dev/null +++ b/cpp/DIS7/StartResumePdu.h @@ -0,0 +1,103 @@ +#ifndef STARTRESUMEPDU_H +#define STARTRESUMEPDU_H + +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 7.5.4. Start or resume an exercise. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO StartResumePdu : public SimulationManagementFamilyPdu +{ +protected: + /** Identifier for originating entity(or simulation) */ + EntityID _originatingID; + + /** Identifier for the receiving entity(or simulation) */ + EntityID _receivingID; + + /** This field shall specify the real-world time (UTC) at which the entity is to start/resume in the exercise. This information shall be used by the participating simulation applications to start/resume an exercise synchronously. This field shall be represented by a Clock Time record (see 6.2.16). */ + ClockTime _realWorldTime; + + /** The reference time within a simulation exercise. This time is established ahead of time by simulation management and is common to all participants in a particular exercise. Simulation time may be either Absolute Time or Relative Time. This field shall be represented by a Clock Time record (see 6.2.16) */ + ClockTime _simulationTime; + + /** Identifier for the specific and unique start/resume request */ + unsigned int _requestID; + + + public: + StartResumePdu(); + virtual ~StartResumePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getOriginatingID(); + const EntityID& getOriginatingID() const; + void setOriginatingID(const EntityID &pX); + + EntityID& getReceivingID(); + const EntityID& getReceivingID() const; + void setReceivingID(const EntityID &pX); + + ClockTime& getRealWorldTime(); + const ClockTime& getRealWorldTime() const; + void setRealWorldTime(const ClockTime &pX); + + ClockTime& getSimulationTime(); + const ClockTime& getSimulationTime() const; + void setSimulationTime(const ClockTime &pX); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const StartResumePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/StartResumeReliablePdu.cpp b/cpp/DIS7/StartResumeReliablePdu.cpp new file mode 100644 index 00000000..9dc4f40b --- /dev/null +++ b/cpp/DIS7/StartResumeReliablePdu.cpp @@ -0,0 +1,173 @@ +#include + +using namespace DIS; + + +StartResumeReliablePdu::StartResumeReliablePdu() : SimulationManagementWithReliabilityFamilyPdu(), + _realWorldTime(), + _simulationTime(), + _requiredReliabilityService(0), + _pad1(0), + _pad2(0), + _requestID(0) +{ + setPduType( 53 ); +} + +StartResumeReliablePdu::~StartResumeReliablePdu() +{ +} + +ClockTime& StartResumeReliablePdu::getRealWorldTime() +{ + return _realWorldTime; +} + +const ClockTime& StartResumeReliablePdu::getRealWorldTime() const +{ + return _realWorldTime; +} + +void StartResumeReliablePdu::setRealWorldTime(const ClockTime &pX) +{ + _realWorldTime = pX; +} + +ClockTime& StartResumeReliablePdu::getSimulationTime() +{ + return _simulationTime; +} + +const ClockTime& StartResumeReliablePdu::getSimulationTime() const +{ + return _simulationTime; +} + +void StartResumeReliablePdu::setSimulationTime(const ClockTime &pX) +{ + _simulationTime = pX; +} + +unsigned char StartResumeReliablePdu::getRequiredReliabilityService() const +{ + return _requiredReliabilityService; +} + +void StartResumeReliablePdu::setRequiredReliabilityService(unsigned char pX) +{ + _requiredReliabilityService = pX; +} + +unsigned short StartResumeReliablePdu::getPad1() const +{ + return _pad1; +} + +void StartResumeReliablePdu::setPad1(unsigned short pX) +{ + _pad1 = pX; +} + +unsigned char StartResumeReliablePdu::getPad2() const +{ + return _pad2; +} + +void StartResumeReliablePdu::setPad2(unsigned char pX) +{ + _pad2 = pX; +} + +unsigned int StartResumeReliablePdu::getRequestID() const +{ + return _requestID; +} + +void StartResumeReliablePdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +void StartResumeReliablePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementWithReliabilityFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _realWorldTime.marshal(dataStream); + _simulationTime.marshal(dataStream); + dataStream << _requiredReliabilityService; + dataStream << _pad1; + dataStream << _pad2; + dataStream << _requestID; +} + +void StartResumeReliablePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementWithReliabilityFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _realWorldTime.unmarshal(dataStream); + _simulationTime.unmarshal(dataStream); + dataStream >> _requiredReliabilityService; + dataStream >> _pad1; + dataStream >> _pad2; + dataStream >> _requestID; +} + + +bool StartResumeReliablePdu::operator ==(const StartResumeReliablePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementWithReliabilityFamilyPdu::operator==(rhs); + + if( ! (_realWorldTime == rhs._realWorldTime) ) ivarsEqual = false; + if( ! (_simulationTime == rhs._simulationTime) ) ivarsEqual = false; + if( ! (_requiredReliabilityService == rhs._requiredReliabilityService) ) ivarsEqual = false; + if( ! (_pad1 == rhs._pad1) ) ivarsEqual = false; + if( ! (_pad2 == rhs._pad2) ) ivarsEqual = false; + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int StartResumeReliablePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementWithReliabilityFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _realWorldTime.getMarshalledSize(); // _realWorldTime + marshalSize = marshalSize + _simulationTime.getMarshalledSize(); // _simulationTime + marshalSize = marshalSize + 1; // _requiredReliabilityService + marshalSize = marshalSize + 2; // _pad1 + marshalSize = marshalSize + 1; // _pad2 + marshalSize = marshalSize + 4; // _requestID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/StartResumeReliablePdu.h b/cpp/DIS7/StartResumeReliablePdu.h new file mode 100644 index 00000000..3428949f --- /dev/null +++ b/cpp/DIS7/StartResumeReliablePdu.h @@ -0,0 +1,105 @@ +#ifndef STARTRESUMERELIABLEPDU_H +#define STARTRESUMERELIABLEPDU_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.12.3: Start resume simulation, relaible. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO StartResumeReliablePdu : public SimulationManagementWithReliabilityFamilyPdu +{ +protected: + /** time in real world for this operation to happen */ + ClockTime _realWorldTime; + + /** time in simulation for the simulation to resume */ + ClockTime _simulationTime; + + /** level of reliability service used for this transaction */ + unsigned char _requiredReliabilityService; + + /** padding */ + unsigned short _pad1; + + /** padding */ + unsigned char _pad2; + + /** Request ID */ + unsigned int _requestID; + + + public: + StartResumeReliablePdu(); + virtual ~StartResumeReliablePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + ClockTime& getRealWorldTime(); + const ClockTime& getRealWorldTime() const; + void setRealWorldTime(const ClockTime &pX); + + ClockTime& getSimulationTime(); + const ClockTime& getSimulationTime() const; + void setSimulationTime(const ClockTime &pX); + + unsigned char getRequiredReliabilityService() const; + void setRequiredReliabilityService(unsigned char pX); + + unsigned short getPad1() const; + void setPad1(unsigned short pX); + + unsigned char getPad2() const; + void setPad2(unsigned char pX); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const StartResumeReliablePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/StopFreezePdu.cpp b/cpp/DIS7/StopFreezePdu.cpp new file mode 100644 index 00000000..bc6136a2 --- /dev/null +++ b/cpp/DIS7/StopFreezePdu.cpp @@ -0,0 +1,193 @@ +#include + +using namespace DIS; + + +StopFreezePdu::StopFreezePdu() : SimulationManagementFamilyPdu(), + _originatingID(), + _receivingID(), + _realWorldTime(), + _reason(0), + _frozenBehavior(0), + _padding1(0), + _requestID(0) +{ + setPduType( 14 ); +} + +StopFreezePdu::~StopFreezePdu() +{ +} + +EntityID& StopFreezePdu::getOriginatingID() +{ + return _originatingID; +} + +const EntityID& StopFreezePdu::getOriginatingID() const +{ + return _originatingID; +} + +void StopFreezePdu::setOriginatingID(const EntityID &pX) +{ + _originatingID = pX; +} + +EntityID& StopFreezePdu::getReceivingID() +{ + return _receivingID; +} + +const EntityID& StopFreezePdu::getReceivingID() const +{ + return _receivingID; +} + +void StopFreezePdu::setReceivingID(const EntityID &pX) +{ + _receivingID = pX; +} + +ClockTime& StopFreezePdu::getRealWorldTime() +{ + return _realWorldTime; +} + +const ClockTime& StopFreezePdu::getRealWorldTime() const +{ + return _realWorldTime; +} + +void StopFreezePdu::setRealWorldTime(const ClockTime &pX) +{ + _realWorldTime = pX; +} + +unsigned char StopFreezePdu::getReason() const +{ + return _reason; +} + +void StopFreezePdu::setReason(unsigned char pX) +{ + _reason = pX; +} + +unsigned char StopFreezePdu::getFrozenBehavior() const +{ + return _frozenBehavior; +} + +void StopFreezePdu::setFrozenBehavior(unsigned char pX) +{ + _frozenBehavior = pX; +} + +short StopFreezePdu::getPadding1() const +{ + return _padding1; +} + +void StopFreezePdu::setPadding1(short pX) +{ + _padding1 = pX; +} + +unsigned int StopFreezePdu::getRequestID() const +{ + return _requestID; +} + +void StopFreezePdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +void StopFreezePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _originatingID.marshal(dataStream); + _receivingID.marshal(dataStream); + _realWorldTime.marshal(dataStream); + dataStream << _reason; + dataStream << _frozenBehavior; + dataStream << _padding1; + dataStream << _requestID; +} + +void StopFreezePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _originatingID.unmarshal(dataStream); + _receivingID.unmarshal(dataStream); + _realWorldTime.unmarshal(dataStream); + dataStream >> _reason; + dataStream >> _frozenBehavior; + dataStream >> _padding1; + dataStream >> _requestID; +} + + +bool StopFreezePdu::operator ==(const StopFreezePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementFamilyPdu::operator==(rhs); + + if( ! (_originatingID == rhs._originatingID) ) ivarsEqual = false; + if( ! (_receivingID == rhs._receivingID) ) ivarsEqual = false; + if( ! (_realWorldTime == rhs._realWorldTime) ) ivarsEqual = false; + if( ! (_reason == rhs._reason) ) ivarsEqual = false; + if( ! (_frozenBehavior == rhs._frozenBehavior) ) ivarsEqual = false; + if( ! (_padding1 == rhs._padding1) ) ivarsEqual = false; + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int StopFreezePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _originatingID.getMarshalledSize(); // _originatingID + marshalSize = marshalSize + _receivingID.getMarshalledSize(); // _receivingID + marshalSize = marshalSize + _realWorldTime.getMarshalledSize(); // _realWorldTime + marshalSize = marshalSize + 1; // _reason + marshalSize = marshalSize + 1; // _frozenBehavior + marshalSize = marshalSize + 2; // _padding1 + marshalSize = marshalSize + 4; // _requestID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/StopFreezePdu.h b/cpp/DIS7/StopFreezePdu.h new file mode 100644 index 00000000..fa876fdc --- /dev/null +++ b/cpp/DIS7/StopFreezePdu.h @@ -0,0 +1,113 @@ +#ifndef STOPFREEZEPDU_H +#define STOPFREEZEPDU_H + +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Section 7.5.5. Stop or freeze an enity (or exercise). COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO StopFreezePdu : public SimulationManagementFamilyPdu +{ +protected: + /** Identifier for originating entity(or simulation) */ + EntityID _originatingID; + + /** Identifier for the receiving entity(or simulation) */ + EntityID _receivingID; + + /** real-world(UTC) time at which the entity shall stop or freeze in the exercise */ + ClockTime _realWorldTime; + + /** Reason the simulation was stopped or frozen (see section 7 of SISO-REF-010) represented by an 8-bit enumeration */ + unsigned char _reason; + + /** Internal behavior of the entity(or simulation) and its appearance while frozen to the other participants */ + unsigned char _frozenBehavior; + + /** padding */ + short _padding1; + + /** Request ID that is unique */ + unsigned int _requestID; + + + public: + StopFreezePdu(); + virtual ~StopFreezePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getOriginatingID(); + const EntityID& getOriginatingID() const; + void setOriginatingID(const EntityID &pX); + + EntityID& getReceivingID(); + const EntityID& getReceivingID() const; + void setReceivingID(const EntityID &pX); + + ClockTime& getRealWorldTime(); + const ClockTime& getRealWorldTime() const; + void setRealWorldTime(const ClockTime &pX); + + unsigned char getReason() const; + void setReason(unsigned char pX); + + unsigned char getFrozenBehavior() const; + void setFrozenBehavior(unsigned char pX); + + short getPadding1() const; + void setPadding1(short pX); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const StopFreezePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/StopFreezeReliablePdu.cpp b/cpp/DIS7/StopFreezeReliablePdu.cpp new file mode 100644 index 00000000..d9131984 --- /dev/null +++ b/cpp/DIS7/StopFreezeReliablePdu.cpp @@ -0,0 +1,168 @@ +#include + +using namespace DIS; + + +StopFreezeReliablePdu::StopFreezeReliablePdu() : SimulationManagementWithReliabilityFamilyPdu(), + _realWorldTime(), + _reason(0), + _frozenBehavior(0), + _requiredReliablityService(0), + _pad1(0), + _requestID(0) +{ + setPduType( 54 ); +} + +StopFreezeReliablePdu::~StopFreezeReliablePdu() +{ +} + +ClockTime& StopFreezeReliablePdu::getRealWorldTime() +{ + return _realWorldTime; +} + +const ClockTime& StopFreezeReliablePdu::getRealWorldTime() const +{ + return _realWorldTime; +} + +void StopFreezeReliablePdu::setRealWorldTime(const ClockTime &pX) +{ + _realWorldTime = pX; +} + +unsigned char StopFreezeReliablePdu::getReason() const +{ + return _reason; +} + +void StopFreezeReliablePdu::setReason(unsigned char pX) +{ + _reason = pX; +} + +unsigned char StopFreezeReliablePdu::getFrozenBehavior() const +{ + return _frozenBehavior; +} + +void StopFreezeReliablePdu::setFrozenBehavior(unsigned char pX) +{ + _frozenBehavior = pX; +} + +unsigned char StopFreezeReliablePdu::getRequiredReliablityService() const +{ + return _requiredReliablityService; +} + +void StopFreezeReliablePdu::setRequiredReliablityService(unsigned char pX) +{ + _requiredReliablityService = pX; +} + +unsigned char StopFreezeReliablePdu::getPad1() const +{ + return _pad1; +} + +void StopFreezeReliablePdu::setPad1(unsigned char pX) +{ + _pad1 = pX; +} + +unsigned int StopFreezeReliablePdu::getRequestID() const +{ + return _requestID; +} + +void StopFreezeReliablePdu::setRequestID(unsigned int pX) +{ + _requestID = pX; +} + +void StopFreezeReliablePdu::marshal(DataStream& dataStream) const +{ + SimulationManagementWithReliabilityFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _realWorldTime.marshal(dataStream); + dataStream << _reason; + dataStream << _frozenBehavior; + dataStream << _requiredReliablityService; + dataStream << _pad1; + dataStream << _requestID; +} + +void StopFreezeReliablePdu::unmarshal(DataStream& dataStream) +{ + SimulationManagementWithReliabilityFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _realWorldTime.unmarshal(dataStream); + dataStream >> _reason; + dataStream >> _frozenBehavior; + dataStream >> _requiredReliablityService; + dataStream >> _pad1; + dataStream >> _requestID; +} + + +bool StopFreezeReliablePdu::operator ==(const StopFreezeReliablePdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = SimulationManagementWithReliabilityFamilyPdu::operator==(rhs); + + if( ! (_realWorldTime == rhs._realWorldTime) ) ivarsEqual = false; + if( ! (_reason == rhs._reason) ) ivarsEqual = false; + if( ! (_frozenBehavior == rhs._frozenBehavior) ) ivarsEqual = false; + if( ! (_requiredReliablityService == rhs._requiredReliablityService) ) ivarsEqual = false; + if( ! (_pad1 == rhs._pad1) ) ivarsEqual = false; + if( ! (_requestID == rhs._requestID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int StopFreezeReliablePdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = SimulationManagementWithReliabilityFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _realWorldTime.getMarshalledSize(); // _realWorldTime + marshalSize = marshalSize + 1; // _reason + marshalSize = marshalSize + 1; // _frozenBehavior + marshalSize = marshalSize + 1; // _requiredReliablityService + marshalSize = marshalSize + 1; // _pad1 + marshalSize = marshalSize + 4; // _requestID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/StopFreezeReliablePdu.h b/cpp/DIS7/StopFreezeReliablePdu.h new file mode 100644 index 00000000..04ce5e72 --- /dev/null +++ b/cpp/DIS7/StopFreezeReliablePdu.h @@ -0,0 +1,103 @@ +#ifndef STOPFREEZERELIABLEPDU_H +#define STOPFREEZERELIABLEPDU_H + +#include +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.12.4: Stop freeze simulation, relaible. COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO StopFreezeReliablePdu : public SimulationManagementWithReliabilityFamilyPdu +{ +protected: + /** time in real world for this operation to happen */ + ClockTime _realWorldTime; + + /** Reason for stopping/freezing simulation */ + unsigned char _reason; + + /** internal behvior of the simulation while frozen */ + unsigned char _frozenBehavior; + + /** reliablity level */ + unsigned char _requiredReliablityService; + + /** padding */ + unsigned char _pad1; + + /** Request ID */ + unsigned int _requestID; + + + public: + StopFreezeReliablePdu(); + virtual ~StopFreezeReliablePdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + ClockTime& getRealWorldTime(); + const ClockTime& getRealWorldTime() const; + void setRealWorldTime(const ClockTime &pX); + + unsigned char getReason() const; + void setReason(unsigned char pX); + + unsigned char getFrozenBehavior() const; + void setFrozenBehavior(unsigned char pX); + + unsigned char getRequiredReliablityService() const; + void setRequiredReliablityService(unsigned char pX); + + unsigned char getPad1() const; + void setPad1(unsigned char pX); + + unsigned int getRequestID() const; + void setRequestID(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const StopFreezeReliablePdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/StorageFuel.cpp b/cpp/DIS7/StorageFuel.cpp new file mode 100644 index 00000000..aedd1093 --- /dev/null +++ b/cpp/DIS7/StorageFuel.cpp @@ -0,0 +1,142 @@ +#include + +using namespace DIS; + + +StorageFuel::StorageFuel(): + _fuelQuantity(0), + _fuelMeasurementUnits(0), + _fuelType(0), + _fuelLocation(0), + _padding(0) +{ +} + +StorageFuel::~StorageFuel() +{ +} + +unsigned int StorageFuel::getFuelQuantity() const +{ + return _fuelQuantity; +} + +void StorageFuel::setFuelQuantity(unsigned int pX) +{ + _fuelQuantity = pX; +} + +unsigned char StorageFuel::getFuelMeasurementUnits() const +{ + return _fuelMeasurementUnits; +} + +void StorageFuel::setFuelMeasurementUnits(unsigned char pX) +{ + _fuelMeasurementUnits = pX; +} + +unsigned char StorageFuel::getFuelType() const +{ + return _fuelType; +} + +void StorageFuel::setFuelType(unsigned char pX) +{ + _fuelType = pX; +} + +unsigned char StorageFuel::getFuelLocation() const +{ + return _fuelLocation; +} + +void StorageFuel::setFuelLocation(unsigned char pX) +{ + _fuelLocation = pX; +} + +unsigned char StorageFuel::getPadding() const +{ + return _padding; +} + +void StorageFuel::setPadding(unsigned char pX) +{ + _padding = pX; +} + +void StorageFuel::marshal(DataStream& dataStream) const +{ + dataStream << _fuelQuantity; + dataStream << _fuelMeasurementUnits; + dataStream << _fuelType; + dataStream << _fuelLocation; + dataStream << _padding; +} + +void StorageFuel::unmarshal(DataStream& dataStream) +{ + dataStream >> _fuelQuantity; + dataStream >> _fuelMeasurementUnits; + dataStream >> _fuelType; + dataStream >> _fuelLocation; + dataStream >> _padding; +} + + +bool StorageFuel::operator ==(const StorageFuel& rhs) const + { + bool ivarsEqual = true; + + if( ! (_fuelQuantity == rhs._fuelQuantity) ) ivarsEqual = false; + if( ! (_fuelMeasurementUnits == rhs._fuelMeasurementUnits) ) ivarsEqual = false; + if( ! (_fuelType == rhs._fuelType) ) ivarsEqual = false; + if( ! (_fuelLocation == rhs._fuelLocation) ) ivarsEqual = false; + if( ! (_padding == rhs._padding) ) ivarsEqual = false; + + return ivarsEqual; + } + +int StorageFuel::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _fuelQuantity + marshalSize = marshalSize + 1; // _fuelMeasurementUnits + marshalSize = marshalSize + 1; // _fuelType + marshalSize = marshalSize + 1; // _fuelLocation + marshalSize = marshalSize + 1; // _padding + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/StorageFuel.h b/cpp/DIS7/StorageFuel.h new file mode 100644 index 00000000..1231685d --- /dev/null +++ b/cpp/DIS7/StorageFuel.h @@ -0,0 +1,94 @@ +#ifndef STORAGEFUEL_H +#define STORAGEFUEL_H + +#include +#include + + +namespace DIS +{ +// Information about an entity's engine fuel. Section 6.2.83. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO StorageFuel +{ +protected: + /** Fuel quantity, units specified by next field */ + unsigned int _fuelQuantity; + + /** Units in which the fuel is measured */ + unsigned char _fuelMeasurementUnits; + + /** Type of fuel */ + unsigned char _fuelType; + + /** Location of fuel as related to entity. See section 14 of EBV document */ + unsigned char _fuelLocation; + + /** padding */ + unsigned char _padding; + + + public: + StorageFuel(); + virtual ~StorageFuel(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getFuelQuantity() const; + void setFuelQuantity(unsigned int pX); + + unsigned char getFuelMeasurementUnits() const; + void setFuelMeasurementUnits(unsigned char pX); + + unsigned char getFuelType() const; + void setFuelType(unsigned char pX); + + unsigned char getFuelLocation() const; + void setFuelLocation(unsigned char pX); + + unsigned char getPadding() const; + void setPadding(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const StorageFuel& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/StorageFuelReload.cpp b/cpp/DIS7/StorageFuelReload.cpp new file mode 100644 index 00000000..e04163ff --- /dev/null +++ b/cpp/DIS7/StorageFuelReload.cpp @@ -0,0 +1,187 @@ +#include + +using namespace DIS; + + +StorageFuelReload::StorageFuelReload(): + _standardQuantity(0), + _maximumQuantity(0), + _standardQuantityReloadTime(0), + _maximumQuantityReloadTime(0), + _fuelMeasurementUnits(0), + _fuelType(0), + _fuelLocation(0), + _padding(0) +{ +} + +StorageFuelReload::~StorageFuelReload() +{ +} + +unsigned int StorageFuelReload::getStandardQuantity() const +{ + return _standardQuantity; +} + +void StorageFuelReload::setStandardQuantity(unsigned int pX) +{ + _standardQuantity = pX; +} + +unsigned int StorageFuelReload::getMaximumQuantity() const +{ + return _maximumQuantity; +} + +void StorageFuelReload::setMaximumQuantity(unsigned int pX) +{ + _maximumQuantity = pX; +} + +unsigned char StorageFuelReload::getStandardQuantityReloadTime() const +{ + return _standardQuantityReloadTime; +} + +void StorageFuelReload::setStandardQuantityReloadTime(unsigned char pX) +{ + _standardQuantityReloadTime = pX; +} + +unsigned char StorageFuelReload::getMaximumQuantityReloadTime() const +{ + return _maximumQuantityReloadTime; +} + +void StorageFuelReload::setMaximumQuantityReloadTime(unsigned char pX) +{ + _maximumQuantityReloadTime = pX; +} + +unsigned char StorageFuelReload::getFuelMeasurementUnits() const +{ + return _fuelMeasurementUnits; +} + +void StorageFuelReload::setFuelMeasurementUnits(unsigned char pX) +{ + _fuelMeasurementUnits = pX; +} + +unsigned char StorageFuelReload::getFuelType() const +{ + return _fuelType; +} + +void StorageFuelReload::setFuelType(unsigned char pX) +{ + _fuelType = pX; +} + +unsigned char StorageFuelReload::getFuelLocation() const +{ + return _fuelLocation; +} + +void StorageFuelReload::setFuelLocation(unsigned char pX) +{ + _fuelLocation = pX; +} + +unsigned char StorageFuelReload::getPadding() const +{ + return _padding; +} + +void StorageFuelReload::setPadding(unsigned char pX) +{ + _padding = pX; +} + +void StorageFuelReload::marshal(DataStream& dataStream) const +{ + dataStream << _standardQuantity; + dataStream << _maximumQuantity; + dataStream << _standardQuantityReloadTime; + dataStream << _maximumQuantityReloadTime; + dataStream << _fuelMeasurementUnits; + dataStream << _fuelType; + dataStream << _fuelLocation; + dataStream << _padding; +} + +void StorageFuelReload::unmarshal(DataStream& dataStream) +{ + dataStream >> _standardQuantity; + dataStream >> _maximumQuantity; + dataStream >> _standardQuantityReloadTime; + dataStream >> _maximumQuantityReloadTime; + dataStream >> _fuelMeasurementUnits; + dataStream >> _fuelType; + dataStream >> _fuelLocation; + dataStream >> _padding; +} + + +bool StorageFuelReload::operator ==(const StorageFuelReload& rhs) const + { + bool ivarsEqual = true; + + if( ! (_standardQuantity == rhs._standardQuantity) ) ivarsEqual = false; + if( ! (_maximumQuantity == rhs._maximumQuantity) ) ivarsEqual = false; + if( ! (_standardQuantityReloadTime == rhs._standardQuantityReloadTime) ) ivarsEqual = false; + if( ! (_maximumQuantityReloadTime == rhs._maximumQuantityReloadTime) ) ivarsEqual = false; + if( ! (_fuelMeasurementUnits == rhs._fuelMeasurementUnits) ) ivarsEqual = false; + if( ! (_fuelType == rhs._fuelType) ) ivarsEqual = false; + if( ! (_fuelLocation == rhs._fuelLocation) ) ivarsEqual = false; + if( ! (_padding == rhs._padding) ) ivarsEqual = false; + + return ivarsEqual; + } + +int StorageFuelReload::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _standardQuantity + marshalSize = marshalSize + 4; // _maximumQuantity + marshalSize = marshalSize + 1; // _standardQuantityReloadTime + marshalSize = marshalSize + 1; // _maximumQuantityReloadTime + marshalSize = marshalSize + 1; // _fuelMeasurementUnits + marshalSize = marshalSize + 1; // _fuelType + marshalSize = marshalSize + 1; // _fuelLocation + marshalSize = marshalSize + 1; // _padding + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/StorageFuelReload.h b/cpp/DIS7/StorageFuelReload.h new file mode 100644 index 00000000..72bc816c --- /dev/null +++ b/cpp/DIS7/StorageFuelReload.h @@ -0,0 +1,112 @@ +#ifndef STORAGEFUELRELOAD_H +#define STORAGEFUELRELOAD_H + +#include +#include + + +namespace DIS +{ +// For each type or location of Storage Fuel, this record shall specify the type, location, fuel measure- ment units, reload quantity and maximum quantity for storage fuel either for the whole entity or a specific storage fuel location (tank). Section 6.2.84. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO StorageFuelReload +{ +protected: + /** the standard quantity of this fuel type normally loaded at this station/launcher if a station/launcher is specified. If the Station/Launcher field is set to zero, then this is the total quantity of this fuel type that would be present in a standard reload of all appli- cable stations/launchers associated with this entity. */ + unsigned int _standardQuantity; + + /** the maximum quantity of this fuel type that this sta- tion/launcher is capable of holding when a station/launcher is specified. This would be the value used when a maximum reload was desired to be set for this station/launcher. If the Station/launcher field is set to zero, then this is the maximum quantity of this fuel type that would be present on this entity at all stations/launchers that can accept this fuel type. */ + unsigned int _maximumQuantity; + + /** the seconds normally required to reload the standard quantity of this fuel type at this specific station/launcher. When the Station/Launcher field is set to zero, this shall be the time it takes to perform a standard quantity reload of this fuel type at all applicable stations/launchers for this entity. */ + unsigned char _standardQuantityReloadTime; + + /** the seconds normally required to reload the maximum possible quantity of this fuel type at this station/launcher. When the Station/Launcher field is set to zero, this shall be the time it takes to perform a maximum quantity load/reload of this fuel type at all applicable stations/launchers for this entity. */ + unsigned char _maximumQuantityReloadTime; + + /** the fuel measurement units. Enumeration */ + unsigned char _fuelMeasurementUnits; + + /** Fuel type. Enumeration */ + unsigned char _fuelType; + + /** Location of fuel as related to entity. See section 14 of EBV document */ + unsigned char _fuelLocation; + + /** padding */ + unsigned char _padding; + + + public: + StorageFuelReload(); + virtual ~StorageFuelReload(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getStandardQuantity() const; + void setStandardQuantity(unsigned int pX); + + unsigned int getMaximumQuantity() const; + void setMaximumQuantity(unsigned int pX); + + unsigned char getStandardQuantityReloadTime() const; + void setStandardQuantityReloadTime(unsigned char pX); + + unsigned char getMaximumQuantityReloadTime() const; + void setMaximumQuantityReloadTime(unsigned char pX); + + unsigned char getFuelMeasurementUnits() const; + void setFuelMeasurementUnits(unsigned char pX); + + unsigned char getFuelType() const; + void setFuelType(unsigned char pX); + + unsigned char getFuelLocation() const; + void setFuelLocation(unsigned char pX); + + unsigned char getPadding() const; + void setPadding(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const StorageFuelReload& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/SupplyQuantity.cpp b/cpp/DIS7/SupplyQuantity.cpp new file mode 100644 index 00000000..d5ecb689 --- /dev/null +++ b/cpp/DIS7/SupplyQuantity.cpp @@ -0,0 +1,102 @@ +#include + +using namespace DIS; + + +SupplyQuantity::SupplyQuantity(): + _supplyType(), + _quantity(0.0) +{ +} + +SupplyQuantity::~SupplyQuantity() +{ +} + +EntityType& SupplyQuantity::getSupplyType() +{ + return _supplyType; +} + +const EntityType& SupplyQuantity::getSupplyType() const +{ + return _supplyType; +} + +void SupplyQuantity::setSupplyType(const EntityType &pX) +{ + _supplyType = pX; +} + +float SupplyQuantity::getQuantity() const +{ + return _quantity; +} + +void SupplyQuantity::setQuantity(float pX) +{ + _quantity = pX; +} + +void SupplyQuantity::marshal(DataStream& dataStream) const +{ + _supplyType.marshal(dataStream); + dataStream << _quantity; +} + +void SupplyQuantity::unmarshal(DataStream& dataStream) +{ + _supplyType.unmarshal(dataStream); + dataStream >> _quantity; +} + + +bool SupplyQuantity::operator ==(const SupplyQuantity& rhs) const + { + bool ivarsEqual = true; + + if( ! (_supplyType == rhs._supplyType) ) ivarsEqual = false; + if( ! (_quantity == rhs._quantity) ) ivarsEqual = false; + + return ivarsEqual; + } + +int SupplyQuantity::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _supplyType.getMarshalledSize(); // _supplyType + marshalSize = marshalSize + 4; // _quantity + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/SupplyQuantity.h b/cpp/DIS7/SupplyQuantity.h new file mode 100644 index 00000000..112dd343 --- /dev/null +++ b/cpp/DIS7/SupplyQuantity.h @@ -0,0 +1,78 @@ +#ifndef SUPPLYQUANTITY_H +#define SUPPLYQUANTITY_H + +#include +#include +#include + + +namespace DIS +{ +// A supply, and the amount of that supply. Section 6.2.85 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO SupplyQuantity +{ +protected: + /** Type of supply */ + EntityType _supplyType; + + /** the number of units of a supply type. */ + float _quantity; + + + public: + SupplyQuantity(); + virtual ~SupplyQuantity(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityType& getSupplyType(); + const EntityType& getSupplyType() const; + void setSupplyType(const EntityType &pX); + + float getQuantity() const; + void setQuantity(float pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const SupplyQuantity& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/SyntheticEnvironmentFamilyPdu.cpp b/cpp/DIS7/SyntheticEnvironmentFamilyPdu.cpp new file mode 100644 index 00000000..4756a9fa --- /dev/null +++ b/cpp/DIS7/SyntheticEnvironmentFamilyPdu.cpp @@ -0,0 +1,74 @@ +#include + +using namespace DIS; + + +SyntheticEnvironmentFamilyPdu::SyntheticEnvironmentFamilyPdu() : Pdu() + +{ + setProtocolFamily( 9 ); +} + +SyntheticEnvironmentFamilyPdu::~SyntheticEnvironmentFamilyPdu() +{ +} + +void SyntheticEnvironmentFamilyPdu::marshal(DataStream& dataStream) const +{ + Pdu::marshal(dataStream); // Marshal information in superclass first +} + +void SyntheticEnvironmentFamilyPdu::unmarshal(DataStream& dataStream) +{ + Pdu::unmarshal(dataStream); // unmarshal information in superclass first +} + + +bool SyntheticEnvironmentFamilyPdu::operator ==(const SyntheticEnvironmentFamilyPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = Pdu::operator==(rhs); + + + return ivarsEqual; + } + +int SyntheticEnvironmentFamilyPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = Pdu::getMarshalledSize(); + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/SyntheticEnvironmentFamilyPdu.h b/cpp/DIS7/SyntheticEnvironmentFamilyPdu.h new file mode 100644 index 00000000..b567f3b6 --- /dev/null +++ b/cpp/DIS7/SyntheticEnvironmentFamilyPdu.h @@ -0,0 +1,65 @@ +#ifndef SYNTHETICENVIRONMENTFAMILYPDU_H +#define SYNTHETICENVIRONMENTFAMILYPDU_H + +#include +#include +#include + + +namespace DIS +{ +// Section 5.3.11: Abstract superclass for synthetic environment PDUs + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO SyntheticEnvironmentFamilyPdu : public Pdu +{ +protected: + + public: + SyntheticEnvironmentFamilyPdu(); + virtual ~SyntheticEnvironmentFamilyPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + +virtual int getMarshalledSize() const; + + bool operator ==(const SyntheticEnvironmentFamilyPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/SystemIdentifier.cpp b/cpp/DIS7/SystemIdentifier.cpp new file mode 100644 index 00000000..0d888c50 --- /dev/null +++ b/cpp/DIS7/SystemIdentifier.cpp @@ -0,0 +1,132 @@ +#include + +using namespace DIS; + + +SystemIdentifier::SystemIdentifier(): + _systemType(0), + _systemName(0), + _systemMode(0), + _changeOptions() +{ +} + +SystemIdentifier::~SystemIdentifier() +{ +} + +unsigned short SystemIdentifier::getSystemType() const +{ + return _systemType; +} + +void SystemIdentifier::setSystemType(unsigned short pX) +{ + _systemType = pX; +} + +unsigned short SystemIdentifier::getSystemName() const +{ + return _systemName; +} + +void SystemIdentifier::setSystemName(unsigned short pX) +{ + _systemName = pX; +} + +unsigned short SystemIdentifier::getSystemMode() const +{ + return _systemMode; +} + +void SystemIdentifier::setSystemMode(unsigned short pX) +{ + _systemMode = pX; +} + +ChangeOptions& SystemIdentifier::getChangeOptions() +{ + return _changeOptions; +} + +const ChangeOptions& SystemIdentifier::getChangeOptions() const +{ + return _changeOptions; +} + +void SystemIdentifier::setChangeOptions(const ChangeOptions &pX) +{ + _changeOptions = pX; +} + +void SystemIdentifier::marshal(DataStream& dataStream) const +{ + dataStream << _systemType; + dataStream << _systemName; + dataStream << _systemMode; + _changeOptions.marshal(dataStream); +} + +void SystemIdentifier::unmarshal(DataStream& dataStream) +{ + dataStream >> _systemType; + dataStream >> _systemName; + dataStream >> _systemMode; + _changeOptions.unmarshal(dataStream); +} + + +bool SystemIdentifier::operator ==(const SystemIdentifier& rhs) const + { + bool ivarsEqual = true; + + if( ! (_systemType == rhs._systemType) ) ivarsEqual = false; + if( ! (_systemName == rhs._systemName) ) ivarsEqual = false; + if( ! (_systemMode == rhs._systemMode) ) ivarsEqual = false; + if( ! (_changeOptions == rhs._changeOptions) ) ivarsEqual = false; + + return ivarsEqual; + } + +int SystemIdentifier::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2; // _systemType + marshalSize = marshalSize + 2; // _systemName + marshalSize = marshalSize + 2; // _systemMode + marshalSize = marshalSize + _changeOptions.getMarshalledSize(); // _changeOptions + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/SystemIdentifier.h b/cpp/DIS7/SystemIdentifier.h new file mode 100644 index 00000000..029b130f --- /dev/null +++ b/cpp/DIS7/SystemIdentifier.h @@ -0,0 +1,90 @@ +#ifndef SYSTEMIDENTIFIER_H +#define SYSTEMIDENTIFIER_H + +#include +#include +#include + + +namespace DIS +{ +// The ID of the IFF emitting system. NOT COMPLETE. Section 6.2.86 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO SystemIdentifier +{ +protected: + /** general type of emitting system, an enumeration */ + unsigned short _systemType; + + /** named type of system, an enumeration */ + unsigned short _systemName; + + /** mode of operation for the system, an enumeration */ + unsigned short _systemMode; + + /** status of this PDU, see section 6.2.15 */ + ChangeOptions _changeOptions; + + + public: + SystemIdentifier(); + virtual ~SystemIdentifier(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getSystemType() const; + void setSystemType(unsigned short pX); + + unsigned short getSystemName() const; + void setSystemName(unsigned short pX); + + unsigned short getSystemMode() const; + void setSystemMode(unsigned short pX); + + ChangeOptions& getChangeOptions(); + const ChangeOptions& getChangeOptions() const; + void setChangeOptions(const ChangeOptions &pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const SystemIdentifier& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/TotalRecordSets.cpp b/cpp/DIS7/TotalRecordSets.cpp new file mode 100644 index 00000000..32d2b26d --- /dev/null +++ b/cpp/DIS7/TotalRecordSets.cpp @@ -0,0 +1,97 @@ +#include + +using namespace DIS; + + +TotalRecordSets::TotalRecordSets(): + _totalRecordSets(0), + _padding(0) +{ +} + +TotalRecordSets::~TotalRecordSets() +{ +} + +unsigned short TotalRecordSets::getTotalRecordSets() const +{ + return _totalRecordSets; +} + +void TotalRecordSets::setTotalRecordSets(unsigned short pX) +{ + _totalRecordSets = pX; +} + +unsigned short TotalRecordSets::getPadding() const +{ + return _padding; +} + +void TotalRecordSets::setPadding(unsigned short pX) +{ + _padding = pX; +} + +void TotalRecordSets::marshal(DataStream& dataStream) const +{ + dataStream << _totalRecordSets; + dataStream << _padding; +} + +void TotalRecordSets::unmarshal(DataStream& dataStream) +{ + dataStream >> _totalRecordSets; + dataStream >> _padding; +} + + +bool TotalRecordSets::operator ==(const TotalRecordSets& rhs) const + { + bool ivarsEqual = true; + + if( ! (_totalRecordSets == rhs._totalRecordSets) ) ivarsEqual = false; + if( ! (_padding == rhs._padding) ) ivarsEqual = false; + + return ivarsEqual; + } + +int TotalRecordSets::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2; // _totalRecordSets + marshalSize = marshalSize + 2; // _padding + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/TotalRecordSets.h b/cpp/DIS7/TotalRecordSets.h new file mode 100644 index 00000000..d4cf50ce --- /dev/null +++ b/cpp/DIS7/TotalRecordSets.h @@ -0,0 +1,76 @@ +#ifndef TOTALRECORDSETS_H +#define TOTALRECORDSETS_H + +#include +#include + + +namespace DIS +{ +// Total number of record sets contained in a logical set of one or more PDUs. Used to transfer ownership, etc Section 6.2.88 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO TotalRecordSets +{ +protected: + /** Total number of record sets */ + unsigned short _totalRecordSets; + + /** padding */ + unsigned short _padding; + + + public: + TotalRecordSets(); + virtual ~TotalRecordSets(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getTotalRecordSets() const; + void setTotalRecordSets(unsigned short pX); + + unsigned short getPadding() const; + void setPadding(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const TotalRecordSets& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/TrackJamData.cpp b/cpp/DIS7/TrackJamData.cpp new file mode 100644 index 00000000..2b228239 --- /dev/null +++ b/cpp/DIS7/TrackJamData.cpp @@ -0,0 +1,117 @@ +#include + +using namespace DIS; + + +TrackJamData::TrackJamData(): + _entityID(), + _emitterNumber(0), + _beamNumber(0) +{ +} + +TrackJamData::~TrackJamData() +{ +} + +EntityID& TrackJamData::getEntityID() +{ + return _entityID; +} + +const EntityID& TrackJamData::getEntityID() const +{ + return _entityID; +} + +void TrackJamData::setEntityID(const EntityID &pX) +{ + _entityID = pX; +} + +unsigned char TrackJamData::getEmitterNumber() const +{ + return _emitterNumber; +} + +void TrackJamData::setEmitterNumber(unsigned char pX) +{ + _emitterNumber = pX; +} + +unsigned char TrackJamData::getBeamNumber() const +{ + return _beamNumber; +} + +void TrackJamData::setBeamNumber(unsigned char pX) +{ + _beamNumber = pX; +} + +void TrackJamData::marshal(DataStream& dataStream) const +{ + _entityID.marshal(dataStream); + dataStream << _emitterNumber; + dataStream << _beamNumber; +} + +void TrackJamData::unmarshal(DataStream& dataStream) +{ + _entityID.unmarshal(dataStream); + dataStream >> _emitterNumber; + dataStream >> _beamNumber; +} + + +bool TrackJamData::operator ==(const TrackJamData& rhs) const + { + bool ivarsEqual = true; + + if( ! (_entityID == rhs._entityID) ) ivarsEqual = false; + if( ! (_emitterNumber == rhs._emitterNumber) ) ivarsEqual = false; + if( ! (_beamNumber == rhs._beamNumber) ) ivarsEqual = false; + + return ivarsEqual; + } + +int TrackJamData::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _entityID.getMarshalledSize(); // _entityID + marshalSize = marshalSize + 1; // _emitterNumber + marshalSize = marshalSize + 1; // _beamNumber + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/TrackJamData.h b/cpp/DIS7/TrackJamData.h new file mode 100644 index 00000000..a0082fed --- /dev/null +++ b/cpp/DIS7/TrackJamData.h @@ -0,0 +1,84 @@ +#ifndef TRACKJAMDATA_H +#define TRACKJAMDATA_H + +#include +#include +#include + + +namespace DIS +{ +// Track-Jam data Section 6.2.89 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO TrackJamData +{ +protected: + /** the entity tracked or illumated, or an emitter beam targeted with jamming */ + EntityID _entityID; + + /** Emitter system associated with the entity */ + unsigned char _emitterNumber; + + /** Beam associated with the entity */ + unsigned char _beamNumber; + + + public: + TrackJamData(); + virtual ~TrackJamData(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getEntityID(); + const EntityID& getEntityID() const; + void setEntityID(const EntityID &pX); + + unsigned char getEmitterNumber() const; + void setEmitterNumber(unsigned char pX); + + unsigned char getBeamNumber() const; + void setBeamNumber(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const TrackJamData& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/TwoByteChunk.cpp b/cpp/DIS7/TwoByteChunk.cpp new file mode 100644 index 00000000..adc35615 --- /dev/null +++ b/cpp/DIS7/TwoByteChunk.cpp @@ -0,0 +1,110 @@ +#include + +using namespace DIS; + + +TwoByteChunk::TwoByteChunk() +{ + // Initialize fixed length array + for(int lengthotherParameters= 0; lengthotherParameters < 2; lengthotherParameters++) + { + _otherParameters[lengthotherParameters] = 0; + } + +} + +TwoByteChunk::~TwoByteChunk() +{ +} + +char* TwoByteChunk::getOtherParameters() +{ + return _otherParameters; +} + +const char* TwoByteChunk::getOtherParameters() const +{ + return _otherParameters; +} + +void TwoByteChunk::setOtherParameters(const char* x) +{ + for(int i = 0; i < 2; i++) + { + _otherParameters[i] = x[i]; + } +} + +void TwoByteChunk::marshal(DataStream& dataStream) const +{ + + for(size_t idx = 0; idx < 2; idx++) + { + dataStream << _otherParameters[idx]; + } + +} + +void TwoByteChunk::unmarshal(DataStream& dataStream) +{ + + for(size_t idx = 0; idx < 2; idx++) + { + dataStream >> _otherParameters[idx]; + } + +} + + +bool TwoByteChunk::operator ==(const TwoByteChunk& rhs) const + { + bool ivarsEqual = true; + + + for(char idx = 0; idx < 2; idx++) + { + if(!(_otherParameters[idx] == rhs._otherParameters[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int TwoByteChunk::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2 * 1; // _otherParameters + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/TwoByteChunk.h b/cpp/DIS7/TwoByteChunk.h new file mode 100644 index 00000000..5d17f0c6 --- /dev/null +++ b/cpp/DIS7/TwoByteChunk.h @@ -0,0 +1,71 @@ +#ifndef TWOBYTECHUNK_H +#define TWOBYTECHUNK_H + +#include +#include + + +namespace DIS +{ +// 16 bit piece of data + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO TwoByteChunk +{ +protected: + /** two bytes of arbitrary data */ + char _otherParameters[2]; + + + public: + TwoByteChunk(); + virtual ~TwoByteChunk(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + char* getOtherParameters(); + const char* getOtherParameters() const; + void setOtherParameters( const char* pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const TwoByteChunk& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/UAFundamentalParameter.cpp b/cpp/DIS7/UAFundamentalParameter.cpp new file mode 100644 index 00000000..fc32cd73 --- /dev/null +++ b/cpp/DIS7/UAFundamentalParameter.cpp @@ -0,0 +1,157 @@ +#include + +using namespace DIS; + + +UAFundamentalParameter::UAFundamentalParameter(): + _activeEmissionParameterIndex(0), + _scanPattern(0), + _beamCenterAzimuthHorizontal(0.0), + _azimuthalBeamwidthHorizontal(0.0), + _beamCenterDepressionElevation(0.0), + _beamwidthDownElevation(0.0) +{ +} + +UAFundamentalParameter::~UAFundamentalParameter() +{ +} + +unsigned short UAFundamentalParameter::getActiveEmissionParameterIndex() const +{ + return _activeEmissionParameterIndex; +} + +void UAFundamentalParameter::setActiveEmissionParameterIndex(unsigned short pX) +{ + _activeEmissionParameterIndex = pX; +} + +unsigned short UAFundamentalParameter::getScanPattern() const +{ + return _scanPattern; +} + +void UAFundamentalParameter::setScanPattern(unsigned short pX) +{ + _scanPattern = pX; +} + +float UAFundamentalParameter::getBeamCenterAzimuthHorizontal() const +{ + return _beamCenterAzimuthHorizontal; +} + +void UAFundamentalParameter::setBeamCenterAzimuthHorizontal(float pX) +{ + _beamCenterAzimuthHorizontal = pX; +} + +float UAFundamentalParameter::getAzimuthalBeamwidthHorizontal() const +{ + return _azimuthalBeamwidthHorizontal; +} + +void UAFundamentalParameter::setAzimuthalBeamwidthHorizontal(float pX) +{ + _azimuthalBeamwidthHorizontal = pX; +} + +float UAFundamentalParameter::getBeamCenterDepressionElevation() const +{ + return _beamCenterDepressionElevation; +} + +void UAFundamentalParameter::setBeamCenterDepressionElevation(float pX) +{ + _beamCenterDepressionElevation = pX; +} + +float UAFundamentalParameter::getBeamwidthDownElevation() const +{ + return _beamwidthDownElevation; +} + +void UAFundamentalParameter::setBeamwidthDownElevation(float pX) +{ + _beamwidthDownElevation = pX; +} + +void UAFundamentalParameter::marshal(DataStream& dataStream) const +{ + dataStream << _activeEmissionParameterIndex; + dataStream << _scanPattern; + dataStream << _beamCenterAzimuthHorizontal; + dataStream << _azimuthalBeamwidthHorizontal; + dataStream << _beamCenterDepressionElevation; + dataStream << _beamwidthDownElevation; +} + +void UAFundamentalParameter::unmarshal(DataStream& dataStream) +{ + dataStream >> _activeEmissionParameterIndex; + dataStream >> _scanPattern; + dataStream >> _beamCenterAzimuthHorizontal; + dataStream >> _azimuthalBeamwidthHorizontal; + dataStream >> _beamCenterDepressionElevation; + dataStream >> _beamwidthDownElevation; +} + + +bool UAFundamentalParameter::operator ==(const UAFundamentalParameter& rhs) const + { + bool ivarsEqual = true; + + if( ! (_activeEmissionParameterIndex == rhs._activeEmissionParameterIndex) ) ivarsEqual = false; + if( ! (_scanPattern == rhs._scanPattern) ) ivarsEqual = false; + if( ! (_beamCenterAzimuthHorizontal == rhs._beamCenterAzimuthHorizontal) ) ivarsEqual = false; + if( ! (_azimuthalBeamwidthHorizontal == rhs._azimuthalBeamwidthHorizontal) ) ivarsEqual = false; + if( ! (_beamCenterDepressionElevation == rhs._beamCenterDepressionElevation) ) ivarsEqual = false; + if( ! (_beamwidthDownElevation == rhs._beamwidthDownElevation) ) ivarsEqual = false; + + return ivarsEqual; + } + +int UAFundamentalParameter::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 2; // _activeEmissionParameterIndex + marshalSize = marshalSize + 2; // _scanPattern + marshalSize = marshalSize + 4; // _beamCenterAzimuthHorizontal + marshalSize = marshalSize + 4; // _azimuthalBeamwidthHorizontal + marshalSize = marshalSize + 4; // _beamCenterDepressionElevation + marshalSize = marshalSize + 4; // _beamwidthDownElevation + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/UAFundamentalParameter.h b/cpp/DIS7/UAFundamentalParameter.h new file mode 100644 index 00000000..9ba03a6d --- /dev/null +++ b/cpp/DIS7/UAFundamentalParameter.h @@ -0,0 +1,100 @@ +#ifndef UAFUNDAMENTALPARAMETER_H +#define UAFUNDAMENTALPARAMETER_H + +#include +#include + + +namespace DIS +{ +// Regeneration parameters for active emission systems that are variable throughout a scenario. Section 6.2.90 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO UAFundamentalParameter +{ +protected: + /** Which database record shall be used. An enumeration from EBV document */ + unsigned short _activeEmissionParameterIndex; + + /** The type of scan pattern, If not used, zero. An enumeration from EBV document */ + unsigned short _scanPattern; + + /** center azimuth bearing of th emain beam. In radians. */ + float _beamCenterAzimuthHorizontal; + + /** Horizontal beamwidth of th emain beam Meastued at the 3dB down point of peak radiated power. In radians. */ + float _azimuthalBeamwidthHorizontal; + + /** center of the d/e angle of th emain beam relative to the stablised de angle of the target. In radians. */ + float _beamCenterDepressionElevation; + + /** vertical beamwidth of the main beam. Meastured at the 3dB down point of peak radiated power. In radians. */ + float _beamwidthDownElevation; + + + public: + UAFundamentalParameter(); + virtual ~UAFundamentalParameter(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned short getActiveEmissionParameterIndex() const; + void setActiveEmissionParameterIndex(unsigned short pX); + + unsigned short getScanPattern() const; + void setScanPattern(unsigned short pX); + + float getBeamCenterAzimuthHorizontal() const; + void setBeamCenterAzimuthHorizontal(float pX); + + float getAzimuthalBeamwidthHorizontal() const; + void setAzimuthalBeamwidthHorizontal(float pX); + + float getBeamCenterDepressionElevation() const; + void setBeamCenterDepressionElevation(float pX); + + float getBeamwidthDownElevation() const; + void setBeamwidthDownElevation(float pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const UAFundamentalParameter& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/UaPdu.cpp b/cpp/DIS7/UaPdu.cpp new file mode 100644 index 00000000..dbbeacee --- /dev/null +++ b/cpp/DIS7/UaPdu.cpp @@ -0,0 +1,332 @@ +#include + +using namespace DIS; + + +UaPdu::UaPdu() : DistributedEmissionsFamilyPdu(), + _emittingEntityID(), + _eventID(), + _stateChangeIndicator(0), + _pad(0), + _passiveParameterIndex(0), + _propulsionPlantConfiguration(0), + _numberOfShafts(0), + _numberOfAPAs(0), + _numberOfUAEmitterSystems(0) +{ + setPduType( 29 ); +} + +UaPdu::~UaPdu() +{ + _shaftRPMs.clear(); + _apaData.clear(); + _emitterSystems.clear(); +} + +EntityID& UaPdu::getEmittingEntityID() +{ + return _emittingEntityID; +} + +const EntityID& UaPdu::getEmittingEntityID() const +{ + return _emittingEntityID; +} + +void UaPdu::setEmittingEntityID(const EntityID &pX) +{ + _emittingEntityID = pX; +} + +EventIdentifier& UaPdu::getEventID() +{ + return _eventID; +} + +const EventIdentifier& UaPdu::getEventID() const +{ + return _eventID; +} + +void UaPdu::setEventID(const EventIdentifier &pX) +{ + _eventID = pX; +} + +char UaPdu::getStateChangeIndicator() const +{ + return _stateChangeIndicator; +} + +void UaPdu::setStateChangeIndicator(char pX) +{ + _stateChangeIndicator = pX; +} + +char UaPdu::getPad() const +{ + return _pad; +} + +void UaPdu::setPad(char pX) +{ + _pad = pX; +} + +unsigned short UaPdu::getPassiveParameterIndex() const +{ + return _passiveParameterIndex; +} + +void UaPdu::setPassiveParameterIndex(unsigned short pX) +{ + _passiveParameterIndex = pX; +} + +unsigned char UaPdu::getPropulsionPlantConfiguration() const +{ + return _propulsionPlantConfiguration; +} + +void UaPdu::setPropulsionPlantConfiguration(unsigned char pX) +{ + _propulsionPlantConfiguration = pX; +} + +unsigned char UaPdu::getNumberOfShafts() const +{ + return _shaftRPMs.size(); +} + +unsigned char UaPdu::getNumberOfAPAs() const +{ + return _apaData.size(); +} + +unsigned char UaPdu::getNumberOfUAEmitterSystems() const +{ + return _emitterSystems.size(); +} + +std::vector& UaPdu::getShaftRPMs() +{ + return _shaftRPMs; +} + +const std::vector& UaPdu::getShaftRPMs() const +{ + return _shaftRPMs; +} + +void UaPdu::setShaftRPMs(const std::vector& pX) +{ + _shaftRPMs = pX; +} + +std::vector& UaPdu::getApaData() +{ + return _apaData; +} + +const std::vector& UaPdu::getApaData() const +{ + return _apaData; +} + +void UaPdu::setApaData(const std::vector& pX) +{ + _apaData = pX; +} + +std::vector& UaPdu::getEmitterSystems() +{ + return _emitterSystems; +} + +const std::vector& UaPdu::getEmitterSystems() const +{ + return _emitterSystems; +} + +void UaPdu::setEmitterSystems(const std::vector& pX) +{ + _emitterSystems = pX; +} + +void UaPdu::marshal(DataStream& dataStream) const +{ + DistributedEmissionsFamilyPdu::marshal(dataStream); // Marshal information in superclass first + _emittingEntityID.marshal(dataStream); + _eventID.marshal(dataStream); + dataStream << _stateChangeIndicator; + dataStream << _pad; + dataStream << _passiveParameterIndex; + dataStream << _propulsionPlantConfiguration; + dataStream << ( unsigned char )_shaftRPMs.size(); + dataStream << ( unsigned char )_apaData.size(); + dataStream << ( unsigned char )_emitterSystems.size(); + + for(size_t idx = 0; idx < _shaftRPMs.size(); idx++) + { + Vector3Float x = _shaftRPMs[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _apaData.size(); idx++) + { + Vector3Float x = _apaData[idx]; + x.marshal(dataStream); + } + + + for(size_t idx = 0; idx < _emitterSystems.size(); idx++) + { + Vector3Float x = _emitterSystems[idx]; + x.marshal(dataStream); + } + +} + +void UaPdu::unmarshal(DataStream& dataStream) +{ + DistributedEmissionsFamilyPdu::unmarshal(dataStream); // unmarshal information in superclass first + _emittingEntityID.unmarshal(dataStream); + _eventID.unmarshal(dataStream); + dataStream >> _stateChangeIndicator; + dataStream >> _pad; + dataStream >> _passiveParameterIndex; + dataStream >> _propulsionPlantConfiguration; + dataStream >> _numberOfShafts; + dataStream >> _numberOfAPAs; + dataStream >> _numberOfUAEmitterSystems; + + _shaftRPMs.clear(); + for(size_t idx = 0; idx < _numberOfShafts; idx++) + { + Vector3Float x; + x.unmarshal(dataStream); + _shaftRPMs.push_back(x); + } + + _apaData.clear(); + for(size_t idx = 0; idx < _numberOfAPAs; idx++) + { + Vector3Float x; + x.unmarshal(dataStream); + _apaData.push_back(x); + } + + _emitterSystems.clear(); + for(size_t idx = 0; idx < _numberOfUAEmitterSystems; idx++) + { + Vector3Float x; + x.unmarshal(dataStream); + _emitterSystems.push_back(x); + } +} + + +bool UaPdu::operator ==(const UaPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = DistributedEmissionsFamilyPdu::operator==(rhs); + + if( ! (_emittingEntityID == rhs._emittingEntityID) ) ivarsEqual = false; + if( ! (_eventID == rhs._eventID) ) ivarsEqual = false; + if( ! (_stateChangeIndicator == rhs._stateChangeIndicator) ) ivarsEqual = false; + if( ! (_pad == rhs._pad) ) ivarsEqual = false; + if( ! (_passiveParameterIndex == rhs._passiveParameterIndex) ) ivarsEqual = false; + if( ! (_propulsionPlantConfiguration == rhs._propulsionPlantConfiguration) ) ivarsEqual = false; + + for(size_t idx = 0; idx < _shaftRPMs.size(); idx++) + { + if( ! ( _shaftRPMs[idx] == rhs._shaftRPMs[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _apaData.size(); idx++) + { + if( ! ( _apaData[idx] == rhs._apaData[idx]) ) ivarsEqual = false; + } + + + for(size_t idx = 0; idx < _emitterSystems.size(); idx++) + { + if( ! ( _emitterSystems[idx] == rhs._emitterSystems[idx]) ) ivarsEqual = false; + } + + + return ivarsEqual; + } + +int UaPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = DistributedEmissionsFamilyPdu::getMarshalledSize(); + marshalSize = marshalSize + _emittingEntityID.getMarshalledSize(); // _emittingEntityID + marshalSize = marshalSize + _eventID.getMarshalledSize(); // _eventID + marshalSize = marshalSize + 1; // _stateChangeIndicator + marshalSize = marshalSize + 1; // _pad + marshalSize = marshalSize + 2; // _passiveParameterIndex + marshalSize = marshalSize + 1; // _propulsionPlantConfiguration + marshalSize = marshalSize + 1; // _numberOfShafts + marshalSize = marshalSize + 1; // _numberOfAPAs + marshalSize = marshalSize + 1; // _numberOfUAEmitterSystems + + for(int idx=0; idx < _shaftRPMs.size(); idx++) + { + Vector3Float listElement = _shaftRPMs[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _apaData.size(); idx++) + { + Vector3Float listElement = _apaData[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + + for(int idx=0; idx < _emitterSystems.size(); idx++) + { + Vector3Float listElement = _emitterSystems[idx]; + marshalSize = marshalSize + listElement.getMarshalledSize(); + } + + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/UaPdu.h b/cpp/DIS7/UaPdu.h new file mode 100644 index 00000000..6c4cf418 --- /dev/null +++ b/cpp/DIS7/UaPdu.h @@ -0,0 +1,145 @@ +#ifndef UAPDU_H +#define UAPDU_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DIS +{ +// Information about underwater acoustic emmissions. This requires manual cleanup. The beam data records should ALL be a the finish, rather than attached to each emitter system. Section 7.6.4. UNFINISHED + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO UaPdu : public DistributedEmissionsFamilyPdu +{ +protected: + /** ID of the entity that is the source of the emission */ + EntityID _emittingEntityID; + + /** ID of event */ + EventIdentifier _eventID; + + /** This field shall be used to indicate whether the data in the UA PDU represent a state update or data that have changed since issuance of the last UA PDU */ + char _stateChangeIndicator; + + /** padding */ + char _pad; + + /** This field indicates which database record (or file) shall be used in the definition of passive signature (unintentional) emissions of the entity. The indicated database record (or file) shall define all noise generated as a function of propulsion plant configurations and associated auxiliaries. */ + unsigned short _passiveParameterIndex; + + /** This field shall specify the entity propulsion plant configuration. This field is used to determine the passive signature characteristics of an entity. */ + unsigned char _propulsionPlantConfiguration; + + /** This field shall represent the number of shafts on a platform */ + unsigned char _numberOfShafts; + + /** This field shall indicate the number of APAs described in the current UA PDU */ + unsigned char _numberOfAPAs; + + /** This field shall specify the number of UA emitter systems being described in the current UA PDU */ + unsigned char _numberOfUAEmitterSystems; + + /** shaft RPM values. THIS IS WRONG. It has the wrong class in the list. */ + std::vector _shaftRPMs; + + /** apaData. THIS IS WRONG. It has the worng class in the list. */ + std::vector _apaData; + + /** THIS IS WRONG. It has the wrong class in the list. */ + std::vector _emitterSystems; + + + public: + UaPdu(); + virtual ~UaPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getEmittingEntityID(); + const EntityID& getEmittingEntityID() const; + void setEmittingEntityID(const EntityID &pX); + + EventIdentifier& getEventID(); + const EventIdentifier& getEventID() const; + void setEventID(const EventIdentifier &pX); + + char getStateChangeIndicator() const; + void setStateChangeIndicator(char pX); + + char getPad() const; + void setPad(char pX); + + unsigned short getPassiveParameterIndex() const; + void setPassiveParameterIndex(unsigned short pX); + + unsigned char getPropulsionPlantConfiguration() const; + void setPropulsionPlantConfiguration(unsigned char pX); + + unsigned char getNumberOfShafts() const; + + unsigned char getNumberOfAPAs() const; + + unsigned char getNumberOfUAEmitterSystems() const; + + std::vector& getShaftRPMs(); + const std::vector& getShaftRPMs() const; + void setShaftRPMs(const std::vector& pX); + + std::vector& getApaData(); + const std::vector& getApaData() const; + void setApaData(const std::vector& pX); + + std::vector& getEmitterSystems(); + const std::vector& getEmitterSystems() const; + void setEmitterSystems(const std::vector& pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const UaPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/UnattachedIdentifier.cpp b/cpp/DIS7/UnattachedIdentifier.cpp new file mode 100644 index 00000000..c6ff00d8 --- /dev/null +++ b/cpp/DIS7/UnattachedIdentifier.cpp @@ -0,0 +1,102 @@ +#include + +using namespace DIS; + + +UnattachedIdentifier::UnattachedIdentifier(): + _simulationAddress(), + _referenceNumber(0) +{ +} + +UnattachedIdentifier::~UnattachedIdentifier() +{ +} + +SimulationAddress& UnattachedIdentifier::getSimulationAddress() +{ + return _simulationAddress; +} + +const SimulationAddress& UnattachedIdentifier::getSimulationAddress() const +{ + return _simulationAddress; +} + +void UnattachedIdentifier::setSimulationAddress(const SimulationAddress &pX) +{ + _simulationAddress = pX; +} + +unsigned short UnattachedIdentifier::getReferenceNumber() const +{ + return _referenceNumber; +} + +void UnattachedIdentifier::setReferenceNumber(unsigned short pX) +{ + _referenceNumber = pX; +} + +void UnattachedIdentifier::marshal(DataStream& dataStream) const +{ + _simulationAddress.marshal(dataStream); + dataStream << _referenceNumber; +} + +void UnattachedIdentifier::unmarshal(DataStream& dataStream) +{ + _simulationAddress.unmarshal(dataStream); + dataStream >> _referenceNumber; +} + + +bool UnattachedIdentifier::operator ==(const UnattachedIdentifier& rhs) const + { + bool ivarsEqual = true; + + if( ! (_simulationAddress == rhs._simulationAddress) ) ivarsEqual = false; + if( ! (_referenceNumber == rhs._referenceNumber) ) ivarsEqual = false; + + return ivarsEqual; + } + +int UnattachedIdentifier::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + _simulationAddress.getMarshalledSize(); // _simulationAddress + marshalSize = marshalSize + 2; // _referenceNumber + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/UnattachedIdentifier.h b/cpp/DIS7/UnattachedIdentifier.h new file mode 100644 index 00000000..7906e344 --- /dev/null +++ b/cpp/DIS7/UnattachedIdentifier.h @@ -0,0 +1,78 @@ +#ifndef UNATTACHEDIDENTIFIER_H +#define UNATTACHEDIDENTIFIER_H + +#include +#include +#include + + +namespace DIS +{ +// The unique designation of one or more unattached radios in an event or exercise Section 6.2.91 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO UnattachedIdentifier +{ +protected: + /** See 6.2.79 */ + SimulationAddress _simulationAddress; + + /** Reference number */ + unsigned short _referenceNumber; + + + public: + UnattachedIdentifier(); + virtual ~UnattachedIdentifier(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + SimulationAddress& getSimulationAddress(); + const SimulationAddress& getSimulationAddress() const; + void setSimulationAddress(const SimulationAddress &pX); + + unsigned short getReferenceNumber() const; + void setReferenceNumber(unsigned short pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const UnattachedIdentifier& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/UnsignedDISInteger.cpp b/cpp/DIS7/UnsignedDISInteger.cpp new file mode 100644 index 00000000..1be6782f --- /dev/null +++ b/cpp/DIS7/UnsignedDISInteger.cpp @@ -0,0 +1,82 @@ +#include + +using namespace DIS; + + +UnsignedDISInteger::UnsignedDISInteger(): + _val(0) +{ +} + +UnsignedDISInteger::~UnsignedDISInteger() +{ +} + +unsigned int UnsignedDISInteger::getVal() const +{ + return _val; +} + +void UnsignedDISInteger::setVal(unsigned int pX) +{ + _val = pX; +} + +void UnsignedDISInteger::marshal(DataStream& dataStream) const +{ + dataStream << _val; +} + +void UnsignedDISInteger::unmarshal(DataStream& dataStream) +{ + dataStream >> _val; +} + + +bool UnsignedDISInteger::operator ==(const UnsignedDISInteger& rhs) const + { + bool ivarsEqual = true; + + if( ! (_val == rhs._val) ) ivarsEqual = false; + + return ivarsEqual; + } + +int UnsignedDISInteger::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _val + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/UnsignedDISInteger.h b/cpp/DIS7/UnsignedDISInteger.h new file mode 100644 index 00000000..755c8a25 --- /dev/null +++ b/cpp/DIS7/UnsignedDISInteger.h @@ -0,0 +1,70 @@ +#ifndef UNSIGNEDDISINTEGER_H +#define UNSIGNEDDISINTEGER_H + +#include +#include + + +namespace DIS +{ +// container class not in specification + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO UnsignedDISInteger +{ +protected: + /** unsigned integer */ + unsigned int _val; + + + public: + UnsignedDISInteger(); + virtual ~UnsignedDISInteger(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getVal() const; + void setVal(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const UnsignedDISInteger& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/VariableDatum.cpp b/cpp/DIS7/VariableDatum.cpp new file mode 100644 index 00000000..4d3f1288 --- /dev/null +++ b/cpp/DIS7/VariableDatum.cpp @@ -0,0 +1,139 @@ +#include + +using namespace DIS; + + +VariableDatum::VariableDatum(): + _variableDatumID(0), + _variableDatumLength(0), + _variableDatumBits(0), + _padding(0) +{ +} + +VariableDatum::~VariableDatum() +{ +} + +unsigned int VariableDatum::getVariableDatumID() const +{ + return _variableDatumID; +} + +void VariableDatum::setVariableDatumID(unsigned int pX) +{ + _variableDatumID = pX; +} + +unsigned int VariableDatum::getVariableDatumLength() const +{ + return _variableDatumLength; +} + +void VariableDatum::setVariableDatumLength(unsigned int pX) +{ + _variableDatumLength = pX; +} + +unsigned int VariableDatum::getVariableDatumBits() const +{ + return _variableDatumBits; +} + +void VariableDatum::setVariableDatumBits(unsigned int pX) +{ + _variableDatumBits = pX; +} + +unsigned int VariableDatum::getPadding() const +{ + return _padding; +} + +void VariableDatum::setPadding(unsigned int pX) +{ + _padding = pX; +} + +void VariableDatum::marshal(DataStream& dataStream) const +{ + dataStream << _variableDatumID; + dataStream << ( unsigned int )_variableDatums.size() * 64; + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { + EightByteChunk x = _variableDatums[idx]; + x.marshal(dataStream); + } + +} + +void VariableDatum::unmarshal(DataStream& dataStream) +{ + dataStream >> _variableDatumID; + dataStream >> _variableDatumLength; + _variableDatumLength = (_variableDatumLength / 64) + ((_variableDatumLength % 64) > 0); + + _variableDatums.clear(); + for(size_t idx = 0; idx < _variableDatumLength; idx++) + { + EightByteChunk x; + x.unmarshal(dataStream); + _variableDatums.push_back(x); + } +} + + +bool VariableDatum::operator ==(const VariableDatum& rhs) const + { + bool ivarsEqual = true; + + if( ! (_variableDatumID == rhs._variableDatumID) ) ivarsEqual = false; + if( ! (_variableDatumLength == rhs._variableDatumLength) ) ivarsEqual = false; + if( ! (_variableDatumBits == rhs._variableDatumBits) ) ivarsEqual = false; + if( ! (_padding == rhs._padding) ) ivarsEqual = false; + + return ivarsEqual; + } + +int VariableDatum::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _variableDatumID + marshalSize = marshalSize + 4; // _variableDatumLength + marshalSize = marshalSize + 4; // _variableDatumBits + marshalSize = marshalSize + 4; // _padding + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/VariableDatum.cpp.patch b/cpp/DIS7/VariableDatum.cpp.patch new file mode 100644 index 00000000..eaa99b54 --- /dev/null +++ b/cpp/DIS7/VariableDatum.cpp.patch @@ -0,0 +1,37 @@ +--- VariableDatum.cpp.orig 2011-07-25 11:11:43.000000000 -0700 ++++ VariableDatum.cpp 2011-07-25 11:12:19.000000000 -0700 +@@ -58,17 +58,29 @@ + void VariableDatum::marshal(DataStream& dataStream) const + { + dataStream << _variableDatumID; +- dataStream << _variableDatumLength; +- dataStream << _variableDatumBits; +- dataStream << _padding; ++ dataStream << ( unsigned int )_variableDatums.size() * 64; ++ ++ for(size_t idx = 0; idx < _variableDatums.size(); idx++) ++ { ++ EightByteChunk x = _variableDatums[idx]; ++ x.marshal(dataStream); ++ } ++ + } + + void VariableDatum::unmarshal(DataStream& dataStream) + { + dataStream >> _variableDatumID; + dataStream >> _variableDatumLength; +- dataStream >> _variableDatumBits; +- dataStream >> _padding; ++ _variableDatumLength = (_variableDatumLength / 64) + ((_variableDatumLength % 64) > 0); ++ ++ _variableDatums.clear(); ++ for(size_t idx = 0; idx < _variableDatumLength; idx++) ++ { ++ EightByteChunk x; ++ x.unmarshal(dataStream); ++ _variableDatums.push_back(x); ++ } + } + + diff --git a/cpp/DIS7/VariableDatum.h b/cpp/DIS7/VariableDatum.h new file mode 100644 index 00000000..2c289fc3 --- /dev/null +++ b/cpp/DIS7/VariableDatum.h @@ -0,0 +1,88 @@ +#ifndef VARIABLEDATUM_H +#define VARIABLEDATUM_H + +#include +#include + + +namespace DIS +{ +// the variable datum type, the datum length, and the value for that variable datum type. NOT COMPLETE. Section 6.2.92 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO VariableDatum +{ +protected: + /** Type of variable datum to be transmitted. 32 bit enumeration defined in EBV */ + unsigned int _variableDatumID; + + /** Length, in bits, of the variable datum. */ + unsigned int _variableDatumLength; + + /** Variable datum. This can be any number of bits long, depending on the datum. */ + unsigned int _variableDatumBits; + + /** padding to put the record on a 64 bit boundary */ + unsigned int _padding; + + + public: + VariableDatum(); + virtual ~VariableDatum(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getVariableDatumID() const; + void setVariableDatumID(unsigned int pX); + + unsigned int getVariableDatumLength() const; + void setVariableDatumLength(unsigned int pX); + + unsigned int getVariableDatumBits() const; + void setVariableDatumBits(unsigned int pX); + + unsigned int getPadding() const; + void setPadding(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const VariableDatum& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/VariableParameter.cpp b/cpp/DIS7/VariableParameter.cpp new file mode 100644 index 00000000..dd038467 --- /dev/null +++ b/cpp/DIS7/VariableParameter.cpp @@ -0,0 +1,142 @@ +#include + +using namespace DIS; + + +VariableParameter::VariableParameter(): + _recordType(0), + _variableParameterFields1(0.0), + _variableParameterFields2(0), + _variableParameterFields3(0), + _variableParameterFields4(0) +{ +} + +VariableParameter::~VariableParameter() +{ +} + +unsigned char VariableParameter::getRecordType() const +{ + return _recordType; +} + +void VariableParameter::setRecordType(unsigned char pX) +{ + _recordType = pX; +} + +double VariableParameter::getVariableParameterFields1() const +{ + return _variableParameterFields1; +} + +void VariableParameter::setVariableParameterFields1(double pX) +{ + _variableParameterFields1 = pX; +} + +unsigned int VariableParameter::getVariableParameterFields2() const +{ + return _variableParameterFields2; +} + +void VariableParameter::setVariableParameterFields2(unsigned int pX) +{ + _variableParameterFields2 = pX; +} + +unsigned short VariableParameter::getVariableParameterFields3() const +{ + return _variableParameterFields3; +} + +void VariableParameter::setVariableParameterFields3(unsigned short pX) +{ + _variableParameterFields3 = pX; +} + +unsigned char VariableParameter::getVariableParameterFields4() const +{ + return _variableParameterFields4; +} + +void VariableParameter::setVariableParameterFields4(unsigned char pX) +{ + _variableParameterFields4 = pX; +} + +void VariableParameter::marshal(DataStream& dataStream) const +{ + dataStream << _recordType; + dataStream << _variableParameterFields1; + dataStream << _variableParameterFields2; + dataStream << _variableParameterFields3; + dataStream << _variableParameterFields4; +} + +void VariableParameter::unmarshal(DataStream& dataStream) +{ + dataStream >> _recordType; + dataStream >> _variableParameterFields1; + dataStream >> _variableParameterFields2; + dataStream >> _variableParameterFields3; + dataStream >> _variableParameterFields4; +} + + +bool VariableParameter::operator ==(const VariableParameter& rhs) const + { + bool ivarsEqual = true; + + if( ! (_recordType == rhs._recordType) ) ivarsEqual = false; + if( ! (_variableParameterFields1 == rhs._variableParameterFields1) ) ivarsEqual = false; + if( ! (_variableParameterFields2 == rhs._variableParameterFields2) ) ivarsEqual = false; + if( ! (_variableParameterFields3 == rhs._variableParameterFields3) ) ivarsEqual = false; + if( ! (_variableParameterFields4 == rhs._variableParameterFields4) ) ivarsEqual = false; + + return ivarsEqual; + } + +int VariableParameter::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 1; // _recordType + marshalSize = marshalSize + 8; // _variableParameterFields1 + marshalSize = marshalSize + 4; // _variableParameterFields2 + marshalSize = marshalSize + 2; // _variableParameterFields3 + marshalSize = marshalSize + 1; // _variableParameterFields4 + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/VariableParameter.h b/cpp/DIS7/VariableParameter.h new file mode 100644 index 00000000..84ff1383 --- /dev/null +++ b/cpp/DIS7/VariableParameter.h @@ -0,0 +1,94 @@ +#ifndef VARIABLEPARAMETER_H +#define VARIABLEPARAMETER_H + +#include +#include + + +namespace DIS +{ +// specification of additional information associated with an entity or detonation, not otherwise accounted for in a PDU 6.2.93.1 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO VariableParameter +{ +protected: + /** the identification of the Variable Parameter record. Enumeration from EBV */ + unsigned char _recordType; + + /** Variable parameter data fields. Two doubles minus one byte */ + double _variableParameterFields1; + + /** Variable parameter data fields. */ + unsigned int _variableParameterFields2; + + /** Variable parameter data fields. */ + unsigned short _variableParameterFields3; + + /** Variable parameter data fields. */ + unsigned char _variableParameterFields4; + + + public: + VariableParameter(); + virtual ~VariableParameter(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned char getRecordType() const; + void setRecordType(unsigned char pX); + + double getVariableParameterFields1() const; + void setVariableParameterFields1(double pX); + + unsigned int getVariableParameterFields2() const; + void setVariableParameterFields2(unsigned int pX); + + unsigned short getVariableParameterFields3() const; + void setVariableParameterFields3(unsigned short pX); + + unsigned char getVariableParameterFields4() const; + void setVariableParameterFields4(unsigned char pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const VariableParameter& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/VariableTransmitterParameters.cpp b/cpp/DIS7/VariableTransmitterParameters.cpp new file mode 100644 index 00000000..8d3ceb81 --- /dev/null +++ b/cpp/DIS7/VariableTransmitterParameters.cpp @@ -0,0 +1,97 @@ +#include + +using namespace DIS; + + +VariableTransmitterParameters::VariableTransmitterParameters(): + _recordType(4), + _recordLength(4) +{ +} + +VariableTransmitterParameters::~VariableTransmitterParameters() +{ +} + +unsigned int VariableTransmitterParameters::getRecordType() const +{ + return _recordType; +} + +void VariableTransmitterParameters::setRecordType(unsigned int pX) +{ + _recordType = pX; +} + +unsigned int VariableTransmitterParameters::getRecordLength() const +{ + return _recordLength; +} + +void VariableTransmitterParameters::setRecordLength(unsigned int pX) +{ + _recordLength = pX; +} + +void VariableTransmitterParameters::marshal(DataStream& dataStream) const +{ + dataStream << _recordType; + dataStream << _recordLength; +} + +void VariableTransmitterParameters::unmarshal(DataStream& dataStream) +{ + dataStream >> _recordType; + dataStream >> _recordLength; +} + + +bool VariableTransmitterParameters::operator ==(const VariableTransmitterParameters& rhs) const + { + bool ivarsEqual = true; + + if( ! (_recordType == rhs._recordType) ) ivarsEqual = false; + if( ! (_recordLength == rhs._recordLength) ) ivarsEqual = false; + + return ivarsEqual; + } + +int VariableTransmitterParameters::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _recordType + marshalSize = marshalSize + 4; // _recordLength + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/VariableTransmitterParameters.h b/cpp/DIS7/VariableTransmitterParameters.h new file mode 100644 index 00000000..bf232388 --- /dev/null +++ b/cpp/DIS7/VariableTransmitterParameters.h @@ -0,0 +1,76 @@ +#ifndef VARIABLETRANSMITTERPARAMETERS_H +#define VARIABLETRANSMITTERPARAMETERS_H + +#include +#include + + +namespace DIS +{ +// Relates to radios. NOT COMPLETE. Section 6.2.94 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO VariableTransmitterParameters +{ +protected: + /** Type of VTP. Enumeration from EBV */ + unsigned int _recordType; + + /** Length, in bytes */ + unsigned int _recordLength; + + + public: + VariableTransmitterParameters(); + virtual ~VariableTransmitterParameters(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + unsigned int getRecordType() const; + void setRecordType(unsigned int pX); + + unsigned int getRecordLength() const; + void setRecordLength(unsigned int pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const VariableTransmitterParameters& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/Vector2Float.cpp b/cpp/DIS7/Vector2Float.cpp new file mode 100644 index 00000000..861a1dec --- /dev/null +++ b/cpp/DIS7/Vector2Float.cpp @@ -0,0 +1,97 @@ +#include + +using namespace DIS; + + +Vector2Float::Vector2Float(): + _x(0.0), + _y(0.0) +{ +} + +Vector2Float::~Vector2Float() +{ +} + +float Vector2Float::getX() const +{ + return _x; +} + +void Vector2Float::setX(float pX) +{ + _x = pX; +} + +float Vector2Float::getY() const +{ + return _y; +} + +void Vector2Float::setY(float pX) +{ + _y = pX; +} + +void Vector2Float::marshal(DataStream& dataStream) const +{ + dataStream << _x; + dataStream << _y; +} + +void Vector2Float::unmarshal(DataStream& dataStream) +{ + dataStream >> _x; + dataStream >> _y; +} + + +bool Vector2Float::operator ==(const Vector2Float& rhs) const + { + bool ivarsEqual = true; + + if( ! (_x == rhs._x) ) ivarsEqual = false; + if( ! (_y == rhs._y) ) ivarsEqual = false; + + return ivarsEqual; + } + +int Vector2Float::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _x + marshalSize = marshalSize + 4; // _y + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/Vector2Float.h b/cpp/DIS7/Vector2Float.h new file mode 100644 index 00000000..92006995 --- /dev/null +++ b/cpp/DIS7/Vector2Float.h @@ -0,0 +1,76 @@ +#ifndef VECTOR2FLOAT_H +#define VECTOR2FLOAT_H + +#include +#include + + +namespace DIS +{ +// Two floating point values, x, y + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO Vector2Float +{ +protected: + /** X value */ + float _x; + + /** y Value */ + float _y; + + + public: + Vector2Float(); + virtual ~Vector2Float(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + float getX() const; + void setX(float pX); + + float getY() const; + void setY(float pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const Vector2Float& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/Vector3Double.cpp b/cpp/DIS7/Vector3Double.cpp new file mode 100644 index 00000000..0c7bbe0b --- /dev/null +++ b/cpp/DIS7/Vector3Double.cpp @@ -0,0 +1,112 @@ +#include + +using namespace DIS; + + +Vector3Double::Vector3Double(): + _x(0.0), + _y(0.0), + _z(0.0) +{ +} + +Vector3Double::~Vector3Double() +{ +} + +double Vector3Double::getX() const +{ + return _x; +} + +void Vector3Double::setX(double pX) +{ + _x = pX; +} + +double Vector3Double::getY() const +{ + return _y; +} + +void Vector3Double::setY(double pX) +{ + _y = pX; +} + +double Vector3Double::getZ() const +{ + return _z; +} + +void Vector3Double::setZ(double pX) +{ + _z = pX; +} + +void Vector3Double::marshal(DataStream& dataStream) const +{ + dataStream << _x; + dataStream << _y; + dataStream << _z; +} + +void Vector3Double::unmarshal(DataStream& dataStream) +{ + dataStream >> _x; + dataStream >> _y; + dataStream >> _z; +} + + +bool Vector3Double::operator ==(const Vector3Double& rhs) const + { + bool ivarsEqual = true; + + if( ! (_x == rhs._x) ) ivarsEqual = false; + if( ! (_y == rhs._y) ) ivarsEqual = false; + if( ! (_z == rhs._z) ) ivarsEqual = false; + + return ivarsEqual; + } + +int Vector3Double::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 8; // _x + marshalSize = marshalSize + 8; // _y + marshalSize = marshalSize + 8; // _z + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/Vector3Double.h b/cpp/DIS7/Vector3Double.h new file mode 100644 index 00000000..43193c3a --- /dev/null +++ b/cpp/DIS7/Vector3Double.h @@ -0,0 +1,82 @@ +#ifndef VECTOR3DOUBLE_H +#define VECTOR3DOUBLE_H + +#include +#include + + +namespace DIS +{ +// Three double precision floating point values, x, y, and z. Used for world coordinates Section 6.2.97. + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO Vector3Double +{ +protected: + /** X value */ + double _x; + + /** y Value */ + double _y; + + /** Z value */ + double _z; + + + public: + Vector3Double(); + virtual ~Vector3Double(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + double getX() const; + void setX(double pX); + + double getY() const; + void setY(double pX); + + double getZ() const; + void setZ(double pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const Vector3Double& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/Vector3Float.cpp b/cpp/DIS7/Vector3Float.cpp new file mode 100644 index 00000000..5cf6ad94 --- /dev/null +++ b/cpp/DIS7/Vector3Float.cpp @@ -0,0 +1,112 @@ +#include + +using namespace DIS; + + +Vector3Float::Vector3Float(): + _x(0.0), + _y(0.0), + _z(0.0) +{ +} + +Vector3Float::~Vector3Float() +{ +} + +float Vector3Float::getX() const +{ + return _x; +} + +void Vector3Float::setX(float pX) +{ + _x = pX; +} + +float Vector3Float::getY() const +{ + return _y; +} + +void Vector3Float::setY(float pX) +{ + _y = pX; +} + +float Vector3Float::getZ() const +{ + return _z; +} + +void Vector3Float::setZ(float pX) +{ + _z = pX; +} + +void Vector3Float::marshal(DataStream& dataStream) const +{ + dataStream << _x; + dataStream << _y; + dataStream << _z; +} + +void Vector3Float::unmarshal(DataStream& dataStream) +{ + dataStream >> _x; + dataStream >> _y; + dataStream >> _z; +} + + +bool Vector3Float::operator ==(const Vector3Float& rhs) const + { + bool ivarsEqual = true; + + if( ! (_x == rhs._x) ) ivarsEqual = false; + if( ! (_y == rhs._y) ) ivarsEqual = false; + if( ! (_z == rhs._z) ) ivarsEqual = false; + + return ivarsEqual; + } + +int Vector3Float::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _x + marshalSize = marshalSize + 4; // _y + marshalSize = marshalSize + 4; // _z + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/Vector3Float.h b/cpp/DIS7/Vector3Float.h new file mode 100644 index 00000000..533be8d5 --- /dev/null +++ b/cpp/DIS7/Vector3Float.h @@ -0,0 +1,82 @@ +#ifndef VECTOR3FLOAT_H +#define VECTOR3FLOAT_H + +#include +#include + + +namespace DIS +{ +// Three floating point values, x, y, and z. Section 6.2.95 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO Vector3Float +{ +protected: + /** X value */ + float _x; + + /** y Value */ + float _y; + + /** Z value */ + float _z; + + + public: + Vector3Float(); + virtual ~Vector3Float(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + float getX() const; + void setX(float pX); + + float getY() const; + void setY(float pX); + + float getZ() const; + void setZ(float pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const Vector3Float& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/VectoringNozzleSystem.cpp b/cpp/DIS7/VectoringNozzleSystem.cpp new file mode 100644 index 00000000..3277c8ac --- /dev/null +++ b/cpp/DIS7/VectoringNozzleSystem.cpp @@ -0,0 +1,97 @@ +#include + +using namespace DIS; + + +VectoringNozzleSystem::VectoringNozzleSystem(): + _horizontalDeflectionAngle(0.0), + _verticalDeflectionAngle(0.0) +{ +} + +VectoringNozzleSystem::~VectoringNozzleSystem() +{ +} + +float VectoringNozzleSystem::getHorizontalDeflectionAngle() const +{ + return _horizontalDeflectionAngle; +} + +void VectoringNozzleSystem::setHorizontalDeflectionAngle(float pX) +{ + _horizontalDeflectionAngle = pX; +} + +float VectoringNozzleSystem::getVerticalDeflectionAngle() const +{ + return _verticalDeflectionAngle; +} + +void VectoringNozzleSystem::setVerticalDeflectionAngle(float pX) +{ + _verticalDeflectionAngle = pX; +} + +void VectoringNozzleSystem::marshal(DataStream& dataStream) const +{ + dataStream << _horizontalDeflectionAngle; + dataStream << _verticalDeflectionAngle; +} + +void VectoringNozzleSystem::unmarshal(DataStream& dataStream) +{ + dataStream >> _horizontalDeflectionAngle; + dataStream >> _verticalDeflectionAngle; +} + + +bool VectoringNozzleSystem::operator ==(const VectoringNozzleSystem& rhs) const + { + bool ivarsEqual = true; + + if( ! (_horizontalDeflectionAngle == rhs._horizontalDeflectionAngle) ) ivarsEqual = false; + if( ! (_verticalDeflectionAngle == rhs._verticalDeflectionAngle) ) ivarsEqual = false; + + return ivarsEqual; + } + +int VectoringNozzleSystem::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = marshalSize + 4; // _horizontalDeflectionAngle + marshalSize = marshalSize + 4; // _verticalDeflectionAngle + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/VectoringNozzleSystem.h b/cpp/DIS7/VectoringNozzleSystem.h new file mode 100644 index 00000000..b45f44c5 --- /dev/null +++ b/cpp/DIS7/VectoringNozzleSystem.h @@ -0,0 +1,76 @@ +#ifndef VECTORINGNOZZLESYSTEM_H +#define VECTORINGNOZZLESYSTEM_H + +#include +#include + + +namespace DIS +{ +// Operational data for describing the vectoring nozzle systems Section 6.2.96 + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO VectoringNozzleSystem +{ +protected: + /** In degrees */ + float _horizontalDeflectionAngle; + + /** In degrees */ + float _verticalDeflectionAngle; + + + public: + VectoringNozzleSystem(); + virtual ~VectoringNozzleSystem(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + float getHorizontalDeflectionAngle() const; + void setHorizontalDeflectionAngle(float pX); + + float getVerticalDeflectionAngle() const; + void setVerticalDeflectionAngle(float pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const VectoringNozzleSystem& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/WarfareFamilyPdu.cpp b/cpp/DIS7/WarfareFamilyPdu.cpp new file mode 100644 index 00000000..6da65e1f --- /dev/null +++ b/cpp/DIS7/WarfareFamilyPdu.cpp @@ -0,0 +1,113 @@ +#include + +using namespace DIS; + + +WarfareFamilyPdu::WarfareFamilyPdu() : Pdu(), + _firingEntityID(), + _targetEntityID() +{ + setProtocolFamily( 2 ); +} + +WarfareFamilyPdu::~WarfareFamilyPdu() +{ +} + +EntityID& WarfareFamilyPdu::getFiringEntityID() +{ + return _firingEntityID; +} + +const EntityID& WarfareFamilyPdu::getFiringEntityID() const +{ + return _firingEntityID; +} + +void WarfareFamilyPdu::setFiringEntityID(const EntityID &pX) +{ + _firingEntityID = pX; +} + +EntityID& WarfareFamilyPdu::getTargetEntityID() +{ + return _targetEntityID; +} + +const EntityID& WarfareFamilyPdu::getTargetEntityID() const +{ + return _targetEntityID; +} + +void WarfareFamilyPdu::setTargetEntityID(const EntityID &pX) +{ + _targetEntityID = pX; +} + +void WarfareFamilyPdu::marshal(DataStream& dataStream) const +{ + Pdu::marshal(dataStream); // Marshal information in superclass first + _firingEntityID.marshal(dataStream); + _targetEntityID.marshal(dataStream); +} + +void WarfareFamilyPdu::unmarshal(DataStream& dataStream) +{ + Pdu::unmarshal(dataStream); // unmarshal information in superclass first + _firingEntityID.unmarshal(dataStream); + _targetEntityID.unmarshal(dataStream); +} + + +bool WarfareFamilyPdu::operator ==(const WarfareFamilyPdu& rhs) const + { + bool ivarsEqual = true; + + ivarsEqual = Pdu::operator==(rhs); + + if( ! (_firingEntityID == rhs._firingEntityID) ) ivarsEqual = false; + if( ! (_targetEntityID == rhs._targetEntityID) ) ivarsEqual = false; + + return ivarsEqual; + } + +int WarfareFamilyPdu::getMarshalledSize() const +{ + int marshalSize = 0; + + marshalSize = Pdu::getMarshalledSize(); + marshalSize = marshalSize + _firingEntityID.getMarshalledSize(); // _firingEntityID + marshalSize = marshalSize + _targetEntityID.getMarshalledSize(); // _targetEntityID + return marshalSize; +} + +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/WarfareFamilyPdu.h b/cpp/DIS7/WarfareFamilyPdu.h new file mode 100644 index 00000000..2bc5c911 --- /dev/null +++ b/cpp/DIS7/WarfareFamilyPdu.h @@ -0,0 +1,81 @@ +#ifndef WARFAREFAMILYPDU_H +#define WARFAREFAMILYPDU_H + +#include +#include +#include +#include +#include + + +namespace DIS +{ +// abstract superclass for fire and detonation pdus that have shared information. Section 7.3 COMPLETE + +// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. +// +// @author DMcG, jkg + +class EXPORT_MACRO WarfareFamilyPdu : public Pdu +{ +protected: + /** ID of the entity that shot */ + EntityID _firingEntityID; + + /** ID of the entity that is being shot at */ + EntityID _targetEntityID; + + + public: + WarfareFamilyPdu(); + virtual ~WarfareFamilyPdu(); + + virtual void marshal(DataStream& dataStream) const; + virtual void unmarshal(DataStream& dataStream); + + EntityID& getFiringEntityID(); + const EntityID& getFiringEntityID() const; + void setFiringEntityID(const EntityID &pX); + + EntityID& getTargetEntityID(); + const EntityID& getTargetEntityID() const; + void setTargetEntityID(const EntityID &pX); + + +virtual int getMarshalledSize() const; + + bool operator ==(const WarfareFamilyPdu& rhs) const; +}; +} + +#endif +// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the names of the Naval Postgraduate School (NPS) +// Modeling Virtual Environments and Simulation (MOVES) Institute +// (http://www.nps.edu and http://www.MovesInstitute.org) +// nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. diff --git a/cpp/DIS7/msLibMacro.h b/cpp/DIS7/msLibMacro.h new file mode 100644 index 00000000..aa1c3011 --- /dev/null +++ b/cpp/DIS7/msLibMacro.h @@ -0,0 +1,12 @@ +#ifndef MSLIBMACRO_H +#define MSLIBMACRO_H +#if defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW32__) || defined( __BCPLUSPLUS__) || defined( __MWERKS__) +# ifdef EXPORT_LIBRARY +# define EXPORT_MACRO __declspec(dllexport) +# else +# define EXPORT_MACRO __declspec(dllimport) +# endif +#else +# define EXPORT_MACRO +#endif +#endif diff --git a/cpp/docs/html/_acknowledge_pdu_8cpp.html b/cpp/docs/html/_acknowledge_pdu_8cpp.html new file mode 100644 index 00000000..1dbeda10 --- /dev/null +++ b/cpp/docs/html/_acknowledge_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcknowledgePdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcknowledgePdu.cpp File Reference

#include <DIS/AcknowledgePdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_acknowledge_pdu_8h.html b/cpp/docs/html/_acknowledge_pdu_8h.html new file mode 100644 index 00000000..2ef6e75d --- /dev/null +++ b/cpp/docs/html/_acknowledge_pdu_8h.html @@ -0,0 +1,44 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcknowledgePdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcknowledgePdu.h File Reference

#include <DIS/SimulationManagementFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::AcknowledgePdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_acknowledge_pdu_8h_source.html b/cpp/docs/html/_acknowledge_pdu_8h_source.html new file mode 100644 index 00000000..6a18dba5 --- /dev/null +++ b/cpp/docs/html/_acknowledge_pdu_8h_source.html @@ -0,0 +1,102 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcknowledgePdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_acknowledge_reliable_pdu_8cpp.html b/cpp/docs/html/_acknowledge_reliable_pdu_8cpp.html new file mode 100644 index 00000000..45765997 --- /dev/null +++ b/cpp/docs/html/_acknowledge_reliable_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcknowledgeReliablePdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcknowledgeReliablePdu.cpp File Reference

#include <DIS/AcknowledgeReliablePdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_acknowledge_reliable_pdu_8h.html b/cpp/docs/html/_acknowledge_reliable_pdu_8h.html new file mode 100644 index 00000000..2073b86e --- /dev/null +++ b/cpp/docs/html/_acknowledge_reliable_pdu_8h.html @@ -0,0 +1,44 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcknowledgeReliablePdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcknowledgeReliablePdu.h File Reference

#include <DIS/SimulationManagementWithReliabilityFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::AcknowledgeReliablePdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_acknowledge_reliable_pdu_8h_source.html b/cpp/docs/html/_acknowledge_reliable_pdu_8h_source.html new file mode 100644 index 00000000..8a465fbe --- /dev/null +++ b/cpp/docs/html/_acknowledge_reliable_pdu_8h_source.html @@ -0,0 +1,102 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcknowledgeReliablePdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_acoustic_beam_data_8cpp.html b/cpp/docs/html/_acoustic_beam_data_8cpp.html new file mode 100644 index 00000000..b6593a8d --- /dev/null +++ b/cpp/docs/html/_acoustic_beam_data_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticBeamData.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticBeamData.cpp File Reference

#include <DIS/AcousticBeamData.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_acoustic_beam_data_8h.html b/cpp/docs/html/_acoustic_beam_data_8h.html new file mode 100644 index 00000000..399455c6 --- /dev/null +++ b/cpp/docs/html/_acoustic_beam_data_8h.html @@ -0,0 +1,44 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticBeamData.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticBeamData.h File Reference

#include <DIS/AcousticBeamFundamentalParameter.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::AcousticBeamData

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_acoustic_beam_data_8h_source.html b/cpp/docs/html/_acoustic_beam_data_8h_source.html new file mode 100644 index 00000000..58813867 --- /dev/null +++ b/cpp/docs/html/_acoustic_beam_data_8h_source.html @@ -0,0 +1,108 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticBeamData.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_acoustic_beam_fundamental_parameter_8cpp.html b/cpp/docs/html/_acoustic_beam_fundamental_parameter_8cpp.html new file mode 100644 index 00000000..ce3866ee --- /dev/null +++ b/cpp/docs/html/_acoustic_beam_fundamental_parameter_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticBeamFundamentalParameter.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticBeamFundamentalParameter.cpp File Reference

#include <DIS/AcousticBeamFundamentalParameter.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_acoustic_beam_fundamental_parameter_8h.html b/cpp/docs/html/_acoustic_beam_fundamental_parameter_8h.html new file mode 100644 index 00000000..1828c390 --- /dev/null +++ b/cpp/docs/html/_acoustic_beam_fundamental_parameter_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticBeamFundamentalParameter.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticBeamFundamentalParameter.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::AcousticBeamFundamentalParameter

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_acoustic_beam_fundamental_parameter_8h_source.html b/cpp/docs/html/_acoustic_beam_fundamental_parameter_8h_source.html new file mode 100644 index 00000000..e38ccaa3 --- /dev/null +++ b/cpp/docs/html/_acoustic_beam_fundamental_parameter_8h_source.html @@ -0,0 +1,116 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticBeamFundamentalParameter.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_acoustic_emitter_8cpp.html b/cpp/docs/html/_acoustic_emitter_8cpp.html new file mode 100644 index 00000000..7abe7003 --- /dev/null +++ b/cpp/docs/html/_acoustic_emitter_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticEmitter.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticEmitter.cpp File Reference

#include <DIS/AcousticEmitter.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_acoustic_emitter_8h.html b/cpp/docs/html/_acoustic_emitter_8h.html new file mode 100644 index 00000000..87c17472 --- /dev/null +++ b/cpp/docs/html/_acoustic_emitter_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticEmitter.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticEmitter.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::AcousticEmitter

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_acoustic_emitter_8h_source.html b/cpp/docs/html/_acoustic_emitter_8h_source.html new file mode 100644 index 00000000..cc6ec7fe --- /dev/null +++ b/cpp/docs/html/_acoustic_emitter_8h_source.html @@ -0,0 +1,101 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticEmitter.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_acoustic_emitter_system_8cpp.html b/cpp/docs/html/_acoustic_emitter_system_8cpp.html new file mode 100644 index 00000000..fbaecd6a --- /dev/null +++ b/cpp/docs/html/_acoustic_emitter_system_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticEmitterSystem.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticEmitterSystem.cpp File Reference

#include <DIS/AcousticEmitterSystem.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_acoustic_emitter_system_8h.html b/cpp/docs/html/_acoustic_emitter_system_8h.html new file mode 100644 index 00000000..5678bb09 --- /dev/null +++ b/cpp/docs/html/_acoustic_emitter_system_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticEmitterSystem.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticEmitterSystem.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::AcousticEmitterSystem

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_acoustic_emitter_system_8h_source.html b/cpp/docs/html/_acoustic_emitter_system_8h_source.html new file mode 100644 index 00000000..339e8639 --- /dev/null +++ b/cpp/docs/html/_acoustic_emitter_system_8h_source.html @@ -0,0 +1,101 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticEmitterSystem.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_acoustic_emitter_system_data_8cpp.html b/cpp/docs/html/_acoustic_emitter_system_data_8cpp.html new file mode 100644 index 00000000..62b63644 --- /dev/null +++ b/cpp/docs/html/_acoustic_emitter_system_data_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticEmitterSystemData.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticEmitterSystemData.cpp File Reference

#include <DIS/AcousticEmitterSystemData.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_acoustic_emitter_system_data_8h.html b/cpp/docs/html/_acoustic_emitter_system_data_8h.html new file mode 100644 index 00000000..3d59b5f3 --- /dev/null +++ b/cpp/docs/html/_acoustic_emitter_system_data_8h.html @@ -0,0 +1,47 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticEmitterSystemData.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticEmitterSystemData.h File Reference

#include <DIS/AcousticEmitterSystem.h>
+#include <DIS/Vector3Float.h>
+#include <DIS/AcousticBeamData.h>
+#include <vector>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::AcousticEmitterSystemData

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_acoustic_emitter_system_data_8h_source.html b/cpp/docs/html/_acoustic_emitter_system_data_8h_source.html new file mode 100644 index 00000000..d7164303 --- /dev/null +++ b/cpp/docs/html/_acoustic_emitter_system_data_8h_source.html @@ -0,0 +1,122 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticEmitterSystemData.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_action_request_pdu_8cpp.html b/cpp/docs/html/_action_request_pdu_8cpp.html new file mode 100644 index 00000000..dc116ea6 --- /dev/null +++ b/cpp/docs/html/_action_request_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionRequestPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionRequestPdu.cpp File Reference

#include <DIS/ActionRequestPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_action_request_pdu_8h.html b/cpp/docs/html/_action_request_pdu_8h.html new file mode 100644 index 00000000..a902aa93 --- /dev/null +++ b/cpp/docs/html/_action_request_pdu_8h.html @@ -0,0 +1,47 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionRequestPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionRequestPdu.h File Reference

#include <DIS/FixedDatum.h>
+#include <DIS/VariableDatum.h>
+#include <vector>
+#include <DIS/SimulationManagementFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::ActionRequestPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_action_request_pdu_8h_source.html b/cpp/docs/html/_action_request_pdu_8h_source.html new file mode 100644 index 00000000..365df5e9 --- /dev/null +++ b/cpp/docs/html/_action_request_pdu_8h_source.html @@ -0,0 +1,120 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionRequestPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_action_request_reliable_pdu_8cpp.html b/cpp/docs/html/_action_request_reliable_pdu_8cpp.html new file mode 100644 index 00000000..512ad79b --- /dev/null +++ b/cpp/docs/html/_action_request_reliable_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionRequestReliablePdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionRequestReliablePdu.cpp File Reference

#include <DIS/ActionRequestReliablePdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_action_request_reliable_pdu_8h.html b/cpp/docs/html/_action_request_reliable_pdu_8h.html new file mode 100644 index 00000000..0da9e3f3 --- /dev/null +++ b/cpp/docs/html/_action_request_reliable_pdu_8h.html @@ -0,0 +1,47 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionRequestReliablePdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionRequestReliablePdu.h File Reference

#include <DIS/FixedDatum.h>
+#include <DIS/VariableDatum.h>
+#include <vector>
+#include <DIS/SimulationManagementWithReliabilityFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::ActionRequestReliablePdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_action_request_reliable_pdu_8h_source.html b/cpp/docs/html/_action_request_reliable_pdu_8h_source.html new file mode 100644 index 00000000..bbcf759a --- /dev/null +++ b/cpp/docs/html/_action_request_reliable_pdu_8h_source.html @@ -0,0 +1,135 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionRequestReliablePdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_action_response_pdu_8cpp.html b/cpp/docs/html/_action_response_pdu_8cpp.html new file mode 100644 index 00000000..ff6e7a6b --- /dev/null +++ b/cpp/docs/html/_action_response_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionResponsePdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionResponsePdu.cpp File Reference

#include <DIS/ActionResponsePdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_action_response_pdu_8h.html b/cpp/docs/html/_action_response_pdu_8h.html new file mode 100644 index 00000000..6a5aba05 --- /dev/null +++ b/cpp/docs/html/_action_response_pdu_8h.html @@ -0,0 +1,47 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionResponsePdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionResponsePdu.h File Reference

#include <DIS/FixedDatum.h>
+#include <DIS/VariableDatum.h>
+#include <vector>
+#include <DIS/SimulationManagementFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::ActionResponsePdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_action_response_pdu_8h_source.html b/cpp/docs/html/_action_response_pdu_8h_source.html new file mode 100644 index 00000000..581093bd --- /dev/null +++ b/cpp/docs/html/_action_response_pdu_8h_source.html @@ -0,0 +1,120 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionResponsePdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_action_response_reliable_pdu_8cpp.html b/cpp/docs/html/_action_response_reliable_pdu_8cpp.html new file mode 100644 index 00000000..ff49cc4c --- /dev/null +++ b/cpp/docs/html/_action_response_reliable_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionResponseReliablePdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionResponseReliablePdu.cpp File Reference

#include <DIS/ActionResponseReliablePdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_action_response_reliable_pdu_8h.html b/cpp/docs/html/_action_response_reliable_pdu_8h.html new file mode 100644 index 00000000..dfec413d --- /dev/null +++ b/cpp/docs/html/_action_response_reliable_pdu_8h.html @@ -0,0 +1,47 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionResponseReliablePdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionResponseReliablePdu.h File Reference

#include <DIS/FixedDatum.h>
+#include <DIS/VariableDatum.h>
+#include <vector>
+#include <DIS/SimulationManagementWithReliabilityFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::ActionResponseReliablePdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_action_response_reliable_pdu_8h_source.html b/cpp/docs/html/_action_response_reliable_pdu_8h_source.html new file mode 100644 index 00000000..9b3b46c2 --- /dev/null +++ b/cpp/docs/html/_action_response_reliable_pdu_8h_source.html @@ -0,0 +1,120 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionResponseReliablePdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_aggregate_i_d_8cpp.html b/cpp/docs/html/_aggregate_i_d_8cpp.html new file mode 100644 index 00000000..2692f948 --- /dev/null +++ b/cpp/docs/html/_aggregate_i_d_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateID.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateID.cpp File Reference

#include <DIS/AggregateID.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_aggregate_i_d_8h.html b/cpp/docs/html/_aggregate_i_d_8h.html new file mode 100644 index 00000000..2ea99dce --- /dev/null +++ b/cpp/docs/html/_aggregate_i_d_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateID.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateID.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::AggregateID

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_aggregate_i_d_8h_source.html b/cpp/docs/html/_aggregate_i_d_8h_source.html new file mode 100644 index 00000000..10a586e5 --- /dev/null +++ b/cpp/docs/html/_aggregate_i_d_8h_source.html @@ -0,0 +1,101 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateID.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_aggregate_marking_8cpp.html b/cpp/docs/html/_aggregate_marking_8cpp.html new file mode 100644 index 00000000..feaf95db --- /dev/null +++ b/cpp/docs/html/_aggregate_marking_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateMarking.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateMarking.cpp File Reference

#include <DIS/AggregateMarking.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_aggregate_marking_8h.html b/cpp/docs/html/_aggregate_marking_8h.html new file mode 100644 index 00000000..740f83eb --- /dev/null +++ b/cpp/docs/html/_aggregate_marking_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateMarking.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateMarking.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::AggregateMarking

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_aggregate_marking_8h_source.html b/cpp/docs/html/_aggregate_marking_8h_source.html new file mode 100644 index 00000000..cf597d17 --- /dev/null +++ b/cpp/docs/html/_aggregate_marking_8h_source.html @@ -0,0 +1,97 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateMarking.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_aggregate_state_pdu_8cpp.html b/cpp/docs/html/_aggregate_state_pdu_8cpp.html new file mode 100644 index 00000000..3e205865 --- /dev/null +++ b/cpp/docs/html/_aggregate_state_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateStatePdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateStatePdu.cpp File Reference

#include <DIS/AggregateStatePdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_aggregate_state_pdu_8h.html b/cpp/docs/html/_aggregate_state_pdu_8h.html new file mode 100644 index 00000000..3a0402d1 --- /dev/null +++ b/cpp/docs/html/_aggregate_state_pdu_8h.html @@ -0,0 +1,53 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateStatePdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateStatePdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/EntityType.h>
+#include <DIS/AggregateMarking.h>
+#include <DIS/Vector3Float.h>
+#include <DIS/Orientation.h>
+#include <DIS/Vector3Double.h>
+#include <DIS/AggregateID.h>
+#include <DIS/VariableDatum.h>
+#include <vector>
+#include <DIS/EntityManagementFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::AggregateStatePdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_aggregate_state_pdu_8h_source.html b/cpp/docs/html/_aggregate_state_pdu_8h_source.html new file mode 100644 index 00000000..359128d5 --- /dev/null +++ b/cpp/docs/html/_aggregate_state_pdu_8h_source.html @@ -0,0 +1,212 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateStatePdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_aggregate_type_8cpp.html b/cpp/docs/html/_aggregate_type_8cpp.html new file mode 100644 index 00000000..b7507502 --- /dev/null +++ b/cpp/docs/html/_aggregate_type_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateType.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateType.cpp File Reference

#include <DIS/AggregateType.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_aggregate_type_8h.html b/cpp/docs/html/_aggregate_type_8h.html new file mode 100644 index 00000000..4bd09ba1 --- /dev/null +++ b/cpp/docs/html/_aggregate_type_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateType.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateType.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::AggregateType

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_aggregate_type_8h_source.html b/cpp/docs/html/_aggregate_type_8h_source.html new file mode 100644 index 00000000..760a1c61 --- /dev/null +++ b/cpp/docs/html/_aggregate_type_8h_source.html @@ -0,0 +1,121 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateType.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_angular_velocity_vector_8cpp.html b/cpp/docs/html/_angular_velocity_vector_8cpp.html new file mode 100644 index 00000000..496f2f71 --- /dev/null +++ b/cpp/docs/html/_angular_velocity_vector_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AngularVelocityVector.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AngularVelocityVector.cpp File Reference

#include <DIS/AngularVelocityVector.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_angular_velocity_vector_8h.html b/cpp/docs/html/_angular_velocity_vector_8h.html new file mode 100644 index 00000000..6044868f --- /dev/null +++ b/cpp/docs/html/_angular_velocity_vector_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AngularVelocityVector.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AngularVelocityVector.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::AngularVelocityVector

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_angular_velocity_vector_8h_source.html b/cpp/docs/html/_angular_velocity_vector_8h_source.html new file mode 100644 index 00000000..389c9d08 --- /dev/null +++ b/cpp/docs/html/_angular_velocity_vector_8h_source.html @@ -0,0 +1,101 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AngularVelocityVector.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_antenna_location_8cpp.html b/cpp/docs/html/_antenna_location_8cpp.html new file mode 100644 index 00000000..efe8a37e --- /dev/null +++ b/cpp/docs/html/_antenna_location_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AntennaLocation.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AntennaLocation.cpp File Reference

#include <DIS/AntennaLocation.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_antenna_location_8h.html b/cpp/docs/html/_antenna_location_8h.html new file mode 100644 index 00000000..56f4c53a --- /dev/null +++ b/cpp/docs/html/_antenna_location_8h.html @@ -0,0 +1,45 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AntennaLocation.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AntennaLocation.h File Reference

#include <DIS/Vector3Double.h>
+#include <DIS/Vector3Float.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::AntennaLocation

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_antenna_location_8h_source.html b/cpp/docs/html/_antenna_location_8h_source.html new file mode 100644 index 00000000..61927839 --- /dev/null +++ b/cpp/docs/html/_antenna_location_8h_source.html @@ -0,0 +1,100 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AntennaLocation.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_apa_data_8cpp.html b/cpp/docs/html/_apa_data_8cpp.html new file mode 100644 index 00000000..6e1a90a2 --- /dev/null +++ b/cpp/docs/html/_apa_data_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ApaData.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ApaData.cpp File Reference

#include <DIS/ApaData.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_apa_data_8h.html b/cpp/docs/html/_apa_data_8h.html new file mode 100644 index 00000000..34c3e4f9 --- /dev/null +++ b/cpp/docs/html/_apa_data_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ApaData.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ApaData.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::ApaData

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_apa_data_8h_source.html b/cpp/docs/html/_apa_data_8h_source.html new file mode 100644 index 00000000..a01bb574 --- /dev/null +++ b/cpp/docs/html/_apa_data_8h_source.html @@ -0,0 +1,96 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ApaData.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_areal_object_state_pdu_8cpp.html b/cpp/docs/html/_areal_object_state_pdu_8cpp.html new file mode 100644 index 00000000..6f0787d0 --- /dev/null +++ b/cpp/docs/html/_areal_object_state_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ArealObjectStatePdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ArealObjectStatePdu.cpp File Reference

#include <DIS/ArealObjectStatePdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_areal_object_state_pdu_8h.html b/cpp/docs/html/_areal_object_state_pdu_8h.html new file mode 100644 index 00000000..4b2b32df --- /dev/null +++ b/cpp/docs/html/_areal_object_state_pdu_8h.html @@ -0,0 +1,50 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ArealObjectStatePdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ArealObjectStatePdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/EntityType.h>
+#include <DIS/SixByteChunk.h>
+#include <DIS/SimulationAddress.h>
+#include <DIS/Vector3Double.h>
+#include <vector>
+#include <DIS/SyntheticEnvironmentFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::ArealObjectStatePdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_areal_object_state_pdu_8h_source.html b/cpp/docs/html/_areal_object_state_pdu_8h_source.html new file mode 100644 index 00000000..4175eda3 --- /dev/null +++ b/cpp/docs/html/_areal_object_state_pdu_8h_source.html @@ -0,0 +1,156 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ArealObjectStatePdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_articulation_parameter_8cpp.html b/cpp/docs/html/_articulation_parameter_8cpp.html new file mode 100644 index 00000000..4d495c67 --- /dev/null +++ b/cpp/docs/html/_articulation_parameter_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ArticulationParameter.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ArticulationParameter.cpp File Reference

#include <DIS/ArticulationParameter.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_articulation_parameter_8h.html b/cpp/docs/html/_articulation_parameter_8h.html new file mode 100644 index 00000000..7d434eb8 --- /dev/null +++ b/cpp/docs/html/_articulation_parameter_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ArticulationParameter.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ArticulationParameter.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::ArticulationParameter

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_articulation_parameter_8h_source.html b/cpp/docs/html/_articulation_parameter_8h_source.html new file mode 100644 index 00000000..35aa55bc --- /dev/null +++ b/cpp/docs/html/_articulation_parameter_8h_source.html @@ -0,0 +1,111 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ArticulationParameter.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_beam_antenna_pattern_8cpp.html b/cpp/docs/html/_beam_antenna_pattern_8cpp.html new file mode 100644 index 00000000..3385ebdd --- /dev/null +++ b/cpp/docs/html/_beam_antenna_pattern_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/BeamAntennaPattern.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/BeamAntennaPattern.cpp File Reference

#include <DIS/BeamAntennaPattern.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_beam_antenna_pattern_8h.html b/cpp/docs/html/_beam_antenna_pattern_8h.html new file mode 100644 index 00000000..f304172f --- /dev/null +++ b/cpp/docs/html/_beam_antenna_pattern_8h.html @@ -0,0 +1,44 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/BeamAntennaPattern.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/BeamAntennaPattern.h File Reference

#include <DIS/Orientation.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::BeamAntennaPattern

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_beam_antenna_pattern_8h_source.html b/cpp/docs/html/_beam_antenna_pattern_8h_source.html new file mode 100644 index 00000000..fde367b9 --- /dev/null +++ b/cpp/docs/html/_beam_antenna_pattern_8h_source.html @@ -0,0 +1,128 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/BeamAntennaPattern.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_beam_data_8cpp.html b/cpp/docs/html/_beam_data_8cpp.html new file mode 100644 index 00000000..83a94425 --- /dev/null +++ b/cpp/docs/html/_beam_data_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/BeamData.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/BeamData.cpp File Reference

#include <DIS/BeamData.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_beam_data_8h.html b/cpp/docs/html/_beam_data_8h.html new file mode 100644 index 00000000..744d9da8 --- /dev/null +++ b/cpp/docs/html/_beam_data_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/BeamData.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/BeamData.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::BeamData

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_beam_data_8h_source.html b/cpp/docs/html/_beam_data_8h_source.html new file mode 100644 index 00000000..fb2ad167 --- /dev/null +++ b/cpp/docs/html/_beam_data_8h_source.html @@ -0,0 +1,111 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/BeamData.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_burst_descriptor_8cpp.html b/cpp/docs/html/_burst_descriptor_8cpp.html new file mode 100644 index 00000000..4f3e29ed --- /dev/null +++ b/cpp/docs/html/_burst_descriptor_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/BurstDescriptor.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/BurstDescriptor.cpp File Reference

#include <DIS/BurstDescriptor.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_burst_descriptor_8h.html b/cpp/docs/html/_burst_descriptor_8h.html new file mode 100644 index 00000000..157b4968 --- /dev/null +++ b/cpp/docs/html/_burst_descriptor_8h.html @@ -0,0 +1,44 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/BurstDescriptor.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/BurstDescriptor.h File Reference

#include <DIS/EntityType.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::BurstDescriptor

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_burst_descriptor_8h_source.html b/cpp/docs/html/_burst_descriptor_8h_source.html new file mode 100644 index 00000000..9d1bfc51 --- /dev/null +++ b/cpp/docs/html/_burst_descriptor_8h_source.html @@ -0,0 +1,113 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/BurstDescriptor.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_clock_time_8cpp.html b/cpp/docs/html/_clock_time_8cpp.html new file mode 100644 index 00000000..25a91af9 --- /dev/null +++ b/cpp/docs/html/_clock_time_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ClockTime.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ClockTime.cpp File Reference

#include <DIS/ClockTime.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_clock_time_8h.html b/cpp/docs/html/_clock_time_8h.html new file mode 100644 index 00000000..c287b2c6 --- /dev/null +++ b/cpp/docs/html/_clock_time_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ClockTime.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ClockTime.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::ClockTime

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_clock_time_8h_source.html b/cpp/docs/html/_clock_time_8h_source.html new file mode 100644 index 00000000..370ac585 --- /dev/null +++ b/cpp/docs/html/_clock_time_8h_source.html @@ -0,0 +1,96 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ClockTime.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_collision_elastic_pdu_8cpp.html b/cpp/docs/html/_collision_elastic_pdu_8cpp.html new file mode 100644 index 00000000..43dbe0ce --- /dev/null +++ b/cpp/docs/html/_collision_elastic_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CollisionElasticPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CollisionElasticPdu.cpp File Reference

#include <DIS/CollisionElasticPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_collision_elastic_pdu_8h.html b/cpp/docs/html/_collision_elastic_pdu_8h.html new file mode 100644 index 00000000..3a89dace --- /dev/null +++ b/cpp/docs/html/_collision_elastic_pdu_8h.html @@ -0,0 +1,47 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CollisionElasticPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CollisionElasticPdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/EventID.h>
+#include <DIS/Vector3Float.h>
+#include <DIS/EntityInformationFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::CollisionElasticPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_collision_elastic_pdu_8h_source.html b/cpp/docs/html/_collision_elastic_pdu_8h_source.html new file mode 100644 index 00000000..7b828708 --- /dev/null +++ b/cpp/docs/html/_collision_elastic_pdu_8h_source.html @@ -0,0 +1,174 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CollisionElasticPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_collision_pdu_8cpp.html b/cpp/docs/html/_collision_pdu_8cpp.html new file mode 100644 index 00000000..a9da8137 --- /dev/null +++ b/cpp/docs/html/_collision_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CollisionPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CollisionPdu.cpp File Reference

#include <DIS/CollisionPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_collision_pdu_8h.html b/cpp/docs/html/_collision_pdu_8h.html new file mode 100644 index 00000000..35d63b51 --- /dev/null +++ b/cpp/docs/html/_collision_pdu_8h.html @@ -0,0 +1,47 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CollisionPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CollisionPdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/EventID.h>
+#include <DIS/Vector3Float.h>
+#include <DIS/EntityInformationFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::CollisionPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_collision_pdu_8h_source.html b/cpp/docs/html/_collision_pdu_8h_source.html new file mode 100644 index 00000000..6c990116 --- /dev/null +++ b/cpp/docs/html/_collision_pdu_8h_source.html @@ -0,0 +1,137 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CollisionPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_comment_pdu_8cpp.html b/cpp/docs/html/_comment_pdu_8cpp.html new file mode 100644 index 00000000..4793551b --- /dev/null +++ b/cpp/docs/html/_comment_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CommentPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CommentPdu.cpp File Reference

#include <DIS/CommentPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_comment_pdu_8h.html b/cpp/docs/html/_comment_pdu_8h.html new file mode 100644 index 00000000..fe1f3904 --- /dev/null +++ b/cpp/docs/html/_comment_pdu_8h.html @@ -0,0 +1,47 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CommentPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CommentPdu.h File Reference

#include <DIS/FixedDatum.h>
+#include <DIS/VariableDatum.h>
+#include <vector>
+#include <DIS/SimulationManagementFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::CommentPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_comment_pdu_8h_source.html b/cpp/docs/html/_comment_pdu_8h_source.html new file mode 100644 index 00000000..f0fdb1e7 --- /dev/null +++ b/cpp/docs/html/_comment_pdu_8h_source.html @@ -0,0 +1,110 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CommentPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_comment_reliable_pdu_8cpp.html b/cpp/docs/html/_comment_reliable_pdu_8cpp.html new file mode 100644 index 00000000..816b6f7b --- /dev/null +++ b/cpp/docs/html/_comment_reliable_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CommentReliablePdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CommentReliablePdu.cpp File Reference

#include <DIS/CommentReliablePdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_comment_reliable_pdu_8h.html b/cpp/docs/html/_comment_reliable_pdu_8h.html new file mode 100644 index 00000000..1286df1e --- /dev/null +++ b/cpp/docs/html/_comment_reliable_pdu_8h.html @@ -0,0 +1,47 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CommentReliablePdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CommentReliablePdu.h File Reference

#include <DIS/FixedDatum.h>
+#include <DIS/VariableDatum.h>
+#include <vector>
+#include <DIS/SimulationManagementWithReliabilityFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::CommentReliablePdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_comment_reliable_pdu_8h_source.html b/cpp/docs/html/_comment_reliable_pdu_8h_source.html new file mode 100644 index 00000000..b595834f --- /dev/null +++ b/cpp/docs/html/_comment_reliable_pdu_8h_source.html @@ -0,0 +1,110 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CommentReliablePdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_create_entity_pdu_8cpp.html b/cpp/docs/html/_create_entity_pdu_8cpp.html new file mode 100644 index 00000000..8510a5b8 --- /dev/null +++ b/cpp/docs/html/_create_entity_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CreateEntityPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CreateEntityPdu.cpp File Reference

#include <DIS/CreateEntityPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_create_entity_pdu_8h.html b/cpp/docs/html/_create_entity_pdu_8h.html new file mode 100644 index 00000000..71e72853 --- /dev/null +++ b/cpp/docs/html/_create_entity_pdu_8h.html @@ -0,0 +1,44 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CreateEntityPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CreateEntityPdu.h File Reference

#include <DIS/SimulationManagementFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::CreateEntityPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_create_entity_pdu_8h_source.html b/cpp/docs/html/_create_entity_pdu_8h_source.html new file mode 100644 index 00000000..b9943b34 --- /dev/null +++ b/cpp/docs/html/_create_entity_pdu_8h_source.html @@ -0,0 +1,92 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CreateEntityPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_create_entity_reliable_pdu_8cpp.html b/cpp/docs/html/_create_entity_reliable_pdu_8cpp.html new file mode 100644 index 00000000..84ef0e1f --- /dev/null +++ b/cpp/docs/html/_create_entity_reliable_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CreateEntityReliablePdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CreateEntityReliablePdu.cpp File Reference

#include <DIS/CreateEntityReliablePdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_create_entity_reliable_pdu_8h.html b/cpp/docs/html/_create_entity_reliable_pdu_8h.html new file mode 100644 index 00000000..885da766 --- /dev/null +++ b/cpp/docs/html/_create_entity_reliable_pdu_8h.html @@ -0,0 +1,44 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CreateEntityReliablePdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CreateEntityReliablePdu.h File Reference

#include <DIS/SimulationManagementWithReliabilityFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::CreateEntityReliablePdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_create_entity_reliable_pdu_8h_source.html b/cpp/docs/html/_create_entity_reliable_pdu_8h_source.html new file mode 100644 index 00000000..64f78202 --- /dev/null +++ b/cpp/docs/html/_create_entity_reliable_pdu_8h_source.html @@ -0,0 +1,107 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CreateEntityReliablePdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_data_pdu_8cpp.html b/cpp/docs/html/_data_pdu_8cpp.html new file mode 100644 index 00000000..11126d38 --- /dev/null +++ b/cpp/docs/html/_data_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataPdu.cpp File Reference

#include <DIS/DataPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_data_pdu_8h.html b/cpp/docs/html/_data_pdu_8h.html new file mode 100644 index 00000000..8c4fd6a0 --- /dev/null +++ b/cpp/docs/html/_data_pdu_8h.html @@ -0,0 +1,47 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataPdu.h File Reference

#include <DIS/FixedDatum.h>
+#include <DIS/VariableDatum.h>
+#include <vector>
+#include <DIS/SimulationManagementFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::DataPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_data_pdu_8h_source.html b/cpp/docs/html/_data_pdu_8h_source.html new file mode 100644 index 00000000..fa066b7a --- /dev/null +++ b/cpp/docs/html/_data_pdu_8h_source.html @@ -0,0 +1,120 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_data_query_pdu_8cpp.html b/cpp/docs/html/_data_query_pdu_8cpp.html new file mode 100644 index 00000000..0b08eab4 --- /dev/null +++ b/cpp/docs/html/_data_query_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataQueryPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataQueryPdu.cpp File Reference

#include <DIS/DataQueryPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_data_query_pdu_8h.html b/cpp/docs/html/_data_query_pdu_8h.html new file mode 100644 index 00000000..27b5178f --- /dev/null +++ b/cpp/docs/html/_data_query_pdu_8h.html @@ -0,0 +1,47 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataQueryPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataQueryPdu.h File Reference

#include <DIS/FixedDatum.h>
+#include <DIS/VariableDatum.h>
+#include <vector>
+#include <DIS/SimulationManagementFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::DataQueryPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_data_query_pdu_8h_source.html b/cpp/docs/html/_data_query_pdu_8h_source.html new file mode 100644 index 00000000..721b4e93 --- /dev/null +++ b/cpp/docs/html/_data_query_pdu_8h_source.html @@ -0,0 +1,120 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataQueryPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_data_query_reliable_pdu_8cpp.html b/cpp/docs/html/_data_query_reliable_pdu_8cpp.html new file mode 100644 index 00000000..79aa5a26 --- /dev/null +++ b/cpp/docs/html/_data_query_reliable_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataQueryReliablePdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataQueryReliablePdu.cpp File Reference

#include <DIS/DataQueryReliablePdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_data_query_reliable_pdu_8h.html b/cpp/docs/html/_data_query_reliable_pdu_8h.html new file mode 100644 index 00000000..9b663265 --- /dev/null +++ b/cpp/docs/html/_data_query_reliable_pdu_8h.html @@ -0,0 +1,47 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataQueryReliablePdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataQueryReliablePdu.h File Reference

#include <DIS/FixedDatum.h>
+#include <DIS/VariableDatum.h>
+#include <vector>
+#include <DIS/SimulationManagementWithReliabilityFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::DataQueryReliablePdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_data_query_reliable_pdu_8h_source.html b/cpp/docs/html/_data_query_reliable_pdu_8h_source.html new file mode 100644 index 00000000..326073ed --- /dev/null +++ b/cpp/docs/html/_data_query_reliable_pdu_8h_source.html @@ -0,0 +1,135 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataQueryReliablePdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_data_reliable_pdu_8cpp.html b/cpp/docs/html/_data_reliable_pdu_8cpp.html new file mode 100644 index 00000000..de1328fd --- /dev/null +++ b/cpp/docs/html/_data_reliable_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataReliablePdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataReliablePdu.cpp File Reference

#include <DIS/DataReliablePdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_data_reliable_pdu_8h.html b/cpp/docs/html/_data_reliable_pdu_8h.html new file mode 100644 index 00000000..1d68bf0d --- /dev/null +++ b/cpp/docs/html/_data_reliable_pdu_8h.html @@ -0,0 +1,47 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataReliablePdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataReliablePdu.h File Reference

#include <DIS/FixedDatum.h>
+#include <DIS/VariableDatum.h>
+#include <vector>
+#include <DIS/SimulationManagementWithReliabilityFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::DataReliablePdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_data_reliable_pdu_8h_source.html b/cpp/docs/html/_data_reliable_pdu_8h_source.html new file mode 100644 index 00000000..b1809496 --- /dev/null +++ b/cpp/docs/html/_data_reliable_pdu_8h_source.html @@ -0,0 +1,130 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataReliablePdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_dead_reckoning_parameter_8cpp.html b/cpp/docs/html/_dead_reckoning_parameter_8cpp.html new file mode 100644 index 00000000..45dcec94 --- /dev/null +++ b/cpp/docs/html/_dead_reckoning_parameter_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DeadReckoningParameter.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DeadReckoningParameter.cpp File Reference

#include <DIS/DeadReckoningParameter.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_dead_reckoning_parameter_8h.html b/cpp/docs/html/_dead_reckoning_parameter_8h.html new file mode 100644 index 00000000..a767bd11 --- /dev/null +++ b/cpp/docs/html/_dead_reckoning_parameter_8h.html @@ -0,0 +1,44 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DeadReckoningParameter.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DeadReckoningParameter.h File Reference

#include <DIS/Vector3Float.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::DeadReckoningParameter

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_dead_reckoning_parameter_8h_source.html b/cpp/docs/html/_dead_reckoning_parameter_8h_source.html new file mode 100644 index 00000000..25316ed9 --- /dev/null +++ b/cpp/docs/html/_dead_reckoning_parameter_8h_source.html @@ -0,0 +1,111 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DeadReckoningParameter.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_designator_pdu_8cpp.html b/cpp/docs/html/_designator_pdu_8cpp.html new file mode 100644 index 00000000..7e480c73 --- /dev/null +++ b/cpp/docs/html/_designator_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DesignatorPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DesignatorPdu.cpp File Reference

#include <DIS/DesignatorPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_designator_pdu_8h.html b/cpp/docs/html/_designator_pdu_8h.html new file mode 100644 index 00000000..090a2265 --- /dev/null +++ b/cpp/docs/html/_designator_pdu_8h.html @@ -0,0 +1,47 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DesignatorPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DesignatorPdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/Vector3Float.h>
+#include <DIS/Vector3Double.h>
+#include <DIS/DistributedEmissionsFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::DesignatorPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_designator_pdu_8h_source.html b/cpp/docs/html/_designator_pdu_8h_source.html new file mode 100644 index 00000000..e661abf0 --- /dev/null +++ b/cpp/docs/html/_designator_pdu_8h_source.html @@ -0,0 +1,157 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DesignatorPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_detonation_pdu_8cpp.html b/cpp/docs/html/_detonation_pdu_8cpp.html new file mode 100644 index 00000000..2ce19f56 --- /dev/null +++ b/cpp/docs/html/_detonation_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DetonationPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DetonationPdu.cpp File Reference

#include <DIS/DetonationPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_detonation_pdu_8h.html b/cpp/docs/html/_detonation_pdu_8h.html new file mode 100644 index 00000000..f081c570 --- /dev/null +++ b/cpp/docs/html/_detonation_pdu_8h.html @@ -0,0 +1,51 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DetonationPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DetonationPdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/EventID.h>
+#include <DIS/Vector3Float.h>
+#include <DIS/Vector3Double.h>
+#include <DIS/BurstDescriptor.h>
+#include <DIS/ArticulationParameter.h>
+#include <vector>
+#include <DIS/WarfareFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::DetonationPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_detonation_pdu_8h_source.html b/cpp/docs/html/_detonation_pdu_8h_source.html new file mode 100644 index 00000000..5c2337c9 --- /dev/null +++ b/cpp/docs/html/_detonation_pdu_8h_source.html @@ -0,0 +1,151 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DetonationPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_distributed_emissions_family_pdu_8cpp.html b/cpp/docs/html/_distributed_emissions_family_pdu_8cpp.html new file mode 100644 index 00000000..6d0a25fe --- /dev/null +++ b/cpp/docs/html/_distributed_emissions_family_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DistributedEmissionsFamilyPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DistributedEmissionsFamilyPdu.cpp File Reference

#include <DIS/DistributedEmissionsFamilyPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_distributed_emissions_family_pdu_8h.html b/cpp/docs/html/_distributed_emissions_family_pdu_8h.html new file mode 100644 index 00000000..7bcc58ff --- /dev/null +++ b/cpp/docs/html/_distributed_emissions_family_pdu_8h.html @@ -0,0 +1,44 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DistributedEmissionsFamilyPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DistributedEmissionsFamilyPdu.h File Reference

#include <DIS/Pdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::DistributedEmissionsFamilyPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_distributed_emissions_family_pdu_8h_source.html b/cpp/docs/html/_distributed_emissions_family_pdu_8h_source.html new file mode 100644 index 00000000..942a4bbd --- /dev/null +++ b/cpp/docs/html/_distributed_emissions_family_pdu_8h_source.html @@ -0,0 +1,87 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DistributedEmissionsFamilyPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_eight_byte_chunk_8cpp.html b/cpp/docs/html/_eight_byte_chunk_8cpp.html new file mode 100644 index 00000000..d95c8ae2 --- /dev/null +++ b/cpp/docs/html/_eight_byte_chunk_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EightByteChunk.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EightByteChunk.cpp File Reference

#include <DIS/EightByteChunk.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_eight_byte_chunk_8h.html b/cpp/docs/html/_eight_byte_chunk_8h.html new file mode 100644 index 00000000..f6feeb7c --- /dev/null +++ b/cpp/docs/html/_eight_byte_chunk_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EightByteChunk.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EightByteChunk.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::EightByteChunk

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_eight_byte_chunk_8h_source.html b/cpp/docs/html/_eight_byte_chunk_8h_source.html new file mode 100644 index 00000000..1243253f --- /dev/null +++ b/cpp/docs/html/_eight_byte_chunk_8h_source.html @@ -0,0 +1,92 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EightByteChunk.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_electronic_emission_beam_data_8cpp.html b/cpp/docs/html/_electronic_emission_beam_data_8cpp.html new file mode 100644 index 00000000..37c41b01 --- /dev/null +++ b/cpp/docs/html/_electronic_emission_beam_data_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ElectronicEmissionBeamData.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ElectronicEmissionBeamData.cpp File Reference

#include <DIS/ElectronicEmissionBeamData.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_electronic_emission_beam_data_8h.html b/cpp/docs/html/_electronic_emission_beam_data_8h.html new file mode 100644 index 00000000..72984fa8 --- /dev/null +++ b/cpp/docs/html/_electronic_emission_beam_data_8h.html @@ -0,0 +1,46 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ElectronicEmissionBeamData.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ElectronicEmissionBeamData.h File Reference

#include <DIS/FundamentalParameterData.h>
+#include <DIS/TrackJamTarget.h>
+#include <vector>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::ElectronicEmissionBeamData

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_electronic_emission_beam_data_8h_source.html b/cpp/docs/html/_electronic_emission_beam_data_8h_source.html new file mode 100644 index 00000000..06146564 --- /dev/null +++ b/cpp/docs/html/_electronic_emission_beam_data_8h_source.html @@ -0,0 +1,140 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ElectronicEmissionBeamData.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_electronic_emission_system_data_8cpp.html b/cpp/docs/html/_electronic_emission_system_data_8cpp.html new file mode 100644 index 00000000..dea8329b --- /dev/null +++ b/cpp/docs/html/_electronic_emission_system_data_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ElectronicEmissionSystemData.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ElectronicEmissionSystemData.cpp File Reference

#include <DIS/ElectronicEmissionSystemData.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_electronic_emission_system_data_8h.html b/cpp/docs/html/_electronic_emission_system_data_8h.html new file mode 100644 index 00000000..3adfb11c --- /dev/null +++ b/cpp/docs/html/_electronic_emission_system_data_8h.html @@ -0,0 +1,47 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ElectronicEmissionSystemData.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ElectronicEmissionSystemData.h File Reference

#include <DIS/EmitterSystem.h>
+#include <DIS/Vector3Float.h>
+#include <DIS/ElectronicEmissionBeamData.h>
+#include <vector>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::ElectronicEmissionSystemData

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_electronic_emission_system_data_8h_source.html b/cpp/docs/html/_electronic_emission_system_data_8h_source.html new file mode 100644 index 00000000..fe9286dc --- /dev/null +++ b/cpp/docs/html/_electronic_emission_system_data_8h_source.html @@ -0,0 +1,122 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ElectronicEmissionSystemData.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_electronic_emissions_pdu_8cpp.html b/cpp/docs/html/_electronic_emissions_pdu_8cpp.html new file mode 100644 index 00000000..4b80aafd --- /dev/null +++ b/cpp/docs/html/_electronic_emissions_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ElectronicEmissionsPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ElectronicEmissionsPdu.cpp File Reference

#include <DIS/ElectronicEmissionsPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_electronic_emissions_pdu_8h.html b/cpp/docs/html/_electronic_emissions_pdu_8h.html new file mode 100644 index 00000000..321244f7 --- /dev/null +++ b/cpp/docs/html/_electronic_emissions_pdu_8h.html @@ -0,0 +1,48 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ElectronicEmissionsPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ElectronicEmissionsPdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/EventID.h>
+#include <DIS/ElectronicEmissionSystemData.h>
+#include <vector>
+#include <DIS/DistributedEmissionsFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::ElectronicEmissionsPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_electronic_emissions_pdu_8h_source.html b/cpp/docs/html/_electronic_emissions_pdu_8h_source.html new file mode 100644 index 00000000..e7c3275e --- /dev/null +++ b/cpp/docs/html/_electronic_emissions_pdu_8h_source.html @@ -0,0 +1,123 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ElectronicEmissionsPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_emitter_system_8cpp.html b/cpp/docs/html/_emitter_system_8cpp.html new file mode 100644 index 00000000..e36a16f1 --- /dev/null +++ b/cpp/docs/html/_emitter_system_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EmitterSystem.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EmitterSystem.cpp File Reference

#include <DIS/EmitterSystem.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_emitter_system_8h.html b/cpp/docs/html/_emitter_system_8h.html new file mode 100644 index 00000000..28b424dd --- /dev/null +++ b/cpp/docs/html/_emitter_system_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EmitterSystem.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EmitterSystem.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::EmitterSystem

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_emitter_system_8h_source.html b/cpp/docs/html/_emitter_system_8h_source.html new file mode 100644 index 00000000..85d4fd83 --- /dev/null +++ b/cpp/docs/html/_emitter_system_8h_source.html @@ -0,0 +1,101 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EmitterSystem.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_entity_i_d_8cpp.html b/cpp/docs/html/_entity_i_d_8cpp.html new file mode 100644 index 00000000..32e57e92 --- /dev/null +++ b/cpp/docs/html/_entity_i_d_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityID.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityID.cpp File Reference

#include <DIS/EntityID.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_entity_i_d_8h.html b/cpp/docs/html/_entity_i_d_8h.html new file mode 100644 index 00000000..32ac6079 --- /dev/null +++ b/cpp/docs/html/_entity_i_d_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityID.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityID.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::EntityID

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_entity_i_d_8h_source.html b/cpp/docs/html/_entity_i_d_8h_source.html new file mode 100644 index 00000000..42c56452 --- /dev/null +++ b/cpp/docs/html/_entity_i_d_8h_source.html @@ -0,0 +1,101 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityID.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_entity_information_family_pdu_8cpp.html b/cpp/docs/html/_entity_information_family_pdu_8cpp.html new file mode 100644 index 00000000..483ba7cd --- /dev/null +++ b/cpp/docs/html/_entity_information_family_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityInformationFamilyPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityInformationFamilyPdu.cpp File Reference

#include <DIS/EntityInformationFamilyPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_entity_information_family_pdu_8h.html b/cpp/docs/html/_entity_information_family_pdu_8h.html new file mode 100644 index 00000000..58bfb9e1 --- /dev/null +++ b/cpp/docs/html/_entity_information_family_pdu_8h.html @@ -0,0 +1,44 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityInformationFamilyPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityInformationFamilyPdu.h File Reference

#include <DIS/Pdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::EntityInformationFamilyPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_entity_information_family_pdu_8h_source.html b/cpp/docs/html/_entity_information_family_pdu_8h_source.html new file mode 100644 index 00000000..9adc0dfc --- /dev/null +++ b/cpp/docs/html/_entity_information_family_pdu_8h_source.html @@ -0,0 +1,87 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityInformationFamilyPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_entity_management_family_pdu_8cpp.html b/cpp/docs/html/_entity_management_family_pdu_8cpp.html new file mode 100644 index 00000000..767e9895 --- /dev/null +++ b/cpp/docs/html/_entity_management_family_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityManagementFamilyPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityManagementFamilyPdu.cpp File Reference

#include <DIS/EntityManagementFamilyPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_entity_management_family_pdu_8h.html b/cpp/docs/html/_entity_management_family_pdu_8h.html new file mode 100644 index 00000000..eca3f568 --- /dev/null +++ b/cpp/docs/html/_entity_management_family_pdu_8h.html @@ -0,0 +1,44 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityManagementFamilyPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityManagementFamilyPdu.h File Reference

#include <DIS/Pdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::EntityManagementFamilyPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_entity_management_family_pdu_8h_source.html b/cpp/docs/html/_entity_management_family_pdu_8h_source.html new file mode 100644 index 00000000..2aa77e80 --- /dev/null +++ b/cpp/docs/html/_entity_management_family_pdu_8h_source.html @@ -0,0 +1,87 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityManagementFamilyPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_entity_state_pdu_8cpp.html b/cpp/docs/html/_entity_state_pdu_8cpp.html new file mode 100644 index 00000000..0c88e906 --- /dev/null +++ b/cpp/docs/html/_entity_state_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityStatePdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityStatePdu.cpp File Reference

#include <DIS/EntityStatePdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_entity_state_pdu_8h.html b/cpp/docs/html/_entity_state_pdu_8h.html new file mode 100644 index 00000000..ab8995c5 --- /dev/null +++ b/cpp/docs/html/_entity_state_pdu_8h.html @@ -0,0 +1,53 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityStatePdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityStatePdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/EntityType.h>
+#include <DIS/Vector3Float.h>
+#include <DIS/Vector3Double.h>
+#include <DIS/Orientation.h>
+#include <DIS/DeadReckoningParameter.h>
+#include <DIS/Marking.h>
+#include <DIS/ArticulationParameter.h>
+#include <vector>
+#include <DIS/EntityInformationFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::EntityStatePdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_entity_state_pdu_8h_source.html b/cpp/docs/html/_entity_state_pdu_8h_source.html new file mode 100644 index 00000000..7b3a762f --- /dev/null +++ b/cpp/docs/html/_entity_state_pdu_8h_source.html @@ -0,0 +1,170 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityStatePdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_entity_state_update_pdu_8cpp.html b/cpp/docs/html/_entity_state_update_pdu_8cpp.html new file mode 100644 index 00000000..e750fa76 --- /dev/null +++ b/cpp/docs/html/_entity_state_update_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityStateUpdatePdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityStateUpdatePdu.cpp File Reference

#include <DIS/EntityStateUpdatePdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_entity_state_update_pdu_8h.html b/cpp/docs/html/_entity_state_update_pdu_8h.html new file mode 100644 index 00000000..52d3a293 --- /dev/null +++ b/cpp/docs/html/_entity_state_update_pdu_8h.html @@ -0,0 +1,50 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityStateUpdatePdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityStateUpdatePdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/Vector3Float.h>
+#include <DIS/Vector3Double.h>
+#include <DIS/Orientation.h>
+#include <DIS/ArticulationParameter.h>
+#include <vector>
+#include <DIS/EntityInformationFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::EntityStateUpdatePdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_entity_state_update_pdu_8h_source.html b/cpp/docs/html/_entity_state_update_pdu_8h_source.html new file mode 100644 index 00000000..51e33bb4 --- /dev/null +++ b/cpp/docs/html/_entity_state_update_pdu_8h_source.html @@ -0,0 +1,137 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityStateUpdatePdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_entity_type_8cpp.html b/cpp/docs/html/_entity_type_8cpp.html new file mode 100644 index 00000000..8f5f846f --- /dev/null +++ b/cpp/docs/html/_entity_type_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityType.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityType.cpp File Reference

#include <DIS/EntityType.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_entity_type_8h.html b/cpp/docs/html/_entity_type_8h.html new file mode 100644 index 00000000..12e2d464 --- /dev/null +++ b/cpp/docs/html/_entity_type_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityType.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityType.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::EntityType

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_entity_type_8h_source.html b/cpp/docs/html/_entity_type_8h_source.html new file mode 100644 index 00000000..d3b754cd --- /dev/null +++ b/cpp/docs/html/_entity_type_8h_source.html @@ -0,0 +1,121 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityType.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_environment_8cpp.html b/cpp/docs/html/_environment_8cpp.html new file mode 100644 index 00000000..3630d260 --- /dev/null +++ b/cpp/docs/html/_environment_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Environment.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Environment.cpp File Reference

#include <DIS/Environment.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_environment_8h.html b/cpp/docs/html/_environment_8h.html new file mode 100644 index 00000000..bc4ebe5b --- /dev/null +++ b/cpp/docs/html/_environment_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Environment.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Environment.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::Environment

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_environment_8h_source.html b/cpp/docs/html/_environment_8h_source.html new file mode 100644 index 00000000..cf558ebb --- /dev/null +++ b/cpp/docs/html/_environment_8h_source.html @@ -0,0 +1,116 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Environment.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_environmental_process_pdu_8cpp.html b/cpp/docs/html/_environmental_process_pdu_8cpp.html new file mode 100644 index 00000000..1731d887 --- /dev/null +++ b/cpp/docs/html/_environmental_process_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EnvironmentalProcessPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EnvironmentalProcessPdu.cpp File Reference

#include <DIS/EnvironmentalProcessPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_environmental_process_pdu_8h.html b/cpp/docs/html/_environmental_process_pdu_8h.html new file mode 100644 index 00000000..c96f634d --- /dev/null +++ b/cpp/docs/html/_environmental_process_pdu_8h.html @@ -0,0 +1,48 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EnvironmentalProcessPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EnvironmentalProcessPdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/EntityType.h>
+#include <DIS/Environment.h>
+#include <vector>
+#include <DIS/SyntheticEnvironmentFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::EnvironmentalProcessPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_environmental_process_pdu_8h_source.html b/cpp/docs/html/_environmental_process_pdu_8h_source.html new file mode 100644 index 00000000..f3425d83 --- /dev/null +++ b/cpp/docs/html/_environmental_process_pdu_8h_source.html @@ -0,0 +1,128 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EnvironmentalProcessPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_event_i_d_8cpp.html b/cpp/docs/html/_event_i_d_8cpp.html new file mode 100644 index 00000000..f37afcc8 --- /dev/null +++ b/cpp/docs/html/_event_i_d_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EventID.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EventID.cpp File Reference

#include <DIS/EventID.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_event_i_d_8h.html b/cpp/docs/html/_event_i_d_8h.html new file mode 100644 index 00000000..c6989d52 --- /dev/null +++ b/cpp/docs/html/_event_i_d_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EventID.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EventID.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::EventID

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_event_i_d_8h_source.html b/cpp/docs/html/_event_i_d_8h_source.html new file mode 100644 index 00000000..d71f5ea8 --- /dev/null +++ b/cpp/docs/html/_event_i_d_8h_source.html @@ -0,0 +1,101 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EventID.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_event_report_pdu_8cpp.html b/cpp/docs/html/_event_report_pdu_8cpp.html new file mode 100644 index 00000000..e2860bb8 --- /dev/null +++ b/cpp/docs/html/_event_report_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EventReportPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EventReportPdu.cpp File Reference

#include <DIS/EventReportPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_event_report_pdu_8h.html b/cpp/docs/html/_event_report_pdu_8h.html new file mode 100644 index 00000000..30522c04 --- /dev/null +++ b/cpp/docs/html/_event_report_pdu_8h.html @@ -0,0 +1,47 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EventReportPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EventReportPdu.h File Reference

#include <DIS/FixedDatum.h>
+#include <DIS/VariableDatum.h>
+#include <vector>
+#include <DIS/SimulationManagementFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::EventReportPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_event_report_pdu_8h_source.html b/cpp/docs/html/_event_report_pdu_8h_source.html new file mode 100644 index 00000000..67591dd4 --- /dev/null +++ b/cpp/docs/html/_event_report_pdu_8h_source.html @@ -0,0 +1,120 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EventReportPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_event_report_reliable_pdu_8cpp.html b/cpp/docs/html/_event_report_reliable_pdu_8cpp.html new file mode 100644 index 00000000..531e69bb --- /dev/null +++ b/cpp/docs/html/_event_report_reliable_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EventReportReliablePdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EventReportReliablePdu.cpp File Reference

#include <DIS/EventReportReliablePdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_event_report_reliable_pdu_8h.html b/cpp/docs/html/_event_report_reliable_pdu_8h.html new file mode 100644 index 00000000..97a71e31 --- /dev/null +++ b/cpp/docs/html/_event_report_reliable_pdu_8h.html @@ -0,0 +1,47 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EventReportReliablePdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EventReportReliablePdu.h File Reference

#include <DIS/FixedDatum.h>
+#include <DIS/VariableDatum.h>
+#include <vector>
+#include <DIS/SimulationManagementWithReliabilityFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::EventReportReliablePdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_event_report_reliable_pdu_8h_source.html b/cpp/docs/html/_event_report_reliable_pdu_8h_source.html new file mode 100644 index 00000000..db49e251 --- /dev/null +++ b/cpp/docs/html/_event_report_reliable_pdu_8h_source.html @@ -0,0 +1,120 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EventReportReliablePdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_fast_entity_state_pdu_8cpp.html b/cpp/docs/html/_fast_entity_state_pdu_8cpp.html new file mode 100644 index 00000000..3944e2fe --- /dev/null +++ b/cpp/docs/html/_fast_entity_state_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FastEntityStatePdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FastEntityStatePdu.cpp File Reference

#include <DIS/FastEntityStatePdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_fast_entity_state_pdu_8h.html b/cpp/docs/html/_fast_entity_state_pdu_8h.html new file mode 100644 index 00000000..a17a7df1 --- /dev/null +++ b/cpp/docs/html/_fast_entity_state_pdu_8h.html @@ -0,0 +1,46 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FastEntityStatePdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FastEntityStatePdu.h File Reference

#include <DIS/ArticulationParameter.h>
+#include <vector>
+#include <DIS/EntityInformationFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::FastEntityStatePdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_fast_entity_state_pdu_8h_source.html b/cpp/docs/html/_fast_entity_state_pdu_8h_source.html new file mode 100644 index 00000000..33ee0c39 --- /dev/null +++ b/cpp/docs/html/_fast_entity_state_pdu_8h_source.html @@ -0,0 +1,292 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FastEntityStatePdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_fire_pdu_8cpp.html b/cpp/docs/html/_fire_pdu_8cpp.html new file mode 100644 index 00000000..9844bb05 --- /dev/null +++ b/cpp/docs/html/_fire_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FirePdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FirePdu.cpp File Reference

#include <DIS/FirePdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_fire_pdu_8h.html b/cpp/docs/html/_fire_pdu_8h.html new file mode 100644 index 00000000..0ed2fe66 --- /dev/null +++ b/cpp/docs/html/_fire_pdu_8h.html @@ -0,0 +1,49 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FirePdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FirePdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/EventID.h>
+#include <DIS/Vector3Double.h>
+#include <DIS/BurstDescriptor.h>
+#include <DIS/Vector3Float.h>
+#include <DIS/WarfareFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::FirePdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_fire_pdu_8h_source.html b/cpp/docs/html/_fire_pdu_8h_source.html new file mode 100644 index 00000000..70f507ea --- /dev/null +++ b/cpp/docs/html/_fire_pdu_8h_source.html @@ -0,0 +1,132 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FirePdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_fixed_datum_8cpp.html b/cpp/docs/html/_fixed_datum_8cpp.html new file mode 100644 index 00000000..54194cda --- /dev/null +++ b/cpp/docs/html/_fixed_datum_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FixedDatum.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FixedDatum.cpp File Reference

#include <DIS/FixedDatum.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_fixed_datum_8h.html b/cpp/docs/html/_fixed_datum_8h.html new file mode 100644 index 00000000..55cae2a7 --- /dev/null +++ b/cpp/docs/html/_fixed_datum_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FixedDatum.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FixedDatum.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::FixedDatum

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_fixed_datum_8h_source.html b/cpp/docs/html/_fixed_datum_8h_source.html new file mode 100644 index 00000000..54c11ee5 --- /dev/null +++ b/cpp/docs/html/_fixed_datum_8h_source.html @@ -0,0 +1,96 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FixedDatum.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_four_byte_chunk_8cpp.html b/cpp/docs/html/_four_byte_chunk_8cpp.html new file mode 100644 index 00000000..72b7a903 --- /dev/null +++ b/cpp/docs/html/_four_byte_chunk_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FourByteChunk.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FourByteChunk.cpp File Reference

#include <DIS/FourByteChunk.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_four_byte_chunk_8h.html b/cpp/docs/html/_four_byte_chunk_8h.html new file mode 100644 index 00000000..e2a59378 --- /dev/null +++ b/cpp/docs/html/_four_byte_chunk_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FourByteChunk.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FourByteChunk.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::FourByteChunk

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_four_byte_chunk_8h_source.html b/cpp/docs/html/_four_byte_chunk_8h_source.html new file mode 100644 index 00000000..890f5db0 --- /dev/null +++ b/cpp/docs/html/_four_byte_chunk_8h_source.html @@ -0,0 +1,92 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FourByteChunk.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_fundamental_parameter_data_8cpp.html b/cpp/docs/html/_fundamental_parameter_data_8cpp.html new file mode 100644 index 00000000..9be6dea9 --- /dev/null +++ b/cpp/docs/html/_fundamental_parameter_data_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FundamentalParameterData.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FundamentalParameterData.cpp File Reference

#include <DIS/FundamentalParameterData.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_fundamental_parameter_data_8h.html b/cpp/docs/html/_fundamental_parameter_data_8h.html new file mode 100644 index 00000000..23b56515 --- /dev/null +++ b/cpp/docs/html/_fundamental_parameter_data_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FundamentalParameterData.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FundamentalParameterData.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::FundamentalParameterData

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_fundamental_parameter_data_8h_source.html b/cpp/docs/html/_fundamental_parameter_data_8h_source.html new file mode 100644 index 00000000..1212ad0d --- /dev/null +++ b/cpp/docs/html/_fundamental_parameter_data_8h_source.html @@ -0,0 +1,136 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FundamentalParameterData.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_fundamental_parameter_data_iff_8cpp.html b/cpp/docs/html/_fundamental_parameter_data_iff_8cpp.html new file mode 100644 index 00000000..7307a53d --- /dev/null +++ b/cpp/docs/html/_fundamental_parameter_data_iff_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FundamentalParameterDataIff.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FundamentalParameterDataIff.cpp File Reference

#include <DIS/FundamentalParameterDataIff.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_fundamental_parameter_data_iff_8h.html b/cpp/docs/html/_fundamental_parameter_data_iff_8h.html new file mode 100644 index 00000000..b95fef0e --- /dev/null +++ b/cpp/docs/html/_fundamental_parameter_data_iff_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FundamentalParameterDataIff.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FundamentalParameterDataIff.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::FundamentalParameterDataIff

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_fundamental_parameter_data_iff_8h_source.html b/cpp/docs/html/_fundamental_parameter_data_iff_8h_source.html new file mode 100644 index 00000000..117fef42 --- /dev/null +++ b/cpp/docs/html/_fundamental_parameter_data_iff_8h_source.html @@ -0,0 +1,126 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FundamentalParameterDataIff.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_grid_axis_record_8cpp.html b/cpp/docs/html/_grid_axis_record_8cpp.html new file mode 100644 index 00000000..a7395095 --- /dev/null +++ b/cpp/docs/html/_grid_axis_record_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecord.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecord.cpp File Reference

#include <DIS/GridAxisRecord.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_grid_axis_record_8h.html b/cpp/docs/html/_grid_axis_record_8h.html new file mode 100644 index 00000000..4446ccb0 --- /dev/null +++ b/cpp/docs/html/_grid_axis_record_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecord.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecord.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::GridAxisRecord

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_grid_axis_record_8h_source.html b/cpp/docs/html/_grid_axis_record_8h_source.html new file mode 100644 index 00000000..32a31be0 --- /dev/null +++ b/cpp/docs/html/_grid_axis_record_8h_source.html @@ -0,0 +1,96 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecord.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_grid_axis_record_representation0_8cpp.html b/cpp/docs/html/_grid_axis_record_representation0_8cpp.html new file mode 100644 index 00000000..d4dd7dad --- /dev/null +++ b/cpp/docs/html/_grid_axis_record_representation0_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecordRepresentation0.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecordRepresentation0.cpp File Reference

#include <DIS/GridAxisRecordRepresentation0.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_grid_axis_record_representation0_8h.html b/cpp/docs/html/_grid_axis_record_representation0_8h.html new file mode 100644 index 00000000..644b99c9 --- /dev/null +++ b/cpp/docs/html/_grid_axis_record_representation0_8h.html @@ -0,0 +1,46 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecordRepresentation0.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecordRepresentation0.h File Reference

#include <DIS/OneByteChunk.h>
+#include <vector>
+#include <DIS/GridAxisRecord.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::GridAxisRecordRepresentation0

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_grid_axis_record_representation0_8h_source.html b/cpp/docs/html/_grid_axis_record_representation0_8h_source.html new file mode 100644 index 00000000..9fac936f --- /dev/null +++ b/cpp/docs/html/_grid_axis_record_representation0_8h_source.html @@ -0,0 +1,99 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecordRepresentation0.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_grid_axis_record_representation1_8cpp.html b/cpp/docs/html/_grid_axis_record_representation1_8cpp.html new file mode 100644 index 00000000..f9562044 --- /dev/null +++ b/cpp/docs/html/_grid_axis_record_representation1_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecordRepresentation1.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecordRepresentation1.cpp File Reference

#include <DIS/GridAxisRecordRepresentation1.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_grid_axis_record_representation1_8h.html b/cpp/docs/html/_grid_axis_record_representation1_8h.html new file mode 100644 index 00000000..10420351 --- /dev/null +++ b/cpp/docs/html/_grid_axis_record_representation1_8h.html @@ -0,0 +1,46 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecordRepresentation1.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecordRepresentation1.h File Reference

#include <DIS/TwoByteChunk.h>
+#include <vector>
+#include <DIS/GridAxisRecord.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::GridAxisRecordRepresentation1

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_grid_axis_record_representation1_8h_source.html b/cpp/docs/html/_grid_axis_record_representation1_8h_source.html new file mode 100644 index 00000000..06ee64ad --- /dev/null +++ b/cpp/docs/html/_grid_axis_record_representation1_8h_source.html @@ -0,0 +1,109 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecordRepresentation1.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_grid_axis_record_representation2_8cpp.html b/cpp/docs/html/_grid_axis_record_representation2_8cpp.html new file mode 100644 index 00000000..260335c8 --- /dev/null +++ b/cpp/docs/html/_grid_axis_record_representation2_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecordRepresentation2.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecordRepresentation2.cpp File Reference

#include <DIS/GridAxisRecordRepresentation2.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_grid_axis_record_representation2_8h.html b/cpp/docs/html/_grid_axis_record_representation2_8h.html new file mode 100644 index 00000000..5ccad8c4 --- /dev/null +++ b/cpp/docs/html/_grid_axis_record_representation2_8h.html @@ -0,0 +1,46 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecordRepresentation2.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecordRepresentation2.h File Reference

#include <DIS/FourByteChunk.h>
+#include <vector>
+#include <DIS/GridAxisRecord.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::GridAxisRecordRepresentation2

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_grid_axis_record_representation2_8h_source.html b/cpp/docs/html/_grid_axis_record_representation2_8h_source.html new file mode 100644 index 00000000..5846c869 --- /dev/null +++ b/cpp/docs/html/_grid_axis_record_representation2_8h_source.html @@ -0,0 +1,99 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecordRepresentation2.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_gridded_data_pdu_8cpp.html b/cpp/docs/html/_gridded_data_pdu_8cpp.html new file mode 100644 index 00000000..e6a57404 --- /dev/null +++ b/cpp/docs/html/_gridded_data_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GriddedDataPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GriddedDataPdu.cpp File Reference

#include <DIS/GriddedDataPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_gridded_data_pdu_8h.html b/cpp/docs/html/_gridded_data_pdu_8h.html new file mode 100644 index 00000000..41b1d555 --- /dev/null +++ b/cpp/docs/html/_gridded_data_pdu_8h.html @@ -0,0 +1,49 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GriddedDataPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GriddedDataPdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/EntityType.h>
+#include <DIS/Orientation.h>
+#include <DIS/GridAxisRecord.h>
+#include <vector>
+#include <DIS/SyntheticEnvironmentFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::GriddedDataPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_gridded_data_pdu_8h_source.html b/cpp/docs/html/_gridded_data_pdu_8h_source.html new file mode 100644 index 00000000..3fab74a2 --- /dev/null +++ b/cpp/docs/html/_gridded_data_pdu_8h_source.html @@ -0,0 +1,170 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GriddedDataPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_iff_atc_nav_aids_layer1_pdu_8cpp.html b/cpp/docs/html/_iff_atc_nav_aids_layer1_pdu_8cpp.html new file mode 100644 index 00000000..1533039e --- /dev/null +++ b/cpp/docs/html/_iff_atc_nav_aids_layer1_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IffAtcNavAidsLayer1Pdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IffAtcNavAidsLayer1Pdu.cpp File Reference

#include <DIS/IffAtcNavAidsLayer1Pdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_iff_atc_nav_aids_layer1_pdu_8h.html b/cpp/docs/html/_iff_atc_nav_aids_layer1_pdu_8h.html new file mode 100644 index 00000000..1ef7a2ca --- /dev/null +++ b/cpp/docs/html/_iff_atc_nav_aids_layer1_pdu_8h.html @@ -0,0 +1,49 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IffAtcNavAidsLayer1Pdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IffAtcNavAidsLayer1Pdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/EventID.h>
+#include <DIS/Vector3Float.h>
+#include <DIS/SystemID.h>
+#include <DIS/IffFundamentalData.h>
+#include <DIS/DistributedEmissionsFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::IffAtcNavAidsLayer1Pdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_iff_atc_nav_aids_layer1_pdu_8h_source.html b/cpp/docs/html/_iff_atc_nav_aids_layer1_pdu_8h_source.html new file mode 100644 index 00000000..f5e7fc3e --- /dev/null +++ b/cpp/docs/html/_iff_atc_nav_aids_layer1_pdu_8h_source.html @@ -0,0 +1,127 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IffAtcNavAidsLayer1Pdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_iff_atc_nav_aids_layer2_pdu_8cpp.html b/cpp/docs/html/_iff_atc_nav_aids_layer2_pdu_8cpp.html new file mode 100644 index 00000000..19e07465 --- /dev/null +++ b/cpp/docs/html/_iff_atc_nav_aids_layer2_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IffAtcNavAidsLayer2Pdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IffAtcNavAidsLayer2Pdu.cpp File Reference

#include <DIS/IffAtcNavAidsLayer2Pdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_iff_atc_nav_aids_layer2_pdu_8h.html b/cpp/docs/html/_iff_atc_nav_aids_layer2_pdu_8h.html new file mode 100644 index 00000000..74cf5a8d --- /dev/null +++ b/cpp/docs/html/_iff_atc_nav_aids_layer2_pdu_8h.html @@ -0,0 +1,48 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IffAtcNavAidsLayer2Pdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IffAtcNavAidsLayer2Pdu.h File Reference

#include <DIS/LayerHeader.h>
+#include <DIS/BeamData.h>
+#include <DIS/FundamentalParameterDataIff.h>
+#include <vector>
+#include <DIS/IffAtcNavAidsLayer1Pdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::IffAtcNavAidsLayer2Pdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_iff_atc_nav_aids_layer2_pdu_8h_source.html b/cpp/docs/html/_iff_atc_nav_aids_layer2_pdu_8h_source.html new file mode 100644 index 00000000..e9c0a968 --- /dev/null +++ b/cpp/docs/html/_iff_atc_nav_aids_layer2_pdu_8h_source.html @@ -0,0 +1,116 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IffAtcNavAidsLayer2Pdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_iff_fundamental_data_8cpp.html b/cpp/docs/html/_iff_fundamental_data_8cpp.html new file mode 100644 index 00000000..8ecec5a5 --- /dev/null +++ b/cpp/docs/html/_iff_fundamental_data_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IffFundamentalData.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IffFundamentalData.cpp File Reference

#include <DIS/IffFundamentalData.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_iff_fundamental_data_8h.html b/cpp/docs/html/_iff_fundamental_data_8h.html new file mode 100644 index 00000000..5c7e386f --- /dev/null +++ b/cpp/docs/html/_iff_fundamental_data_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IffFundamentalData.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IffFundamentalData.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::IffFundamentalData

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_iff_fundamental_data_8h_source.html b/cpp/docs/html/_iff_fundamental_data_8h_source.html new file mode 100644 index 00000000..22d79f99 --- /dev/null +++ b/cpp/docs/html/_iff_fundamental_data_8h_source.html @@ -0,0 +1,136 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IffFundamentalData.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_intercom_communications_parameters_8cpp.html b/cpp/docs/html/_intercom_communications_parameters_8cpp.html new file mode 100644 index 00000000..f46249a6 --- /dev/null +++ b/cpp/docs/html/_intercom_communications_parameters_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IntercomCommunicationsParameters.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IntercomCommunicationsParameters.cpp File Reference

#include <DIS/IntercomCommunicationsParameters.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_intercom_communications_parameters_8h.html b/cpp/docs/html/_intercom_communications_parameters_8h.html new file mode 100644 index 00000000..55d22ed7 --- /dev/null +++ b/cpp/docs/html/_intercom_communications_parameters_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IntercomCommunicationsParameters.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IntercomCommunicationsParameters.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::IntercomCommunicationsParameters

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_intercom_communications_parameters_8h_source.html b/cpp/docs/html/_intercom_communications_parameters_8h_source.html new file mode 100644 index 00000000..8c981daa --- /dev/null +++ b/cpp/docs/html/_intercom_communications_parameters_8h_source.html @@ -0,0 +1,101 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IntercomCommunicationsParameters.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_intercom_control_pdu_8cpp.html b/cpp/docs/html/_intercom_control_pdu_8cpp.html new file mode 100644 index 00000000..8bcab65f --- /dev/null +++ b/cpp/docs/html/_intercom_control_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IntercomControlPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IntercomControlPdu.cpp File Reference

#include <DIS/IntercomControlPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_intercom_control_pdu_8h.html b/cpp/docs/html/_intercom_control_pdu_8h.html new file mode 100644 index 00000000..6bfd900b --- /dev/null +++ b/cpp/docs/html/_intercom_control_pdu_8h.html @@ -0,0 +1,47 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IntercomControlPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IntercomControlPdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/IntercomCommunicationsParameters.h>
+#include <vector>
+#include <DIS/RadioCommunicationsFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::IntercomControlPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_intercom_control_pdu_8h_source.html b/cpp/docs/html/_intercom_control_pdu_8h_source.html new file mode 100644 index 00000000..4b5addcc --- /dev/null +++ b/cpp/docs/html/_intercom_control_pdu_8h_source.html @@ -0,0 +1,153 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IntercomControlPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_intercom_signal_pdu_8cpp.html b/cpp/docs/html/_intercom_signal_pdu_8cpp.html new file mode 100644 index 00000000..7ed13bb7 --- /dev/null +++ b/cpp/docs/html/_intercom_signal_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IntercomSignalPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IntercomSignalPdu.cpp File Reference

#include <DIS/IntercomSignalPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_intercom_signal_pdu_8h.html b/cpp/docs/html/_intercom_signal_pdu_8h.html new file mode 100644 index 00000000..4f63be24 --- /dev/null +++ b/cpp/docs/html/_intercom_signal_pdu_8h.html @@ -0,0 +1,47 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IntercomSignalPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IntercomSignalPdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/OneByteChunk.h>
+#include <vector>
+#include <DIS/RadioCommunicationsFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::IntercomSignalPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_intercom_signal_pdu_8h_source.html b/cpp/docs/html/_intercom_signal_pdu_8h_source.html new file mode 100644 index 00000000..88bf37fa --- /dev/null +++ b/cpp/docs/html/_intercom_signal_pdu_8h_source.html @@ -0,0 +1,131 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IntercomSignalPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_is_group_of_pdu_8cpp.html b/cpp/docs/html/_is_group_of_pdu_8cpp.html new file mode 100644 index 00000000..2fb66dd7 --- /dev/null +++ b/cpp/docs/html/_is_group_of_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IsGroupOfPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IsGroupOfPdu.cpp File Reference

#include <DIS/IsGroupOfPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_is_group_of_pdu_8h.html b/cpp/docs/html/_is_group_of_pdu_8h.html new file mode 100644 index 00000000..27440393 --- /dev/null +++ b/cpp/docs/html/_is_group_of_pdu_8h.html @@ -0,0 +1,47 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IsGroupOfPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IsGroupOfPdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/VariableDatum.h>
+#include <vector>
+#include <DIS/EntityManagementFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::IsGroupOfPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_is_group_of_pdu_8h_source.html b/cpp/docs/html/_is_group_of_pdu_8h_source.html new file mode 100644 index 00000000..fc151ef8 --- /dev/null +++ b/cpp/docs/html/_is_group_of_pdu_8h_source.html @@ -0,0 +1,126 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IsGroupOfPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_is_part_of_pdu_8cpp.html b/cpp/docs/html/_is_part_of_pdu_8cpp.html new file mode 100644 index 00000000..8ea494d4 --- /dev/null +++ b/cpp/docs/html/_is_part_of_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IsPartOfPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IsPartOfPdu.cpp File Reference

#include <DIS/IsPartOfPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_is_part_of_pdu_8h.html b/cpp/docs/html/_is_part_of_pdu_8h.html new file mode 100644 index 00000000..93f605b9 --- /dev/null +++ b/cpp/docs/html/_is_part_of_pdu_8h.html @@ -0,0 +1,49 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IsPartOfPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IsPartOfPdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/Relationship.h>
+#include <DIS/Vector3Float.h>
+#include <DIS/NamedLocation.h>
+#include <DIS/EntityType.h>
+#include <DIS/EntityManagementFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::IsPartOfPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_is_part_of_pdu_8h_source.html b/cpp/docs/html/_is_part_of_pdu_8h_source.html new file mode 100644 index 00000000..1a5df88b --- /dev/null +++ b/cpp/docs/html/_is_part_of_pdu_8h_source.html @@ -0,0 +1,129 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IsPartOfPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_layer_header_8cpp.html b/cpp/docs/html/_layer_header_8cpp.html new file mode 100644 index 00000000..b352d3e4 --- /dev/null +++ b/cpp/docs/html/_layer_header_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LayerHeader.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LayerHeader.cpp File Reference

#include <DIS/LayerHeader.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_layer_header_8h.html b/cpp/docs/html/_layer_header_8h.html new file mode 100644 index 00000000..5433c606 --- /dev/null +++ b/cpp/docs/html/_layer_header_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LayerHeader.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LayerHeader.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::LayerHeader

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_layer_header_8h_source.html b/cpp/docs/html/_layer_header_8h_source.html new file mode 100644 index 00000000..f4358928 --- /dev/null +++ b/cpp/docs/html/_layer_header_8h_source.html @@ -0,0 +1,101 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LayerHeader.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_linear_object_state_pdu_8cpp.html b/cpp/docs/html/_linear_object_state_pdu_8cpp.html new file mode 100644 index 00000000..dfedcaea --- /dev/null +++ b/cpp/docs/html/_linear_object_state_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LinearObjectStatePdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LinearObjectStatePdu.cpp File Reference

#include <DIS/LinearObjectStatePdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_linear_object_state_pdu_8h.html b/cpp/docs/html/_linear_object_state_pdu_8h.html new file mode 100644 index 00000000..4fe70669 --- /dev/null +++ b/cpp/docs/html/_linear_object_state_pdu_8h.html @@ -0,0 +1,49 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LinearObjectStatePdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LinearObjectStatePdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/SimulationAddress.h>
+#include <DIS/ObjectType.h>
+#include <DIS/LinearSegmentParameter.h>
+#include <vector>
+#include <DIS/SyntheticEnvironmentFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::LinearObjectStatePdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_linear_object_state_pdu_8h_source.html b/cpp/docs/html/_linear_object_state_pdu_8h_source.html new file mode 100644 index 00000000..b59c9f9f --- /dev/null +++ b/cpp/docs/html/_linear_object_state_pdu_8h_source.html @@ -0,0 +1,144 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LinearObjectStatePdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_linear_segment_parameter_8cpp.html b/cpp/docs/html/_linear_segment_parameter_8cpp.html new file mode 100644 index 00000000..90f01025 --- /dev/null +++ b/cpp/docs/html/_linear_segment_parameter_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LinearSegmentParameter.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LinearSegmentParameter.cpp File Reference

#include <DIS/LinearSegmentParameter.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_linear_segment_parameter_8h.html b/cpp/docs/html/_linear_segment_parameter_8h.html new file mode 100644 index 00000000..1d9432fb --- /dev/null +++ b/cpp/docs/html/_linear_segment_parameter_8h.html @@ -0,0 +1,46 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LinearSegmentParameter.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LinearSegmentParameter.h File Reference

#include <DIS/SixByteChunk.h>
+#include <DIS/Vector3Double.h>
+#include <DIS/Orientation.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::LinearSegmentParameter

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_linear_segment_parameter_8h_source.html b/cpp/docs/html/_linear_segment_parameter_8h_source.html new file mode 100644 index 00000000..d210d5ce --- /dev/null +++ b/cpp/docs/html/_linear_segment_parameter_8h_source.html @@ -0,0 +1,137 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LinearSegmentParameter.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_logistics_family_pdu_8cpp.html b/cpp/docs/html/_logistics_family_pdu_8cpp.html new file mode 100644 index 00000000..c8db5e57 --- /dev/null +++ b/cpp/docs/html/_logistics_family_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LogisticsFamilyPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LogisticsFamilyPdu.cpp File Reference

#include <DIS/LogisticsFamilyPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_logistics_family_pdu_8h.html b/cpp/docs/html/_logistics_family_pdu_8h.html new file mode 100644 index 00000000..9f273202 --- /dev/null +++ b/cpp/docs/html/_logistics_family_pdu_8h.html @@ -0,0 +1,44 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LogisticsFamilyPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LogisticsFamilyPdu.h File Reference

#include <DIS/Pdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::LogisticsFamilyPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_logistics_family_pdu_8h_source.html b/cpp/docs/html/_logistics_family_pdu_8h_source.html new file mode 100644 index 00000000..01f31bef --- /dev/null +++ b/cpp/docs/html/_logistics_family_pdu_8h_source.html @@ -0,0 +1,87 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LogisticsFamilyPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_logistics_pdu_8cpp.html b/cpp/docs/html/_logistics_pdu_8cpp.html new file mode 100644 index 00000000..d4cbd8ba --- /dev/null +++ b/cpp/docs/html/_logistics_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LogisticsPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LogisticsPdu.cpp File Reference

#include <DIS/LogisticsPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_logistics_pdu_8h.html b/cpp/docs/html/_logistics_pdu_8h.html new file mode 100644 index 00000000..b0a91195 --- /dev/null +++ b/cpp/docs/html/_logistics_pdu_8h.html @@ -0,0 +1,44 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LogisticsPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LogisticsPdu.h File Reference

#include <DIS/Pdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::LogisticsPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_logistics_pdu_8h_source.html b/cpp/docs/html/_logistics_pdu_8h_source.html new file mode 100644 index 00000000..7afabcd1 --- /dev/null +++ b/cpp/docs/html/_logistics_pdu_8h_source.html @@ -0,0 +1,65 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LogisticsPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_marking_8cpp.html b/cpp/docs/html/_marking_8cpp.html new file mode 100644 index 00000000..59165a2f --- /dev/null +++ b/cpp/docs/html/_marking_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Marking.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Marking.cpp File Reference

#include <DIS/Marking.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_marking_8h.html b/cpp/docs/html/_marking_8h.html new file mode 100644 index 00000000..45ffa181 --- /dev/null +++ b/cpp/docs/html/_marking_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Marking.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Marking.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::Marking

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_marking_8h_source.html b/cpp/docs/html/_marking_8h_source.html new file mode 100644 index 00000000..0e7a8f55 --- /dev/null +++ b/cpp/docs/html/_marking_8h_source.html @@ -0,0 +1,98 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Marking.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_minefield_data_pdu_8cpp.html b/cpp/docs/html/_minefield_data_pdu_8cpp.html new file mode 100644 index 00000000..c38bcae6 --- /dev/null +++ b/cpp/docs/html/_minefield_data_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldDataPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldDataPdu.cpp File Reference

#include <DIS/MinefieldDataPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_minefield_data_pdu_8h.html b/cpp/docs/html/_minefield_data_pdu_8h.html new file mode 100644 index 00000000..e025d834 --- /dev/null +++ b/cpp/docs/html/_minefield_data_pdu_8h.html @@ -0,0 +1,49 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldDataPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldDataPdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/EntityType.h>
+#include <DIS/TwoByteChunk.h>
+#include <DIS/Vector3Float.h>
+#include <vector>
+#include <DIS/MinefieldFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::MinefieldDataPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_minefield_data_pdu_8h_source.html b/cpp/docs/html/_minefield_data_pdu_8h_source.html new file mode 100644 index 00000000..1a8df20e --- /dev/null +++ b/cpp/docs/html/_minefield_data_pdu_8h_source.html @@ -0,0 +1,166 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldDataPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_minefield_family_pdu_8cpp.html b/cpp/docs/html/_minefield_family_pdu_8cpp.html new file mode 100644 index 00000000..46878829 --- /dev/null +++ b/cpp/docs/html/_minefield_family_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldFamilyPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldFamilyPdu.cpp File Reference

#include <DIS/MinefieldFamilyPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_minefield_family_pdu_8h.html b/cpp/docs/html/_minefield_family_pdu_8h.html new file mode 100644 index 00000000..a58736f8 --- /dev/null +++ b/cpp/docs/html/_minefield_family_pdu_8h.html @@ -0,0 +1,44 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldFamilyPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldFamilyPdu.h File Reference

#include <DIS/Pdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::MinefieldFamilyPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_minefield_family_pdu_8h_source.html b/cpp/docs/html/_minefield_family_pdu_8h_source.html new file mode 100644 index 00000000..96b6a3c2 --- /dev/null +++ b/cpp/docs/html/_minefield_family_pdu_8h_source.html @@ -0,0 +1,87 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldFamilyPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_minefield_pdu_family_8cpp.html b/cpp/docs/html/_minefield_pdu_family_8cpp.html new file mode 100644 index 00000000..63e2d3a3 --- /dev/null +++ b/cpp/docs/html/_minefield_pdu_family_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldPduFamily.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldPduFamily.cpp File Reference

#include <DIS/MinefieldPduFamily.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_minefield_pdu_family_8h.html b/cpp/docs/html/_minefield_pdu_family_8h.html new file mode 100644 index 00000000..4588ee64 --- /dev/null +++ b/cpp/docs/html/_minefield_pdu_family_8h.html @@ -0,0 +1,44 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldPduFamily.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldPduFamily.h File Reference

#include <DIS/Pdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::MinefieldPduFamily

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_minefield_pdu_family_8h_source.html b/cpp/docs/html/_minefield_pdu_family_8h_source.html new file mode 100644 index 00000000..a75f973d --- /dev/null +++ b/cpp/docs/html/_minefield_pdu_family_8h_source.html @@ -0,0 +1,65 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldPduFamily.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_minefield_query_pdu_8cpp.html b/cpp/docs/html/_minefield_query_pdu_8cpp.html new file mode 100644 index 00000000..8098d199 --- /dev/null +++ b/cpp/docs/html/_minefield_query_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldQueryPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldQueryPdu.cpp File Reference

#include <DIS/MinefieldQueryPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_minefield_query_pdu_8h.html b/cpp/docs/html/_minefield_query_pdu_8h.html new file mode 100644 index 00000000..25b64a16 --- /dev/null +++ b/cpp/docs/html/_minefield_query_pdu_8h.html @@ -0,0 +1,49 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldQueryPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldQueryPdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/EntityType.h>
+#include <DIS/Point.h>
+#include <DIS/TwoByteChunk.h>
+#include <vector>
+#include <DIS/MinefieldFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::MinefieldQueryPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_minefield_query_pdu_8h_source.html b/cpp/docs/html/_minefield_query_pdu_8h_source.html new file mode 100644 index 00000000..4c1b998c --- /dev/null +++ b/cpp/docs/html/_minefield_query_pdu_8h_source.html @@ -0,0 +1,146 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldQueryPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_minefield_response_nack_pdu_8cpp.html b/cpp/docs/html/_minefield_response_nack_pdu_8cpp.html new file mode 100644 index 00000000..9d3504ce --- /dev/null +++ b/cpp/docs/html/_minefield_response_nack_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldResponseNackPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldResponseNackPdu.cpp File Reference

#include <DIS/MinefieldResponseNackPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_minefield_response_nack_pdu_8h.html b/cpp/docs/html/_minefield_response_nack_pdu_8h.html new file mode 100644 index 00000000..9add70e2 --- /dev/null +++ b/cpp/docs/html/_minefield_response_nack_pdu_8h.html @@ -0,0 +1,47 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldResponseNackPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldResponseNackPdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/EightByteChunk.h>
+#include <vector>
+#include <DIS/MinefieldFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::MinefieldResponseNackPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_minefield_response_nack_pdu_8h_source.html b/cpp/docs/html/_minefield_response_nack_pdu_8h_source.html new file mode 100644 index 00000000..170faef7 --- /dev/null +++ b/cpp/docs/html/_minefield_response_nack_pdu_8h_source.html @@ -0,0 +1,118 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldResponseNackPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_minefield_state_pdu_8cpp.html b/cpp/docs/html/_minefield_state_pdu_8cpp.html new file mode 100644 index 00000000..5edbf108 --- /dev/null +++ b/cpp/docs/html/_minefield_state_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldStatePdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldStatePdu.cpp File Reference

#include <DIS/MinefieldStatePdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_minefield_state_pdu_8h.html b/cpp/docs/html/_minefield_state_pdu_8h.html new file mode 100644 index 00000000..d0cd56cf --- /dev/null +++ b/cpp/docs/html/_minefield_state_pdu_8h.html @@ -0,0 +1,50 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldStatePdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldStatePdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/EntityType.h>
+#include <DIS/Vector3Double.h>
+#include <DIS/Orientation.h>
+#include <DIS/Point.h>
+#include <vector>
+#include <DIS/MinefieldFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::MinefieldStatePdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_minefield_state_pdu_8h_source.html b/cpp/docs/html/_minefield_state_pdu_8h_source.html new file mode 100644 index 00000000..2df60d61 --- /dev/null +++ b/cpp/docs/html/_minefield_state_pdu_8h_source.html @@ -0,0 +1,158 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldStatePdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_modulation_type_8cpp.html b/cpp/docs/html/_modulation_type_8cpp.html new file mode 100644 index 00000000..efc632ba --- /dev/null +++ b/cpp/docs/html/_modulation_type_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ModulationType.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ModulationType.cpp File Reference

#include <DIS/ModulationType.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_modulation_type_8h.html b/cpp/docs/html/_modulation_type_8h.html new file mode 100644 index 00000000..02f07271 --- /dev/null +++ b/cpp/docs/html/_modulation_type_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ModulationType.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ModulationType.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::ModulationType

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_modulation_type_8h_source.html b/cpp/docs/html/_modulation_type_8h_source.html new file mode 100644 index 00000000..02c86716 --- /dev/null +++ b/cpp/docs/html/_modulation_type_8h_source.html @@ -0,0 +1,106 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ModulationType.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_named_location_8cpp.html b/cpp/docs/html/_named_location_8cpp.html new file mode 100644 index 00000000..4af65fc9 --- /dev/null +++ b/cpp/docs/html/_named_location_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/NamedLocation.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/NamedLocation.cpp File Reference

#include <DIS/NamedLocation.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_named_location_8h.html b/cpp/docs/html/_named_location_8h.html new file mode 100644 index 00000000..f8bc2575 --- /dev/null +++ b/cpp/docs/html/_named_location_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/NamedLocation.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/NamedLocation.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::NamedLocation

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_named_location_8h_source.html b/cpp/docs/html/_named_location_8h_source.html new file mode 100644 index 00000000..d4ef969f --- /dev/null +++ b/cpp/docs/html/_named_location_8h_source.html @@ -0,0 +1,96 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/NamedLocation.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_object_type_8cpp.html b/cpp/docs/html/_object_type_8cpp.html new file mode 100644 index 00000000..4ae64176 --- /dev/null +++ b/cpp/docs/html/_object_type_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ObjectType.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ObjectType.cpp File Reference

#include <DIS/ObjectType.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_object_type_8h.html b/cpp/docs/html/_object_type_8h.html new file mode 100644 index 00000000..82118581 --- /dev/null +++ b/cpp/docs/html/_object_type_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ObjectType.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ObjectType.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::ObjectType

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_object_type_8h_source.html b/cpp/docs/html/_object_type_8h_source.html new file mode 100644 index 00000000..8a6da85f --- /dev/null +++ b/cpp/docs/html/_object_type_8h_source.html @@ -0,0 +1,111 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ObjectType.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_one_byte_chunk_8cpp.html b/cpp/docs/html/_one_byte_chunk_8cpp.html new file mode 100644 index 00000000..a1242c2e --- /dev/null +++ b/cpp/docs/html/_one_byte_chunk_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/OneByteChunk.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/OneByteChunk.cpp File Reference

#include <DIS/OneByteChunk.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_one_byte_chunk_8h.html b/cpp/docs/html/_one_byte_chunk_8h.html new file mode 100644 index 00000000..fd1fa3f3 --- /dev/null +++ b/cpp/docs/html/_one_byte_chunk_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/OneByteChunk.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/OneByteChunk.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::OneByteChunk

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_one_byte_chunk_8h_source.html b/cpp/docs/html/_one_byte_chunk_8h_source.html new file mode 100644 index 00000000..b7e1e3a7 --- /dev/null +++ b/cpp/docs/html/_one_byte_chunk_8h_source.html @@ -0,0 +1,92 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/OneByteChunk.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_orientation_8cpp.html b/cpp/docs/html/_orientation_8cpp.html new file mode 100644 index 00000000..4ab508bf --- /dev/null +++ b/cpp/docs/html/_orientation_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Orientation.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Orientation.cpp File Reference

#include <DIS/Orientation.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_orientation_8h.html b/cpp/docs/html/_orientation_8h.html new file mode 100644 index 00000000..32cf23f8 --- /dev/null +++ b/cpp/docs/html/_orientation_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Orientation.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Orientation.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::Orientation

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_orientation_8h_source.html b/cpp/docs/html/_orientation_8h_source.html new file mode 100644 index 00000000..6e29e011 --- /dev/null +++ b/cpp/docs/html/_orientation_8h_source.html @@ -0,0 +1,101 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Orientation.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_pdu_8cpp.html b/cpp/docs/html/_pdu_8cpp.html new file mode 100644 index 00000000..93dc8e1e --- /dev/null +++ b/cpp/docs/html/_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Pdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Pdu.cpp File Reference

#include <DIS/Pdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_pdu_8h.html b/cpp/docs/html/_pdu_8h.html new file mode 100644 index 00000000..3440f0f9 --- /dev/null +++ b/cpp/docs/html/_pdu_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Pdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Pdu.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::Pdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_pdu_8h_source.html b/cpp/docs/html/_pdu_8h_source.html new file mode 100644 index 00000000..a5cf0de2 --- /dev/null +++ b/cpp/docs/html/_pdu_8h_source.html @@ -0,0 +1,121 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Pdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_pdu_container_8cpp.html b/cpp/docs/html/_pdu_container_8cpp.html new file mode 100644 index 00000000..06aab105 --- /dev/null +++ b/cpp/docs/html/_pdu_container_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/PduContainer.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/PduContainer.cpp File Reference

#include <DIS/PduContainer.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_pdu_container_8h.html b/cpp/docs/html/_pdu_container_8h.html new file mode 100644 index 00000000..77a29a1d --- /dev/null +++ b/cpp/docs/html/_pdu_container_8h.html @@ -0,0 +1,45 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/PduContainer.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/PduContainer.h File Reference

#include <DIS/Pdu.h>
+#include <vector>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::PduContainer

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_pdu_container_8h_source.html b/cpp/docs/html/_pdu_container_8h_source.html new file mode 100644 index 00000000..6a72959b --- /dev/null +++ b/cpp/docs/html/_pdu_container_8h_source.html @@ -0,0 +1,98 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/PduContainer.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_point_8cpp.html b/cpp/docs/html/_point_8cpp.html new file mode 100644 index 00000000..78df56c6 --- /dev/null +++ b/cpp/docs/html/_point_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Point.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Point.cpp File Reference

#include <DIS/Point.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_point_8h.html b/cpp/docs/html/_point_8h.html new file mode 100644 index 00000000..018f5d3f --- /dev/null +++ b/cpp/docs/html/_point_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Point.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Point.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::Point

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_point_8h_source.html b/cpp/docs/html/_point_8h_source.html new file mode 100644 index 00000000..b35a10d3 --- /dev/null +++ b/cpp/docs/html/_point_8h_source.html @@ -0,0 +1,96 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Point.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_point_object_state_pdu_8cpp.html b/cpp/docs/html/_point_object_state_pdu_8cpp.html new file mode 100644 index 00000000..ee45f2a6 --- /dev/null +++ b/cpp/docs/html/_point_object_state_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/PointObjectStatePdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/PointObjectStatePdu.cpp File Reference

#include <DIS/PointObjectStatePdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_point_object_state_pdu_8h.html b/cpp/docs/html/_point_object_state_pdu_8h.html new file mode 100644 index 00000000..cc9b951f --- /dev/null +++ b/cpp/docs/html/_point_object_state_pdu_8h.html @@ -0,0 +1,49 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/PointObjectStatePdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/PointObjectStatePdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/ObjectType.h>
+#include <DIS/Vector3Double.h>
+#include <DIS/Orientation.h>
+#include <DIS/SimulationAddress.h>
+#include <DIS/SyntheticEnvironmentFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::PointObjectStatePdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_point_object_state_pdu_8h_source.html b/cpp/docs/html/_point_object_state_pdu_8h_source.html new file mode 100644 index 00000000..85340c83 --- /dev/null +++ b/cpp/docs/html/_point_object_state_pdu_8h_source.html @@ -0,0 +1,161 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/PointObjectStatePdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_propulsion_system_data_8cpp.html b/cpp/docs/html/_propulsion_system_data_8cpp.html new file mode 100644 index 00000000..3f24de90 --- /dev/null +++ b/cpp/docs/html/_propulsion_system_data_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/PropulsionSystemData.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/PropulsionSystemData.cpp File Reference

#include <DIS/PropulsionSystemData.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_propulsion_system_data_8h.html b/cpp/docs/html/_propulsion_system_data_8h.html new file mode 100644 index 00000000..517be361 --- /dev/null +++ b/cpp/docs/html/_propulsion_system_data_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/PropulsionSystemData.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/PropulsionSystemData.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::PropulsionSystemData

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_propulsion_system_data_8h_source.html b/cpp/docs/html/_propulsion_system_data_8h_source.html new file mode 100644 index 00000000..76e00e8a --- /dev/null +++ b/cpp/docs/html/_propulsion_system_data_8h_source.html @@ -0,0 +1,96 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/PropulsionSystemData.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_radio_communications_family_pdu_8cpp.html b/cpp/docs/html/_radio_communications_family_pdu_8cpp.html new file mode 100644 index 00000000..dee8cb93 --- /dev/null +++ b/cpp/docs/html/_radio_communications_family_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RadioCommunicationsFamilyPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RadioCommunicationsFamilyPdu.cpp File Reference

#include <DIS/RadioCommunicationsFamilyPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_radio_communications_family_pdu_8h.html b/cpp/docs/html/_radio_communications_family_pdu_8h.html new file mode 100644 index 00000000..7621c02a --- /dev/null +++ b/cpp/docs/html/_radio_communications_family_pdu_8h.html @@ -0,0 +1,45 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RadioCommunicationsFamilyPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RadioCommunicationsFamilyPdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/Pdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::RadioCommunicationsFamilyPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_radio_communications_family_pdu_8h_source.html b/cpp/docs/html/_radio_communications_family_pdu_8h_source.html new file mode 100644 index 00000000..c841b584 --- /dev/null +++ b/cpp/docs/html/_radio_communications_family_pdu_8h_source.html @@ -0,0 +1,99 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RadioCommunicationsFamilyPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_radio_entity_type_8cpp.html b/cpp/docs/html/_radio_entity_type_8cpp.html new file mode 100644 index 00000000..3ce4bb0a --- /dev/null +++ b/cpp/docs/html/_radio_entity_type_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RadioEntityType.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RadioEntityType.cpp File Reference

#include <DIS/RadioEntityType.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_radio_entity_type_8h.html b/cpp/docs/html/_radio_entity_type_8h.html new file mode 100644 index 00000000..85b5cb29 --- /dev/null +++ b/cpp/docs/html/_radio_entity_type_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RadioEntityType.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RadioEntityType.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::RadioEntityType

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_radio_entity_type_8h_source.html b/cpp/docs/html/_radio_entity_type_8h_source.html new file mode 100644 index 00000000..72d43046 --- /dev/null +++ b/cpp/docs/html/_radio_entity_type_8h_source.html @@ -0,0 +1,116 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RadioEntityType.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_receiver_pdu_8cpp.html b/cpp/docs/html/_receiver_pdu_8cpp.html new file mode 100644 index 00000000..22244aa8 --- /dev/null +++ b/cpp/docs/html/_receiver_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ReceiverPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ReceiverPdu.cpp File Reference

#include <DIS/ReceiverPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_receiver_pdu_8h.html b/cpp/docs/html/_receiver_pdu_8h.html new file mode 100644 index 00000000..1b7afd9a --- /dev/null +++ b/cpp/docs/html/_receiver_pdu_8h.html @@ -0,0 +1,45 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ReceiverPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ReceiverPdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/RadioCommunicationsFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::ReceiverPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_receiver_pdu_8h_source.html b/cpp/docs/html/_receiver_pdu_8h_source.html new file mode 100644 index 00000000..078dc49a --- /dev/null +++ b/cpp/docs/html/_receiver_pdu_8h_source.html @@ -0,0 +1,114 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ReceiverPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_record_query_reliable_pdu_8cpp.html b/cpp/docs/html/_record_query_reliable_pdu_8cpp.html new file mode 100644 index 00000000..1edad784 --- /dev/null +++ b/cpp/docs/html/_record_query_reliable_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RecordQueryReliablePdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RecordQueryReliablePdu.cpp File Reference

#include <DIS/RecordQueryReliablePdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_record_query_reliable_pdu_8h.html b/cpp/docs/html/_record_query_reliable_pdu_8h.html new file mode 100644 index 00000000..af1839b3 --- /dev/null +++ b/cpp/docs/html/_record_query_reliable_pdu_8h.html @@ -0,0 +1,46 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RecordQueryReliablePdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RecordQueryReliablePdu.h File Reference

#include <DIS/FourByteChunk.h>
+#include <vector>
+#include <DIS/SimulationManagementWithReliabilityFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::RecordQueryReliablePdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_record_query_reliable_pdu_8h_source.html b/cpp/docs/html/_record_query_reliable_pdu_8h_source.html new file mode 100644 index 00000000..84f37f70 --- /dev/null +++ b/cpp/docs/html/_record_query_reliable_pdu_8h_source.html @@ -0,0 +1,129 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RecordQueryReliablePdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_record_set_8cpp.html b/cpp/docs/html/_record_set_8cpp.html new file mode 100644 index 00000000..a603b952 --- /dev/null +++ b/cpp/docs/html/_record_set_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RecordSet.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RecordSet.cpp File Reference

#include <DIS/RecordSet.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_record_set_8h.html b/cpp/docs/html/_record_set_8h.html new file mode 100644 index 00000000..f24f4850 --- /dev/null +++ b/cpp/docs/html/_record_set_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RecordSet.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RecordSet.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::RecordSet

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_record_set_8h_source.html b/cpp/docs/html/_record_set_8h_source.html new file mode 100644 index 00000000..e2654e6b --- /dev/null +++ b/cpp/docs/html/_record_set_8h_source.html @@ -0,0 +1,116 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RecordSet.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_relationship_8cpp.html b/cpp/docs/html/_relationship_8cpp.html new file mode 100644 index 00000000..5fa9b7bb --- /dev/null +++ b/cpp/docs/html/_relationship_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Relationship.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Relationship.cpp File Reference

#include <DIS/Relationship.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_relationship_8h.html b/cpp/docs/html/_relationship_8h.html new file mode 100644 index 00000000..9f08cfd2 --- /dev/null +++ b/cpp/docs/html/_relationship_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Relationship.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Relationship.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::Relationship

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_relationship_8h_source.html b/cpp/docs/html/_relationship_8h_source.html new file mode 100644 index 00000000..d70442b5 --- /dev/null +++ b/cpp/docs/html/_relationship_8h_source.html @@ -0,0 +1,96 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Relationship.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_remove_entity_pdu_8cpp.html b/cpp/docs/html/_remove_entity_pdu_8cpp.html new file mode 100644 index 00000000..a044bc6e --- /dev/null +++ b/cpp/docs/html/_remove_entity_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RemoveEntityPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RemoveEntityPdu.cpp File Reference

#include <DIS/RemoveEntityPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_remove_entity_pdu_8h.html b/cpp/docs/html/_remove_entity_pdu_8h.html new file mode 100644 index 00000000..64ac938a --- /dev/null +++ b/cpp/docs/html/_remove_entity_pdu_8h.html @@ -0,0 +1,44 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RemoveEntityPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RemoveEntityPdu.h File Reference

#include <DIS/SimulationManagementFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::RemoveEntityPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_remove_entity_pdu_8h_source.html b/cpp/docs/html/_remove_entity_pdu_8h_source.html new file mode 100644 index 00000000..f286f55b --- /dev/null +++ b/cpp/docs/html/_remove_entity_pdu_8h_source.html @@ -0,0 +1,92 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RemoveEntityPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_remove_entity_reliable_pdu_8cpp.html b/cpp/docs/html/_remove_entity_reliable_pdu_8cpp.html new file mode 100644 index 00000000..1fc62d6e --- /dev/null +++ b/cpp/docs/html/_remove_entity_reliable_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RemoveEntityReliablePdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RemoveEntityReliablePdu.cpp File Reference

#include <DIS/RemoveEntityReliablePdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_remove_entity_reliable_pdu_8h.html b/cpp/docs/html/_remove_entity_reliable_pdu_8h.html new file mode 100644 index 00000000..57404b5a --- /dev/null +++ b/cpp/docs/html/_remove_entity_reliable_pdu_8h.html @@ -0,0 +1,44 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RemoveEntityReliablePdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RemoveEntityReliablePdu.h File Reference

#include <DIS/SimulationManagementWithReliabilityFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::RemoveEntityReliablePdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_remove_entity_reliable_pdu_8h_source.html b/cpp/docs/html/_remove_entity_reliable_pdu_8h_source.html new file mode 100644 index 00000000..f2df320f --- /dev/null +++ b/cpp/docs/html/_remove_entity_reliable_pdu_8h_source.html @@ -0,0 +1,107 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RemoveEntityReliablePdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_repair_complete_pdu_8cpp.html b/cpp/docs/html/_repair_complete_pdu_8cpp.html new file mode 100644 index 00000000..1b80aa96 --- /dev/null +++ b/cpp/docs/html/_repair_complete_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RepairCompletePdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RepairCompletePdu.cpp File Reference

#include <DIS/RepairCompletePdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_repair_complete_pdu_8h.html b/cpp/docs/html/_repair_complete_pdu_8h.html new file mode 100644 index 00000000..913ac1d2 --- /dev/null +++ b/cpp/docs/html/_repair_complete_pdu_8h.html @@ -0,0 +1,45 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RepairCompletePdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RepairCompletePdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/LogisticsFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::RepairCompletePdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_repair_complete_pdu_8h_source.html b/cpp/docs/html/_repair_complete_pdu_8h_source.html new file mode 100644 index 00000000..14644e07 --- /dev/null +++ b/cpp/docs/html/_repair_complete_pdu_8h_source.html @@ -0,0 +1,111 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RepairCompletePdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_repair_response_pdu_8cpp.html b/cpp/docs/html/_repair_response_pdu_8cpp.html new file mode 100644 index 00000000..d790c303 --- /dev/null +++ b/cpp/docs/html/_repair_response_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RepairResponsePdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RepairResponsePdu.cpp File Reference

#include <DIS/RepairResponsePdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_repair_response_pdu_8h.html b/cpp/docs/html/_repair_response_pdu_8h.html new file mode 100644 index 00000000..e5839961 --- /dev/null +++ b/cpp/docs/html/_repair_response_pdu_8h.html @@ -0,0 +1,45 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RepairResponsePdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RepairResponsePdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/LogisticsFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::RepairResponsePdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_repair_response_pdu_8h_source.html b/cpp/docs/html/_repair_response_pdu_8h_source.html new file mode 100644 index 00000000..93045c97 --- /dev/null +++ b/cpp/docs/html/_repair_response_pdu_8h_source.html @@ -0,0 +1,116 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RepairResponsePdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_resupply_cancel_pdu_8cpp.html b/cpp/docs/html/_resupply_cancel_pdu_8cpp.html new file mode 100644 index 00000000..6a211a9b --- /dev/null +++ b/cpp/docs/html/_resupply_cancel_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ResupplyCancelPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ResupplyCancelPdu.cpp File Reference

#include <DIS/ResupplyCancelPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_resupply_cancel_pdu_8h.html b/cpp/docs/html/_resupply_cancel_pdu_8h.html new file mode 100644 index 00000000..a4a12312 --- /dev/null +++ b/cpp/docs/html/_resupply_cancel_pdu_8h.html @@ -0,0 +1,45 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ResupplyCancelPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ResupplyCancelPdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/LogisticsFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::ResupplyCancelPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_resupply_cancel_pdu_8h_source.html b/cpp/docs/html/_resupply_cancel_pdu_8h_source.html new file mode 100644 index 00000000..91b08eca --- /dev/null +++ b/cpp/docs/html/_resupply_cancel_pdu_8h_source.html @@ -0,0 +1,101 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ResupplyCancelPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_resupply_offer_pdu_8cpp.html b/cpp/docs/html/_resupply_offer_pdu_8cpp.html new file mode 100644 index 00000000..43b7ebad --- /dev/null +++ b/cpp/docs/html/_resupply_offer_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ResupplyOfferPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ResupplyOfferPdu.cpp File Reference

#include <DIS/ResupplyOfferPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_resupply_offer_pdu_8h.html b/cpp/docs/html/_resupply_offer_pdu_8h.html new file mode 100644 index 00000000..6f2fbc23 --- /dev/null +++ b/cpp/docs/html/_resupply_offer_pdu_8h.html @@ -0,0 +1,47 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ResupplyOfferPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ResupplyOfferPdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/SupplyQuantity.h>
+#include <vector>
+#include <DIS/LogisticsFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::ResupplyOfferPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_resupply_offer_pdu_8h_source.html b/cpp/docs/html/_resupply_offer_pdu_8h_source.html new file mode 100644 index 00000000..3e8f737c --- /dev/null +++ b/cpp/docs/html/_resupply_offer_pdu_8h_source.html @@ -0,0 +1,123 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ResupplyOfferPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_resupply_received_pdu_8cpp.html b/cpp/docs/html/_resupply_received_pdu_8cpp.html new file mode 100644 index 00000000..8f15b396 --- /dev/null +++ b/cpp/docs/html/_resupply_received_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ResupplyReceivedPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ResupplyReceivedPdu.cpp File Reference

#include <DIS/ResupplyReceivedPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_resupply_received_pdu_8h.html b/cpp/docs/html/_resupply_received_pdu_8h.html new file mode 100644 index 00000000..2cf398b1 --- /dev/null +++ b/cpp/docs/html/_resupply_received_pdu_8h.html @@ -0,0 +1,47 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ResupplyReceivedPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ResupplyReceivedPdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/SupplyQuantity.h>
+#include <vector>
+#include <DIS/LogisticsFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::ResupplyReceivedPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_resupply_received_pdu_8h_source.html b/cpp/docs/html/_resupply_received_pdu_8h_source.html new file mode 100644 index 00000000..adb2661a --- /dev/null +++ b/cpp/docs/html/_resupply_received_pdu_8h_source.html @@ -0,0 +1,123 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ResupplyReceivedPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_sees_pdu_8cpp.html b/cpp/docs/html/_sees_pdu_8cpp.html new file mode 100644 index 00000000..35239d48 --- /dev/null +++ b/cpp/docs/html/_sees_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SeesPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SeesPdu.cpp File Reference

#include <DIS/SeesPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_sees_pdu_8h.html b/cpp/docs/html/_sees_pdu_8h.html new file mode 100644 index 00000000..580e2ef3 --- /dev/null +++ b/cpp/docs/html/_sees_pdu_8h.html @@ -0,0 +1,48 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SeesPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SeesPdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/PropulsionSystemData.h>
+#include <DIS/VectoringNozzleSystemData.h>
+#include <vector>
+#include <DIS/DistributedEmissionsFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::SeesPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_sees_pdu_8h_source.html b/cpp/docs/html/_sees_pdu_8h_source.html new file mode 100644 index 00000000..f5592054 --- /dev/null +++ b/cpp/docs/html/_sees_pdu_8h_source.html @@ -0,0 +1,132 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SeesPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_service_request_pdu_8cpp.html b/cpp/docs/html/_service_request_pdu_8cpp.html new file mode 100644 index 00000000..781dcb33 --- /dev/null +++ b/cpp/docs/html/_service_request_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ServiceRequestPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ServiceRequestPdu.cpp File Reference

#include <DIS/ServiceRequestPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_service_request_pdu_8h.html b/cpp/docs/html/_service_request_pdu_8h.html new file mode 100644 index 00000000..17a3d294 --- /dev/null +++ b/cpp/docs/html/_service_request_pdu_8h.html @@ -0,0 +1,47 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ServiceRequestPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ServiceRequestPdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/SupplyQuantity.h>
+#include <vector>
+#include <DIS/LogisticsFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::ServiceRequestPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_service_request_pdu_8h_source.html b/cpp/docs/html/_service_request_pdu_8h_source.html new file mode 100644 index 00000000..303fcb26 --- /dev/null +++ b/cpp/docs/html/_service_request_pdu_8h_source.html @@ -0,0 +1,123 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ServiceRequestPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_set_data_pdu_8cpp.html b/cpp/docs/html/_set_data_pdu_8cpp.html new file mode 100644 index 00000000..9b7d6df3 --- /dev/null +++ b/cpp/docs/html/_set_data_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SetDataPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SetDataPdu.cpp File Reference

#include <DIS/SetDataPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_set_data_pdu_8h.html b/cpp/docs/html/_set_data_pdu_8h.html new file mode 100644 index 00000000..779f1555 --- /dev/null +++ b/cpp/docs/html/_set_data_pdu_8h.html @@ -0,0 +1,47 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SetDataPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SetDataPdu.h File Reference

#include <DIS/FixedDatum.h>
+#include <DIS/VariableDatum.h>
+#include <vector>
+#include <DIS/SimulationManagementFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::SetDataPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_set_data_pdu_8h_source.html b/cpp/docs/html/_set_data_pdu_8h_source.html new file mode 100644 index 00000000..f057cf8a --- /dev/null +++ b/cpp/docs/html/_set_data_pdu_8h_source.html @@ -0,0 +1,120 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SetDataPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_set_data_reliable_pdu_8cpp.html b/cpp/docs/html/_set_data_reliable_pdu_8cpp.html new file mode 100644 index 00000000..7d16f3ec --- /dev/null +++ b/cpp/docs/html/_set_data_reliable_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SetDataReliablePdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SetDataReliablePdu.cpp File Reference

#include <DIS/SetDataReliablePdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_set_data_reliable_pdu_8h.html b/cpp/docs/html/_set_data_reliable_pdu_8h.html new file mode 100644 index 00000000..4d1e3d99 --- /dev/null +++ b/cpp/docs/html/_set_data_reliable_pdu_8h.html @@ -0,0 +1,47 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SetDataReliablePdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SetDataReliablePdu.h File Reference

#include <DIS/FixedDatum.h>
+#include <DIS/VariableDatum.h>
+#include <vector>
+#include <DIS/SimulationManagementWithReliabilityFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::SetDataReliablePdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_set_data_reliable_pdu_8h_source.html b/cpp/docs/html/_set_data_reliable_pdu_8h_source.html new file mode 100644 index 00000000..c2df0024 --- /dev/null +++ b/cpp/docs/html/_set_data_reliable_pdu_8h_source.html @@ -0,0 +1,130 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SetDataReliablePdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_set_record_reliable_pdu_8cpp.html b/cpp/docs/html/_set_record_reliable_pdu_8cpp.html new file mode 100644 index 00000000..d89968e9 --- /dev/null +++ b/cpp/docs/html/_set_record_reliable_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SetRecordReliablePdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SetRecordReliablePdu.cpp File Reference

#include <DIS/SetRecordReliablePdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_set_record_reliable_pdu_8h.html b/cpp/docs/html/_set_record_reliable_pdu_8h.html new file mode 100644 index 00000000..2e3221a1 --- /dev/null +++ b/cpp/docs/html/_set_record_reliable_pdu_8h.html @@ -0,0 +1,46 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SetRecordReliablePdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SetRecordReliablePdu.h File Reference

#include <DIS/RecordSet.h>
+#include <vector>
+#include <DIS/SimulationManagementWithReliabilityFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::SetRecordReliablePdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_set_record_reliable_pdu_8h_source.html b/cpp/docs/html/_set_record_reliable_pdu_8h_source.html new file mode 100644 index 00000000..d44cf000 --- /dev/null +++ b/cpp/docs/html/_set_record_reliable_pdu_8h_source.html @@ -0,0 +1,119 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SetRecordReliablePdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_shaft_r_p_ms_8cpp.html b/cpp/docs/html/_shaft_r_p_ms_8cpp.html new file mode 100644 index 00000000..be62bfcf --- /dev/null +++ b/cpp/docs/html/_shaft_r_p_ms_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ShaftRPMs.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ShaftRPMs.cpp File Reference

#include <DIS/ShaftRPMs.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_shaft_r_p_ms_8h.html b/cpp/docs/html/_shaft_r_p_ms_8h.html new file mode 100644 index 00000000..7ba10e07 --- /dev/null +++ b/cpp/docs/html/_shaft_r_p_ms_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ShaftRPMs.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ShaftRPMs.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::ShaftRPMs

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_shaft_r_p_ms_8h_source.html b/cpp/docs/html/_shaft_r_p_ms_8h_source.html new file mode 100644 index 00000000..320d0761 --- /dev/null +++ b/cpp/docs/html/_shaft_r_p_ms_8h_source.html @@ -0,0 +1,101 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ShaftRPMs.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_signal_pdu_8cpp.html b/cpp/docs/html/_signal_pdu_8cpp.html new file mode 100644 index 00000000..53c86f3e --- /dev/null +++ b/cpp/docs/html/_signal_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SignalPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SignalPdu.cpp File Reference

#include <DIS/SignalPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_signal_pdu_8h.html b/cpp/docs/html/_signal_pdu_8h.html new file mode 100644 index 00000000..7cad513e --- /dev/null +++ b/cpp/docs/html/_signal_pdu_8h.html @@ -0,0 +1,46 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SignalPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SignalPdu.h File Reference

#include <DIS/OneByteChunk.h>
+#include <vector>
+#include <DIS/RadioCommunicationsFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::SignalPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_signal_pdu_8h_source.html b/cpp/docs/html/_signal_pdu_8h_source.html new file mode 100644 index 00000000..1078f3ec --- /dev/null +++ b/cpp/docs/html/_signal_pdu_8h_source.html @@ -0,0 +1,119 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SignalPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_simulation_address_8cpp.html b/cpp/docs/html/_simulation_address_8cpp.html new file mode 100644 index 00000000..8b162566 --- /dev/null +++ b/cpp/docs/html/_simulation_address_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SimulationAddress.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SimulationAddress.cpp File Reference

#include <DIS/SimulationAddress.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_simulation_address_8h.html b/cpp/docs/html/_simulation_address_8h.html new file mode 100644 index 00000000..3412cd57 --- /dev/null +++ b/cpp/docs/html/_simulation_address_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SimulationAddress.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SimulationAddress.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::SimulationAddress

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_simulation_address_8h_source.html b/cpp/docs/html/_simulation_address_8h_source.html new file mode 100644 index 00000000..d2787789 --- /dev/null +++ b/cpp/docs/html/_simulation_address_8h_source.html @@ -0,0 +1,96 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SimulationAddress.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_simulation_management_family_pdu_8cpp.html b/cpp/docs/html/_simulation_management_family_pdu_8cpp.html new file mode 100644 index 00000000..87bf2768 --- /dev/null +++ b/cpp/docs/html/_simulation_management_family_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SimulationManagementFamilyPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SimulationManagementFamilyPdu.cpp File Reference

#include <DIS/SimulationManagementFamilyPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_simulation_management_family_pdu_8h.html b/cpp/docs/html/_simulation_management_family_pdu_8h.html new file mode 100644 index 00000000..ce78109e --- /dev/null +++ b/cpp/docs/html/_simulation_management_family_pdu_8h.html @@ -0,0 +1,45 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SimulationManagementFamilyPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SimulationManagementFamilyPdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/Pdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::SimulationManagementFamilyPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_simulation_management_family_pdu_8h_source.html b/cpp/docs/html/_simulation_management_family_pdu_8h_source.html new file mode 100644 index 00000000..c4922853 --- /dev/null +++ b/cpp/docs/html/_simulation_management_family_pdu_8h_source.html @@ -0,0 +1,101 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SimulationManagementFamilyPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_simulation_management_with_reliability_family_pdu_8cpp.html b/cpp/docs/html/_simulation_management_with_reliability_family_pdu_8cpp.html new file mode 100644 index 00000000..a301aaf0 --- /dev/null +++ b/cpp/docs/html/_simulation_management_with_reliability_family_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SimulationManagementWithReliabilityFamilyPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SimulationManagementWithReliabilityFamilyPdu.cpp File Reference

#include <DIS/SimulationManagementWithReliabilityFamilyPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_simulation_management_with_reliability_family_pdu_8h.html b/cpp/docs/html/_simulation_management_with_reliability_family_pdu_8h.html new file mode 100644 index 00000000..6d3bf4b9 --- /dev/null +++ b/cpp/docs/html/_simulation_management_with_reliability_family_pdu_8h.html @@ -0,0 +1,45 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SimulationManagementWithReliabilityFamilyPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SimulationManagementWithReliabilityFamilyPdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/Pdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::SimulationManagementWithReliabilityFamilyPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_simulation_management_with_reliability_family_pdu_8h_source.html b/cpp/docs/html/_simulation_management_with_reliability_family_pdu_8h_source.html new file mode 100644 index 00000000..3e8d5b81 --- /dev/null +++ b/cpp/docs/html/_simulation_management_with_reliability_family_pdu_8h_source.html @@ -0,0 +1,101 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SimulationManagementWithReliabilityFamilyPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_six_byte_chunk_8cpp.html b/cpp/docs/html/_six_byte_chunk_8cpp.html new file mode 100644 index 00000000..b5324558 --- /dev/null +++ b/cpp/docs/html/_six_byte_chunk_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SixByteChunk.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SixByteChunk.cpp File Reference

#include <DIS/SixByteChunk.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_six_byte_chunk_8h.html b/cpp/docs/html/_six_byte_chunk_8h.html new file mode 100644 index 00000000..9e0a3b18 --- /dev/null +++ b/cpp/docs/html/_six_byte_chunk_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SixByteChunk.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SixByteChunk.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::SixByteChunk

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_six_byte_chunk_8h_source.html b/cpp/docs/html/_six_byte_chunk_8h_source.html new file mode 100644 index 00000000..0c73bb28 --- /dev/null +++ b/cpp/docs/html/_six_byte_chunk_8h_source.html @@ -0,0 +1,92 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SixByteChunk.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_spherical_harmonic_antenna_pattern_8cpp.html b/cpp/docs/html/_spherical_harmonic_antenna_pattern_8cpp.html new file mode 100644 index 00000000..2d57823b --- /dev/null +++ b/cpp/docs/html/_spherical_harmonic_antenna_pattern_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SphericalHarmonicAntennaPattern.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SphericalHarmonicAntennaPattern.cpp File Reference

#include <DIS/SphericalHarmonicAntennaPattern.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_spherical_harmonic_antenna_pattern_8h.html b/cpp/docs/html/_spherical_harmonic_antenna_pattern_8h.html new file mode 100644 index 00000000..3c711d04 --- /dev/null +++ b/cpp/docs/html/_spherical_harmonic_antenna_pattern_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SphericalHarmonicAntennaPattern.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SphericalHarmonicAntennaPattern.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::SphericalHarmonicAntennaPattern

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_spherical_harmonic_antenna_pattern_8h_source.html b/cpp/docs/html/_spherical_harmonic_antenna_pattern_8h_source.html new file mode 100644 index 00000000..7342301e --- /dev/null +++ b/cpp/docs/html/_spherical_harmonic_antenna_pattern_8h_source.html @@ -0,0 +1,91 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SphericalHarmonicAntennaPattern.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_start_resume_pdu_8cpp.html b/cpp/docs/html/_start_resume_pdu_8cpp.html new file mode 100644 index 00000000..e9429556 --- /dev/null +++ b/cpp/docs/html/_start_resume_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StartResumePdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StartResumePdu.cpp File Reference

#include <DIS/StartResumePdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_start_resume_pdu_8h.html b/cpp/docs/html/_start_resume_pdu_8h.html new file mode 100644 index 00000000..402771c2 --- /dev/null +++ b/cpp/docs/html/_start_resume_pdu_8h.html @@ -0,0 +1,45 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StartResumePdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StartResumePdu.h File Reference

#include <DIS/ClockTime.h>
+#include <DIS/SimulationManagementFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::StartResumePdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_start_resume_pdu_8h_source.html b/cpp/docs/html/_start_resume_pdu_8h_source.html new file mode 100644 index 00000000..05a574dc --- /dev/null +++ b/cpp/docs/html/_start_resume_pdu_8h_source.html @@ -0,0 +1,106 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StartResumePdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_start_resume_reliable_pdu_8cpp.html b/cpp/docs/html/_start_resume_reliable_pdu_8cpp.html new file mode 100644 index 00000000..ca39bd0e --- /dev/null +++ b/cpp/docs/html/_start_resume_reliable_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StartResumeReliablePdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StartResumeReliablePdu.cpp File Reference

#include <DIS/StartResumeReliablePdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_start_resume_reliable_pdu_8h.html b/cpp/docs/html/_start_resume_reliable_pdu_8h.html new file mode 100644 index 00000000..6b6b2ffd --- /dev/null +++ b/cpp/docs/html/_start_resume_reliable_pdu_8h.html @@ -0,0 +1,45 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StartResumeReliablePdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StartResumeReliablePdu.h File Reference

#include <DIS/ClockTime.h>
+#include <DIS/SimulationManagementWithReliabilityFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::StartResumeReliablePdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_start_resume_reliable_pdu_8h_source.html b/cpp/docs/html/_start_resume_reliable_pdu_8h_source.html new file mode 100644 index 00000000..cfc5253c --- /dev/null +++ b/cpp/docs/html/_start_resume_reliable_pdu_8h_source.html @@ -0,0 +1,121 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StartResumeReliablePdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_stop_freeze_pdu_8cpp.html b/cpp/docs/html/_stop_freeze_pdu_8cpp.html new file mode 100644 index 00000000..492b3968 --- /dev/null +++ b/cpp/docs/html/_stop_freeze_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StopFreezePdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StopFreezePdu.cpp File Reference

#include <DIS/StopFreezePdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_stop_freeze_pdu_8h.html b/cpp/docs/html/_stop_freeze_pdu_8h.html new file mode 100644 index 00000000..dddb73f0 --- /dev/null +++ b/cpp/docs/html/_stop_freeze_pdu_8h.html @@ -0,0 +1,45 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StopFreezePdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StopFreezePdu.h File Reference

#include <DIS/ClockTime.h>
+#include <DIS/SimulationManagementFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::StopFreezePdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_stop_freeze_pdu_8h_source.html b/cpp/docs/html/_stop_freeze_pdu_8h_source.html new file mode 100644 index 00000000..6800581a --- /dev/null +++ b/cpp/docs/html/_stop_freeze_pdu_8h_source.html @@ -0,0 +1,114 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StopFreezePdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_stop_freeze_reliable_pdu_8cpp.html b/cpp/docs/html/_stop_freeze_reliable_pdu_8cpp.html new file mode 100644 index 00000000..3ea97979 --- /dev/null +++ b/cpp/docs/html/_stop_freeze_reliable_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StopFreezeReliablePdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StopFreezeReliablePdu.cpp File Reference

#include <DIS/StopFreezeReliablePdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_stop_freeze_reliable_pdu_8h.html b/cpp/docs/html/_stop_freeze_reliable_pdu_8h.html new file mode 100644 index 00000000..5545a9ef --- /dev/null +++ b/cpp/docs/html/_stop_freeze_reliable_pdu_8h.html @@ -0,0 +1,45 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StopFreezeReliablePdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StopFreezeReliablePdu.h File Reference

#include <DIS/ClockTime.h>
+#include <DIS/SimulationManagementWithReliabilityFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::StopFreezeReliablePdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_stop_freeze_reliable_pdu_8h_source.html b/cpp/docs/html/_stop_freeze_reliable_pdu_8h_source.html new file mode 100644 index 00000000..ec935c77 --- /dev/null +++ b/cpp/docs/html/_stop_freeze_reliable_pdu_8h_source.html @@ -0,0 +1,119 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StopFreezeReliablePdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_supply_quantity_8cpp.html b/cpp/docs/html/_supply_quantity_8cpp.html new file mode 100644 index 00000000..3181cafa --- /dev/null +++ b/cpp/docs/html/_supply_quantity_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SupplyQuantity.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SupplyQuantity.cpp File Reference

#include <DIS/SupplyQuantity.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_supply_quantity_8h.html b/cpp/docs/html/_supply_quantity_8h.html new file mode 100644 index 00000000..95eeef3b --- /dev/null +++ b/cpp/docs/html/_supply_quantity_8h.html @@ -0,0 +1,44 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SupplyQuantity.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SupplyQuantity.h File Reference

#include <DIS/EntityType.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::SupplyQuantity

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_supply_quantity_8h_source.html b/cpp/docs/html/_supply_quantity_8h_source.html new file mode 100644 index 00000000..6b8172ff --- /dev/null +++ b/cpp/docs/html/_supply_quantity_8h_source.html @@ -0,0 +1,98 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SupplyQuantity.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_synthetic_environment_family_pdu_8cpp.html b/cpp/docs/html/_synthetic_environment_family_pdu_8cpp.html new file mode 100644 index 00000000..fb154981 --- /dev/null +++ b/cpp/docs/html/_synthetic_environment_family_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SyntheticEnvironmentFamilyPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SyntheticEnvironmentFamilyPdu.cpp File Reference

#include <DIS/SyntheticEnvironmentFamilyPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_synthetic_environment_family_pdu_8h.html b/cpp/docs/html/_synthetic_environment_family_pdu_8h.html new file mode 100644 index 00000000..c9b8ea07 --- /dev/null +++ b/cpp/docs/html/_synthetic_environment_family_pdu_8h.html @@ -0,0 +1,44 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SyntheticEnvironmentFamilyPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SyntheticEnvironmentFamilyPdu.h File Reference

#include <DIS/Pdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::SyntheticEnvironmentFamilyPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_synthetic_environment_family_pdu_8h_source.html b/cpp/docs/html/_synthetic_environment_family_pdu_8h_source.html new file mode 100644 index 00000000..a0f7326a --- /dev/null +++ b/cpp/docs/html/_synthetic_environment_family_pdu_8h_source.html @@ -0,0 +1,87 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SyntheticEnvironmentFamilyPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_system_i_d_8cpp.html b/cpp/docs/html/_system_i_d_8cpp.html new file mode 100644 index 00000000..8031b24a --- /dev/null +++ b/cpp/docs/html/_system_i_d_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SystemID.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SystemID.cpp File Reference

#include <DIS/SystemID.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_system_i_d_8h.html b/cpp/docs/html/_system_i_d_8h.html new file mode 100644 index 00000000..82b76100 --- /dev/null +++ b/cpp/docs/html/_system_i_d_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SystemID.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SystemID.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::SystemID

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_system_i_d_8h_source.html b/cpp/docs/html/_system_i_d_8h_source.html new file mode 100644 index 00000000..64c202e0 --- /dev/null +++ b/cpp/docs/html/_system_i_d_8h_source.html @@ -0,0 +1,106 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SystemID.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_track_jam_target_8cpp.html b/cpp/docs/html/_track_jam_target_8cpp.html new file mode 100644 index 00000000..c9d1ae7b --- /dev/null +++ b/cpp/docs/html/_track_jam_target_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TrackJamTarget.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TrackJamTarget.cpp File Reference

#include <DIS/TrackJamTarget.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_track_jam_target_8h.html b/cpp/docs/html/_track_jam_target_8h.html new file mode 100644 index 00000000..be4cf781 --- /dev/null +++ b/cpp/docs/html/_track_jam_target_8h.html @@ -0,0 +1,44 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TrackJamTarget.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TrackJamTarget.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::TrackJamTarget

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_track_jam_target_8h_source.html b/cpp/docs/html/_track_jam_target_8h_source.html new file mode 100644 index 00000000..33c3d9f8 --- /dev/null +++ b/cpp/docs/html/_track_jam_target_8h_source.html @@ -0,0 +1,103 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TrackJamTarget.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_transfer_control_request_pdu_8cpp.html b/cpp/docs/html/_transfer_control_request_pdu_8cpp.html new file mode 100644 index 00000000..812c5ce1 --- /dev/null +++ b/cpp/docs/html/_transfer_control_request_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TransferControlRequestPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TransferControlRequestPdu.cpp File Reference

#include <DIS/TransferControlRequestPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_transfer_control_request_pdu_8h.html b/cpp/docs/html/_transfer_control_request_pdu_8h.html new file mode 100644 index 00000000..8ad5cab0 --- /dev/null +++ b/cpp/docs/html/_transfer_control_request_pdu_8h.html @@ -0,0 +1,47 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TransferControlRequestPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TransferControlRequestPdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/RecordSet.h>
+#include <vector>
+#include <DIS/EntityManagementFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::TransferControlRequestPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_transfer_control_request_pdu_8h_source.html b/cpp/docs/html/_transfer_control_request_pdu_8h_source.html new file mode 100644 index 00000000..d82af96c --- /dev/null +++ b/cpp/docs/html/_transfer_control_request_pdu_8h_source.html @@ -0,0 +1,135 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TransferControlRequestPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_transmitter_pdu_8cpp.html b/cpp/docs/html/_transmitter_pdu_8cpp.html new file mode 100644 index 00000000..7b9dcaa7 --- /dev/null +++ b/cpp/docs/html/_transmitter_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TransmitterPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TransmitterPdu.cpp File Reference

#include <DIS/TransmitterPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_transmitter_pdu_8h.html b/cpp/docs/html/_transmitter_pdu_8h.html new file mode 100644 index 00000000..92fcd44d --- /dev/null +++ b/cpp/docs/html/_transmitter_pdu_8h.html @@ -0,0 +1,49 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TransmitterPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TransmitterPdu.h File Reference

#include <DIS/RadioEntityType.h>
+#include <DIS/Vector3Double.h>
+#include <DIS/Vector3Float.h>
+#include <DIS/ModulationType.h>
+#include <vector>
+#include <DIS/RadioCommunicationsFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::TransmitterPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_transmitter_pdu_8h_source.html b/cpp/docs/html/_transmitter_pdu_8h_source.html new file mode 100644 index 00000000..a9e9b737 --- /dev/null +++ b/cpp/docs/html/_transmitter_pdu_8h_source.html @@ -0,0 +1,193 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TransmitterPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_two_byte_chunk_8cpp.html b/cpp/docs/html/_two_byte_chunk_8cpp.html new file mode 100644 index 00000000..d01d2c4b --- /dev/null +++ b/cpp/docs/html/_two_byte_chunk_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TwoByteChunk.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TwoByteChunk.cpp File Reference

#include <DIS/TwoByteChunk.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_two_byte_chunk_8h.html b/cpp/docs/html/_two_byte_chunk_8h.html new file mode 100644 index 00000000..b83a61bb --- /dev/null +++ b/cpp/docs/html/_two_byte_chunk_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TwoByteChunk.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TwoByteChunk.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::TwoByteChunk

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_two_byte_chunk_8h_source.html b/cpp/docs/html/_two_byte_chunk_8h_source.html new file mode 100644 index 00000000..9de6a50f --- /dev/null +++ b/cpp/docs/html/_two_byte_chunk_8h_source.html @@ -0,0 +1,92 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TwoByteChunk.h Source File + + + + + +
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_ua_pdu_8cpp.html b/cpp/docs/html/_ua_pdu_8cpp.html new file mode 100644 index 00000000..56a115c2 --- /dev/null +++ b/cpp/docs/html/_ua_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/UaPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/UaPdu.cpp File Reference

#include <DIS/UaPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_ua_pdu_8h.html b/cpp/docs/html/_ua_pdu_8h.html new file mode 100644 index 00000000..9713c345 --- /dev/null +++ b/cpp/docs/html/_ua_pdu_8h.html @@ -0,0 +1,50 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/UaPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/UaPdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/EventID.h>
+#include <DIS/ShaftRPMs.h>
+#include <DIS/ApaData.h>
+#include <DIS/AcousticEmitterSystemData.h>
+#include <vector>
+#include <DIS/DistributedEmissionsFamilyPdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::UaPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_ua_pdu_8h_source.html b/cpp/docs/html/_ua_pdu_8h_source.html new file mode 100644 index 00000000..53d1fa39 --- /dev/null +++ b/cpp/docs/html/_ua_pdu_8h_source.html @@ -0,0 +1,155 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/UaPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_variable_datum_8cpp.html b/cpp/docs/html/_variable_datum_8cpp.html new file mode 100644 index 00000000..eb8dcade --- /dev/null +++ b/cpp/docs/html/_variable_datum_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/VariableDatum.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/VariableDatum.cpp File Reference

#include <DIS/VariableDatum.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_variable_datum_8h.html b/cpp/docs/html/_variable_datum_8h.html new file mode 100644 index 00000000..0f33d6ee --- /dev/null +++ b/cpp/docs/html/_variable_datum_8h.html @@ -0,0 +1,45 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/VariableDatum.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/VariableDatum.h File Reference

#include <DIS/EightByteChunk.h>
+#include <vector>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::VariableDatum

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_variable_datum_8h_source.html b/cpp/docs/html/_variable_datum_8h_source.html new file mode 100644 index 00000000..b37ed581 --- /dev/null +++ b/cpp/docs/html/_variable_datum_8h_source.html @@ -0,0 +1,103 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/VariableDatum.h Source File + + + + + +
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_variable_datum_old_8cpp.html b/cpp/docs/html/_variable_datum_old_8cpp.html new file mode 100644 index 00000000..0fa9be8c --- /dev/null +++ b/cpp/docs/html/_variable_datum_old_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/VariableDatumOld.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/VariableDatumOld.cpp File Reference

#include <DIS/VariableDatum.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_vector3_double_8cpp.html b/cpp/docs/html/_vector3_double_8cpp.html new file mode 100644 index 00000000..32d2ee26 --- /dev/null +++ b/cpp/docs/html/_vector3_double_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Vector3Double.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Vector3Double.cpp File Reference

#include <DIS/Vector3Double.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_vector3_double_8h.html b/cpp/docs/html/_vector3_double_8h.html new file mode 100644 index 00000000..e7533386 --- /dev/null +++ b/cpp/docs/html/_vector3_double_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Vector3Double.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Vector3Double.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::Vector3Double

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_vector3_double_8h_source.html b/cpp/docs/html/_vector3_double_8h_source.html new file mode 100644 index 00000000..27801bdc --- /dev/null +++ b/cpp/docs/html/_vector3_double_8h_source.html @@ -0,0 +1,101 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Vector3Double.h Source File + + + + + +
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_vector3_float_8cpp.html b/cpp/docs/html/_vector3_float_8cpp.html new file mode 100644 index 00000000..dd4e8dc7 --- /dev/null +++ b/cpp/docs/html/_vector3_float_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Vector3Float.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Vector3Float.cpp File Reference

#include <DIS/Vector3Float.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_vector3_float_8h.html b/cpp/docs/html/_vector3_float_8h.html new file mode 100644 index 00000000..bc485d8d --- /dev/null +++ b/cpp/docs/html/_vector3_float_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Vector3Float.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Vector3Float.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::Vector3Float

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_vector3_float_8h_source.html b/cpp/docs/html/_vector3_float_8h_source.html new file mode 100644 index 00000000..d001cfd1 --- /dev/null +++ b/cpp/docs/html/_vector3_float_8h_source.html @@ -0,0 +1,101 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Vector3Float.h Source File + + + + + +
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_vectoring_nozzle_system_data_8cpp.html b/cpp/docs/html/_vectoring_nozzle_system_data_8cpp.html new file mode 100644 index 00000000..b4478ca5 --- /dev/null +++ b/cpp/docs/html/_vectoring_nozzle_system_data_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/VectoringNozzleSystemData.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/VectoringNozzleSystemData.cpp File Reference

#include <DIS/VectoringNozzleSystemData.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_vectoring_nozzle_system_data_8h.html b/cpp/docs/html/_vectoring_nozzle_system_data_8h.html new file mode 100644 index 00000000..06de0cf4 --- /dev/null +++ b/cpp/docs/html/_vectoring_nozzle_system_data_8h.html @@ -0,0 +1,43 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/VectoringNozzleSystemData.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/VectoringNozzleSystemData.h File Reference

#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::VectoringNozzleSystemData

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_vectoring_nozzle_system_data_8h_source.html b/cpp/docs/html/_vectoring_nozzle_system_data_8h_source.html new file mode 100644 index 00000000..09811b24 --- /dev/null +++ b/cpp/docs/html/_vectoring_nozzle_system_data_8h_source.html @@ -0,0 +1,96 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/VectoringNozzleSystemData.h Source File + + + + + +
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_warfare_family_pdu_8cpp.html b/cpp/docs/html/_warfare_family_pdu_8cpp.html new file mode 100644 index 00000000..aebd1cf3 --- /dev/null +++ b/cpp/docs/html/_warfare_family_pdu_8cpp.html @@ -0,0 +1,34 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/WarfareFamilyPdu.cpp File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/WarfareFamilyPdu.cpp File Reference

#include <DIS/WarfareFamilyPdu.h>
+ + +
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_warfare_family_pdu_8h.html b/cpp/docs/html/_warfare_family_pdu_8h.html new file mode 100644 index 00000000..bb01fbce --- /dev/null +++ b/cpp/docs/html/_warfare_family_pdu_8h.html @@ -0,0 +1,45 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/WarfareFamilyPdu.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/WarfareFamilyPdu.h File Reference

#include <DIS/EntityID.h>
+#include <DIS/Pdu.h>
+#include <DIS/DataStream.h>
+#include <DIS/msLibMacro.h>
+ +

+Go to the source code of this file. + + + + + + + +

Classes

class  DIS::WarfareFamilyPdu

Namespaces

namespace  DIS
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/_warfare_family_pdu_8h_source.html b/cpp/docs/html/_warfare_family_pdu_8h_source.html new file mode 100644 index 00000000..5ba6475b --- /dev/null +++ b/cpp/docs/html/_warfare_family_pdu_8h_source.html @@ -0,0 +1,101 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/WarfareFamilyPdu.h Source File + + + + + +
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/annotated.html b/cpp/docs/html/annotated.html new file mode 100644 index 00000000..b18a4dd0 --- /dev/null +++ b/cpp/docs/html/annotated.html @@ -0,0 +1,170 @@ + + +open-dis: Class List + + + + + +
+

Class List

Here are the classes, structs, unions and interfaces with brief descriptions: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DIS::AcknowledgePdu
DIS::AcknowledgeReliablePdu
DIS::AcousticBeamData
DIS::AcousticBeamFundamentalParameter
DIS::AcousticEmitter
DIS::AcousticEmitterSystem
DIS::AcousticEmitterSystemData
DIS::ActionRequestPdu
DIS::ActionRequestReliablePdu
DIS::ActionResponsePdu
DIS::ActionResponseReliablePdu
DIS::AggregateID
DIS::AggregateMarking
DIS::AggregateStatePdu
DIS::AggregateType
DIS::AngularVelocityVector
DIS::AntennaLocation
DIS::ApaData
DIS::ArealObjectStatePdu
DIS::ArticulationParameter
DIS::BeamAntennaPattern
DIS::BeamData
DIS::BurstDescriptor
DIS::ClockTime
DIS::CollisionElasticPdu
DIS::CollisionPdu
DIS::CommentPdu
DIS::CommentReliablePdu
DIS::CreateEntityPdu
DIS::CreateEntityReliablePdu
DIS::DataPdu
DIS::DataQueryPdu
DIS::DataQueryReliablePdu
DIS::DataReliablePdu
DIS::DeadReckoningParameter
DIS::DesignatorPdu
DIS::DetonationPdu
DIS::DistributedEmissionsFamilyPdu
DIS::EightByteChunk
DIS::ElectronicEmissionBeamData
DIS::ElectronicEmissionsPdu
DIS::ElectronicEmissionSystemData
DIS::EmitterSystem
DIS::EntityID
DIS::EntityInformationFamilyPdu
DIS::EntityManagementFamilyPdu
DIS::EntityStatePdu
DIS::EntityStateUpdatePdu
DIS::EntityType
DIS::Environment
DIS::EnvironmentalProcessPdu
DIS::EventID
DIS::EventReportPdu
DIS::EventReportReliablePdu
DIS::FastEntityStatePdu
DIS::FirePdu
DIS::FixedDatum
DIS::FourByteChunk
DIS::FundamentalParameterData
DIS::FundamentalParameterDataIff
DIS::GridAxisRecord
DIS::GridAxisRecordRepresentation0
DIS::GridAxisRecordRepresentation1
DIS::GridAxisRecordRepresentation2
DIS::GriddedDataPdu
DIS::IffAtcNavAidsLayer1Pdu
DIS::IffAtcNavAidsLayer2Pdu
DIS::IffFundamentalData
DIS::IntercomCommunicationsParameters
DIS::IntercomControlPdu
DIS::IntercomSignalPdu
DIS::IsGroupOfPdu
DIS::IsPartOfPdu
DIS::LayerHeader
DIS::LinearObjectStatePdu
DIS::LinearSegmentParameter
DIS::LogisticsFamilyPdu
DIS::LogisticsPdu
DIS::Marking
DIS::MinefieldDataPdu
DIS::MinefieldFamilyPdu
DIS::MinefieldPduFamily
DIS::MinefieldQueryPdu
DIS::MinefieldResponseNackPdu
DIS::MinefieldStatePdu
DIS::ModulationType
DIS::NamedLocation
DIS::ObjectType
DIS::OneByteChunk
DIS::Orientation
DIS::Pdu
DIS::PduContainer
DIS::Point
DIS::PointObjectStatePdu
DIS::PropulsionSystemData
DIS::RadioCommunicationsFamilyPdu
DIS::RadioEntityType
DIS::ReceiverPdu
DIS::RecordQueryReliablePdu
DIS::RecordSet
DIS::Relationship
DIS::RemoveEntityPdu
DIS::RemoveEntityReliablePdu
DIS::RepairCompletePdu
DIS::RepairResponsePdu
DIS::ResupplyCancelPdu
DIS::ResupplyOfferPdu
DIS::ResupplyReceivedPdu
DIS::SeesPdu
DIS::ServiceRequestPdu
DIS::SetDataPdu
DIS::SetDataReliablePdu
DIS::SetRecordReliablePdu
DIS::ShaftRPMs
DIS::SignalPdu
DIS::SimulationAddress
DIS::SimulationManagementFamilyPdu
DIS::SimulationManagementWithReliabilityFamilyPdu
DIS::SixByteChunk
DIS::SphericalHarmonicAntennaPattern
DIS::StartResumePdu
DIS::StartResumeReliablePdu
DIS::StopFreezePdu
DIS::StopFreezeReliablePdu
DIS::SupplyQuantity
DIS::SyntheticEnvironmentFamilyPdu
DIS::SystemID
DIS::TrackJamTarget
DIS::TransferControlRequestPdu
DIS::TransmitterPdu
DIS::TwoByteChunk
DIS::UaPdu
DIS::VariableDatum
DIS::Vector3Double
DIS::Vector3Float
DIS::VectoringNozzleSystemData
DIS::WarfareFamilyPdu
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_acknowledge_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_acknowledge_pdu-members.html new file mode 100644 index 00000000..85b5e739 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_acknowledge_pdu-members.html @@ -0,0 +1,82 @@ + + +open-dis: Member List + + + + + +
+

DIS::AcknowledgePdu Member List

This is the complete list of members for DIS::AcknowledgePdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_acknowledgeFlagDIS::AcknowledgePdu [protected]
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_originatingEntityIDDIS::SimulationManagementFamilyPdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingEntityIDDIS::SimulationManagementFamilyPdu [protected]
_requestIDDIS::AcknowledgePdu [protected]
_responseFlagDIS::AcknowledgePdu [protected]
_timestampDIS::Pdu [protected]
AcknowledgePdu()DIS::AcknowledgePdu
getAcknowledgeFlag() const DIS::AcknowledgePdu
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::AcknowledgePdu [virtual]
getOriginatingEntityID()DIS::SimulationManagementFamilyPdu
getOriginatingEntityID() const DIS::SimulationManagementFamilyPdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingEntityID()DIS::SimulationManagementFamilyPdu
getReceivingEntityID() const DIS::SimulationManagementFamilyPdu
getRequestID() const DIS::AcknowledgePdu
getResponseFlag() const DIS::AcknowledgePdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::AcknowledgePdu [virtual]
operator==(const AcknowledgePdu &rhs) const DIS::AcknowledgePdu
DIS::SimulationManagementFamilyPdu::operator==(const SimulationManagementFamilyPdu &rhs) const DIS::SimulationManagementFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setAcknowledgeFlag(unsigned short pX)DIS::AcknowledgePdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setOriginatingEntityID(const EntityID &pX)DIS::SimulationManagementFamilyPdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingEntityID(const EntityID &pX)DIS::SimulationManagementFamilyPdu
setRequestID(unsigned int pX)DIS::AcknowledgePdu
setResponseFlag(unsigned short pX)DIS::AcknowledgePdu
setTimestamp(unsigned int pX)DIS::Pdu
SimulationManagementFamilyPdu()DIS::SimulationManagementFamilyPdu
unmarshal(DataStream &dataStream)DIS::AcknowledgePdu [virtual]
~AcknowledgePdu()DIS::AcknowledgePdu [virtual]
~Pdu()DIS::Pdu [virtual]
~SimulationManagementFamilyPdu()DIS::SimulationManagementFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_acknowledge_pdu.html b/cpp/docs/html/class_d_i_s_1_1_acknowledge_pdu.html new file mode 100644 index 00000000..82c69acf --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_acknowledge_pdu.html @@ -0,0 +1,376 @@ + + +open-dis: DIS::AcknowledgePdu Class Reference + + + + + +
+

DIS::AcknowledgePdu Class Reference

#include <AcknowledgePdu.h> +

+

+Inheritance diagram for DIS::AcknowledgePdu:
+
+ +

+ +DIS::SimulationManagementFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 AcknowledgePdu ()
virtual ~AcknowledgePdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned short getAcknowledgeFlag () const
void setAcknowledgeFlag (unsigned short pX)
unsigned short getResponseFlag () const
void setResponseFlag (unsigned short pX)
unsigned int getRequestID () const
void setRequestID (unsigned int pX)
virtual int getMarshalledSize () const
bool operator== (const AcknowledgePdu &rhs) const

Protected Attributes

unsigned short _acknowledgeFlag
unsigned short _responseFlag
unsigned int _requestID
+


Detailed Description

+Section 5.3.6.5. Acknowledge the receiptof a start/resume, stop/freeze, or RemoveEntityPDU. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
AcknowledgePdu::AcknowledgePdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
AcknowledgePdu::~AcknowledgePdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned short AcknowledgePdu::getAcknowledgeFlag (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int AcknowledgePdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
unsigned int AcknowledgePdu::getRequestID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short AcknowledgePdu::getResponseFlag (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcknowledgePdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool AcknowledgePdu::operator== (const AcknowledgePdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcknowledgePdu::setAcknowledgeFlag (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcknowledgePdu::setRequestID (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcknowledgePdu::setResponseFlag (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcknowledgePdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned short DIS::AcknowledgePdu::_acknowledgeFlag [protected]
+
+
+ +

+type of message being acknowledged +

+

+ +

+
+ + + + +
unsigned int DIS::AcknowledgePdu::_requestID [protected]
+
+
+ +

+Request ID that is unique +

+

+ +

+
+ + + + +
unsigned short DIS::AcknowledgePdu::_responseFlag [protected]
+
+
+ +

+Whether or not the receiving entity was able to comply with the request +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_acknowledge_pdu.png b/cpp/docs/html/class_d_i_s_1_1_acknowledge_pdu.png new file mode 100644 index 00000000..9e109a70 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_acknowledge_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_acknowledge_reliable_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_acknowledge_reliable_pdu-members.html new file mode 100644 index 00000000..4a99912d --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_acknowledge_reliable_pdu-members.html @@ -0,0 +1,82 @@ + + +open-dis: Member List + + + + + +
+

DIS::AcknowledgeReliablePdu Member List

This is the complete list of members for DIS::AcknowledgeReliablePdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_acknowledgeFlagDIS::AcknowledgeReliablePdu [protected]
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_originatingEntityIDDIS::SimulationManagementWithReliabilityFamilyPdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingEntityIDDIS::SimulationManagementWithReliabilityFamilyPdu [protected]
_requestIDDIS::AcknowledgeReliablePdu [protected]
_responseFlagDIS::AcknowledgeReliablePdu [protected]
_timestampDIS::Pdu [protected]
AcknowledgeReliablePdu()DIS::AcknowledgeReliablePdu
getAcknowledgeFlag() const DIS::AcknowledgeReliablePdu
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::AcknowledgeReliablePdu [virtual]
getOriginatingEntityID()DIS::SimulationManagementWithReliabilityFamilyPdu
getOriginatingEntityID() const DIS::SimulationManagementWithReliabilityFamilyPdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingEntityID()DIS::SimulationManagementWithReliabilityFamilyPdu
getReceivingEntityID() const DIS::SimulationManagementWithReliabilityFamilyPdu
getRequestID() const DIS::AcknowledgeReliablePdu
getResponseFlag() const DIS::AcknowledgeReliablePdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::AcknowledgeReliablePdu [virtual]
operator==(const AcknowledgeReliablePdu &rhs) const DIS::AcknowledgeReliablePdu
DIS::SimulationManagementWithReliabilityFamilyPdu::operator==(const SimulationManagementWithReliabilityFamilyPdu &rhs) const DIS::SimulationManagementWithReliabilityFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setAcknowledgeFlag(unsigned short pX)DIS::AcknowledgeReliablePdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setOriginatingEntityID(const EntityID &pX)DIS::SimulationManagementWithReliabilityFamilyPdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingEntityID(const EntityID &pX)DIS::SimulationManagementWithReliabilityFamilyPdu
setRequestID(unsigned int pX)DIS::AcknowledgeReliablePdu
setResponseFlag(unsigned short pX)DIS::AcknowledgeReliablePdu
setTimestamp(unsigned int pX)DIS::Pdu
SimulationManagementWithReliabilityFamilyPdu()DIS::SimulationManagementWithReliabilityFamilyPdu
unmarshal(DataStream &dataStream)DIS::AcknowledgeReliablePdu [virtual]
~AcknowledgeReliablePdu()DIS::AcknowledgeReliablePdu [virtual]
~Pdu()DIS::Pdu [virtual]
~SimulationManagementWithReliabilityFamilyPdu()DIS::SimulationManagementWithReliabilityFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_acknowledge_reliable_pdu.html b/cpp/docs/html/class_d_i_s_1_1_acknowledge_reliable_pdu.html new file mode 100644 index 00000000..1642263f --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_acknowledge_reliable_pdu.html @@ -0,0 +1,376 @@ + + +open-dis: DIS::AcknowledgeReliablePdu Class Reference + + + + + +
+

DIS::AcknowledgeReliablePdu Class Reference

#include <AcknowledgeReliablePdu.h> +

+

+Inheritance diagram for DIS::AcknowledgeReliablePdu:
+
+ +

+ +DIS::SimulationManagementWithReliabilityFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 AcknowledgeReliablePdu ()
virtual ~AcknowledgeReliablePdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned short getAcknowledgeFlag () const
void setAcknowledgeFlag (unsigned short pX)
unsigned short getResponseFlag () const
void setResponseFlag (unsigned short pX)
unsigned int getRequestID () const
void setRequestID (unsigned int pX)
virtual int getMarshalledSize () const
bool operator== (const AcknowledgeReliablePdu &rhs) const

Protected Attributes

unsigned short _acknowledgeFlag
unsigned short _responseFlag
unsigned int _requestID
+


Detailed Description

+Section 5.3.12.5: Ack receipt of a start-resume, stop-freeze, create-entity or remove enitty (reliable) pdus. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
AcknowledgeReliablePdu::AcknowledgeReliablePdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
AcknowledgeReliablePdu::~AcknowledgeReliablePdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned short AcknowledgeReliablePdu::getAcknowledgeFlag (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int AcknowledgeReliablePdu::getMarshalledSize (  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + +
unsigned int AcknowledgeReliablePdu::getRequestID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short AcknowledgeReliablePdu::getResponseFlag (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcknowledgeReliablePdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + + +
bool AcknowledgeReliablePdu::operator== (const AcknowledgeReliablePdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcknowledgeReliablePdu::setAcknowledgeFlag (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcknowledgeReliablePdu::setRequestID (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcknowledgeReliablePdu::setResponseFlag (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcknowledgeReliablePdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+ +

+


Member Data Documentation

+ +
+
+ + + + +
unsigned short DIS::AcknowledgeReliablePdu::_acknowledgeFlag [protected]
+
+
+ +

+ack flags +

+

+ +

+
+ + + + +
unsigned int DIS::AcknowledgeReliablePdu::_requestID [protected]
+
+
+ +

+Request ID +

+

+ +

+
+ + + + +
unsigned short DIS::AcknowledgeReliablePdu::_responseFlag [protected]
+
+
+ +

+response flags +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_acknowledge_reliable_pdu.png b/cpp/docs/html/class_d_i_s_1_1_acknowledge_reliable_pdu.png new file mode 100644 index 00000000..81979940 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_acknowledge_reliable_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_acoustic_beam_data-members.html b/cpp/docs/html/class_d_i_s_1_1_acoustic_beam_data-members.html new file mode 100644 index 00000000..2cf0cb6e --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_acoustic_beam_data-members.html @@ -0,0 +1,51 @@ + + +open-dis: Member List + + + + + +
+

DIS::AcousticBeamData Member List

This is the complete list of members for DIS::AcousticBeamData, including all inherited members.

+ + + + + + + + + + + + + + + + + + + +
_beamDataLengthDIS::AcousticBeamData [protected]
_beamIDNumberDIS::AcousticBeamData [protected]
_fundamentalDataParametersDIS::AcousticBeamData [protected]
_pad2DIS::AcousticBeamData [protected]
AcousticBeamData()DIS::AcousticBeamData
getBeamDataLength() const DIS::AcousticBeamData
getBeamIDNumber() const DIS::AcousticBeamData
getFundamentalDataParameters()DIS::AcousticBeamData
getFundamentalDataParameters() const DIS::AcousticBeamData
getMarshalledSize() const DIS::AcousticBeamData [virtual]
getPad2() const DIS::AcousticBeamData
marshal(DataStream &dataStream) const DIS::AcousticBeamData [virtual]
operator==(const AcousticBeamData &rhs) const DIS::AcousticBeamData
setBeamDataLength(unsigned short pX)DIS::AcousticBeamData
setBeamIDNumber(unsigned char pX)DIS::AcousticBeamData
setFundamentalDataParameters(const AcousticBeamFundamentalParameter &pX)DIS::AcousticBeamData
setPad2(unsigned short pX)DIS::AcousticBeamData
unmarshal(DataStream &dataStream)DIS::AcousticBeamData [virtual]
~AcousticBeamData()DIS::AcousticBeamData [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_acoustic_beam_data.html b/cpp/docs/html/class_d_i_s_1_1_acoustic_beam_data.html new file mode 100644 index 00000000..df262b58 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_acoustic_beam_data.html @@ -0,0 +1,442 @@ + + +open-dis: DIS::AcousticBeamData Class Reference + + + + + +
+

DIS::AcousticBeamData Class Reference

#include <AcousticBeamData.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 AcousticBeamData ()
virtual ~AcousticBeamData ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned short getBeamDataLength () const
void setBeamDataLength (unsigned short pX)
unsigned char getBeamIDNumber () const
void setBeamIDNumber (unsigned char pX)
unsigned short getPad2 () const
void setPad2 (unsigned short pX)
AcousticBeamFundamentalParametergetFundamentalDataParameters ()
const
+AcousticBeamFundamentalParameter
getFundamentalDataParameters () const
void setFundamentalDataParameters (const AcousticBeamFundamentalParameter &pX)
virtual int getMarshalledSize () const
bool operator== (const AcousticBeamData &rhs) const

Protected Attributes

unsigned short _beamDataLength
unsigned char _beamIDNumber
unsigned short _pad2
AcousticBeamFundamentalParameter _fundamentalDataParameters
+


Detailed Description

+Used in UA PDU

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
AcousticBeamData::AcousticBeamData (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
AcousticBeamData::~AcousticBeamData (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned short AcousticBeamData::getBeamDataLength (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char AcousticBeamData::getBeamIDNumber (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const AcousticBeamFundamentalParameter & AcousticBeamData::getFundamentalDataParameters (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
AcousticBeamFundamentalParameter & AcousticBeamData::getFundamentalDataParameters (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int AcousticBeamData::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short AcousticBeamData::getPad2 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcousticBeamData::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool AcousticBeamData::operator== (const AcousticBeamData rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcousticBeamData::setBeamDataLength (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcousticBeamData::setBeamIDNumber (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcousticBeamData::setFundamentalDataParameters (const AcousticBeamFundamentalParameter pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcousticBeamData::setPad2 (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcousticBeamData::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned short DIS::AcousticBeamData::_beamDataLength [protected]
+
+
+ +

+beam data length +

+

+ +

+
+ + + + +
unsigned char DIS::AcousticBeamData::_beamIDNumber [protected]
+
+
+ +

+beamIDNumber +

+

+ +

+ +
+ +

+fundamental data parameters +

+

+ +

+
+ + + + +
unsigned short DIS::AcousticBeamData::_pad2 [protected]
+
+
+ +

+padding +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_acoustic_beam_fundamental_parameter-members.html b/cpp/docs/html/class_d_i_s_1_1_acoustic_beam_fundamental_parameter-members.html new file mode 100644 index 00000000..e41365fa --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_acoustic_beam_fundamental_parameter-members.html @@ -0,0 +1,56 @@ + + +open-dis: Member List + + + + + +
+

DIS::AcousticBeamFundamentalParameter Member List

This is the complete list of members for DIS::AcousticBeamFundamentalParameter, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + +
_activeEmissionParameterIndexDIS::AcousticBeamFundamentalParameter [protected]
_azimuthalBeamwidthDIS::AcousticBeamFundamentalParameter [protected]
_beamCenterAzimuthDIS::AcousticBeamFundamentalParameter [protected]
_beamCenterDEDIS::AcousticBeamFundamentalParameter [protected]
_deBeamwidthDIS::AcousticBeamFundamentalParameter [protected]
_scanPatternDIS::AcousticBeamFundamentalParameter [protected]
AcousticBeamFundamentalParameter()DIS::AcousticBeamFundamentalParameter
getActiveEmissionParameterIndex() const DIS::AcousticBeamFundamentalParameter
getAzimuthalBeamwidth() const DIS::AcousticBeamFundamentalParameter
getBeamCenterAzimuth() const DIS::AcousticBeamFundamentalParameter
getBeamCenterDE() const DIS::AcousticBeamFundamentalParameter
getDeBeamwidth() const DIS::AcousticBeamFundamentalParameter
getMarshalledSize() const DIS::AcousticBeamFundamentalParameter [virtual]
getScanPattern() const DIS::AcousticBeamFundamentalParameter
marshal(DataStream &dataStream) const DIS::AcousticBeamFundamentalParameter [virtual]
operator==(const AcousticBeamFundamentalParameter &rhs) const DIS::AcousticBeamFundamentalParameter
setActiveEmissionParameterIndex(unsigned short pX)DIS::AcousticBeamFundamentalParameter
setAzimuthalBeamwidth(float pX)DIS::AcousticBeamFundamentalParameter
setBeamCenterAzimuth(float pX)DIS::AcousticBeamFundamentalParameter
setBeamCenterDE(float pX)DIS::AcousticBeamFundamentalParameter
setDeBeamwidth(float pX)DIS::AcousticBeamFundamentalParameter
setScanPattern(unsigned short pX)DIS::AcousticBeamFundamentalParameter
unmarshal(DataStream &dataStream)DIS::AcousticBeamFundamentalParameter [virtual]
~AcousticBeamFundamentalParameter()DIS::AcousticBeamFundamentalParameter [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_acoustic_beam_fundamental_parameter.html b/cpp/docs/html/class_d_i_s_1_1_acoustic_beam_fundamental_parameter.html new file mode 100644 index 00000000..82b8a8e3 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_acoustic_beam_fundamental_parameter.html @@ -0,0 +1,540 @@ + + +open-dis: DIS::AcousticBeamFundamentalParameter Class Reference + + + + + +
+

DIS::AcousticBeamFundamentalParameter Class Reference

#include <AcousticBeamFundamentalParameter.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 AcousticBeamFundamentalParameter ()
virtual ~AcousticBeamFundamentalParameter ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned short getActiveEmissionParameterIndex () const
void setActiveEmissionParameterIndex (unsigned short pX)
unsigned short getScanPattern () const
void setScanPattern (unsigned short pX)
float getBeamCenterAzimuth () const
void setBeamCenterAzimuth (float pX)
float getAzimuthalBeamwidth () const
void setAzimuthalBeamwidth (float pX)
float getBeamCenterDE () const
void setBeamCenterDE (float pX)
float getDeBeamwidth () const
void setDeBeamwidth (float pX)
virtual int getMarshalledSize () const
bool operator== (const AcousticBeamFundamentalParameter &rhs) const

Protected Attributes

unsigned short _activeEmissionParameterIndex
unsigned short _scanPattern
float _beamCenterAzimuth
float _azimuthalBeamwidth
float _beamCenterDE
float _deBeamwidth
+


Detailed Description

+Used in UaPdu

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
AcousticBeamFundamentalParameter::AcousticBeamFundamentalParameter (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
AcousticBeamFundamentalParameter::~AcousticBeamFundamentalParameter (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned short AcousticBeamFundamentalParameter::getActiveEmissionParameterIndex (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float AcousticBeamFundamentalParameter::getAzimuthalBeamwidth (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float AcousticBeamFundamentalParameter::getBeamCenterAzimuth (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float AcousticBeamFundamentalParameter::getBeamCenterDE (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float AcousticBeamFundamentalParameter::getDeBeamwidth (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int AcousticBeamFundamentalParameter::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short AcousticBeamFundamentalParameter::getScanPattern (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcousticBeamFundamentalParameter::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool AcousticBeamFundamentalParameter::operator== (const AcousticBeamFundamentalParameter rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcousticBeamFundamentalParameter::setActiveEmissionParameterIndex (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcousticBeamFundamentalParameter::setAzimuthalBeamwidth (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcousticBeamFundamentalParameter::setBeamCenterAzimuth (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcousticBeamFundamentalParameter::setBeamCenterDE (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcousticBeamFundamentalParameter::setDeBeamwidth (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcousticBeamFundamentalParameter::setScanPattern (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcousticBeamFundamentalParameter::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+ +
+ +

+parameter index +

+

+ +

+ +
+ +

+azimuthal beamwidth +

+

+ +

+ +
+ +

+beam center azimuth +

+

+ +

+ +
+ +

+beam center +

+

+ +

+ +
+ +

+DE beamwidth (vertical beamwidth) +

+

+ +

+
+ + + + +
unsigned short DIS::AcousticBeamFundamentalParameter::_scanPattern [protected]
+
+
+ +

+scan pattern +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_acoustic_emitter-members.html b/cpp/docs/html/class_d_i_s_1_1_acoustic_emitter-members.html new file mode 100644 index 00000000..247b73af --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_acoustic_emitter-members.html @@ -0,0 +1,47 @@ + + +open-dis: Member List + + + + + +
+

DIS::AcousticEmitter Member List

This is the complete list of members for DIS::AcousticEmitter, including all inherited members.

+ + + + + + + + + + + + + + + +
_acousticIdNumberDIS::AcousticEmitter [protected]
_acousticNameDIS::AcousticEmitter [protected]
_functionDIS::AcousticEmitter [protected]
AcousticEmitter()DIS::AcousticEmitter
getAcousticIdNumber() const DIS::AcousticEmitter
getAcousticName() const DIS::AcousticEmitter
getFunction() const DIS::AcousticEmitter
getMarshalledSize() const DIS::AcousticEmitter [virtual]
marshal(DataStream &dataStream) const DIS::AcousticEmitter [virtual]
operator==(const AcousticEmitter &rhs) const DIS::AcousticEmitter
setAcousticIdNumber(unsigned char pX)DIS::AcousticEmitter
setAcousticName(unsigned short pX)DIS::AcousticEmitter
setFunction(unsigned char pX)DIS::AcousticEmitter
unmarshal(DataStream &dataStream)DIS::AcousticEmitter [virtual]
~AcousticEmitter()DIS::AcousticEmitter [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_acoustic_emitter.html b/cpp/docs/html/class_d_i_s_1_1_acoustic_emitter.html new file mode 100644 index 00000000..e0e7955d --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_acoustic_emitter.html @@ -0,0 +1,360 @@ + + +open-dis: DIS::AcousticEmitter Class Reference + + + + + +
+

DIS::AcousticEmitter Class Reference

#include <AcousticEmitter.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 AcousticEmitter ()
virtual ~AcousticEmitter ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned short getAcousticName () const
void setAcousticName (unsigned short pX)
unsigned char getFunction () const
void setFunction (unsigned char pX)
unsigned char getAcousticIdNumber () const
void setAcousticIdNumber (unsigned char pX)
virtual int getMarshalledSize () const
bool operator== (const AcousticEmitter &rhs) const

Protected Attributes

unsigned short _acousticName
unsigned char _function
unsigned char _acousticIdNumber
+


Detailed Description

+Section 5.2.35. information about a specific UA emmtter

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
AcousticEmitter::AcousticEmitter (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
AcousticEmitter::~AcousticEmitter (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned char AcousticEmitter::getAcousticIdNumber (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short AcousticEmitter::getAcousticName (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char AcousticEmitter::getFunction (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int AcousticEmitter::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcousticEmitter::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool AcousticEmitter::operator== (const AcousticEmitter rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcousticEmitter::setAcousticIdNumber (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcousticEmitter::setAcousticName (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcousticEmitter::setFunction (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcousticEmitter::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned char DIS::AcousticEmitter::_acousticIdNumber [protected]
+
+
+ +

+The UA emitter identification number relative to a specific system +

+

+ +

+
+ + + + +
unsigned short DIS::AcousticEmitter::_acousticName [protected]
+
+
+ +

+the system for a particular UA emitter, and an enumeration +

+

+ +

+
+ + + + +
unsigned char DIS::AcousticEmitter::_function [protected]
+
+
+ +

+The function of the acoustic system +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_acoustic_emitter_system-members.html b/cpp/docs/html/class_d_i_s_1_1_acoustic_emitter_system-members.html new file mode 100644 index 00000000..d220c273 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_acoustic_emitter_system-members.html @@ -0,0 +1,47 @@ + + +open-dis: Member List + + + + + + +
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_acoustic_emitter_system.html b/cpp/docs/html/class_d_i_s_1_1_acoustic_emitter_system.html new file mode 100644 index 00000000..5196db0a --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_acoustic_emitter_system.html @@ -0,0 +1,360 @@ + + +open-dis: DIS::AcousticEmitterSystem Class Reference + + + + + +
+

DIS::AcousticEmitterSystem Class Reference

#include <AcousticEmitterSystem.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 AcousticEmitterSystem ()
virtual ~AcousticEmitterSystem ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned short getAcousticName () const
void setAcousticName (unsigned short pX)
unsigned char getAcousticFunction () const
void setAcousticFunction (unsigned char pX)
unsigned char getAcousticID () const
void setAcousticID (unsigned char pX)
virtual int getMarshalledSize () const
bool operator== (const AcousticEmitterSystem &rhs) const

Protected Attributes

unsigned short _acousticName
unsigned char _acousticFunction
unsigned char _acousticID
+


Detailed Description

+5.3.35: Information about a particular UA emitter shall be represented using an Acoustic Emitter System record. This record shall consist of three fields: Acoustic Name, Function, and Acoustic ID Number

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
AcousticEmitterSystem::AcousticEmitterSystem (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
AcousticEmitterSystem::~AcousticEmitterSystem (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned char AcousticEmitterSystem::getAcousticFunction (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char AcousticEmitterSystem::getAcousticID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short AcousticEmitterSystem::getAcousticName (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int AcousticEmitterSystem::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcousticEmitterSystem::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool AcousticEmitterSystem::operator== (const AcousticEmitterSystem rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcousticEmitterSystem::setAcousticFunction (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcousticEmitterSystem::setAcousticID (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcousticEmitterSystem::setAcousticName (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcousticEmitterSystem::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned char DIS::AcousticEmitterSystem::_acousticFunction [protected]
+
+
+ +

+This field shall describe the function of the acoustic system. +

+

+ +

+
+ + + + +
unsigned char DIS::AcousticEmitterSystem::_acousticID [protected]
+
+
+ +

+This field shall specify the UA emitter identification number relative to a specific system. This field shall be represented by an 8-bit unsigned integer. This field allows the differentiation of multiple systems on an entity, even if in some instances two or more of the systems may be identical UA emitter types. Numbering of systems shall begin with the value 1. +

+

+ +

+
+ + + + +
unsigned short DIS::AcousticEmitterSystem::_acousticName [protected]
+
+
+ +

+This field shall specify the system for a particular UA emitter. +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_acoustic_emitter_system_data-members.html b/cpp/docs/html/class_d_i_s_1_1_acoustic_emitter_system_data-members.html new file mode 100644 index 00000000..b41ab1cd --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_acoustic_emitter_system_data-members.html @@ -0,0 +1,58 @@ + + +open-dis: Member List + + + + + +
+

DIS::AcousticEmitterSystemData Member List

This is the complete list of members for DIS::AcousticEmitterSystemData, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
_acousticEmitterSystemDIS::AcousticEmitterSystemData [protected]
_beamRecordsDIS::AcousticEmitterSystemData [protected]
_emitterLocationDIS::AcousticEmitterSystemData [protected]
_emitterSystemDataLengthDIS::AcousticEmitterSystemData [protected]
_numberOfBeamsDIS::AcousticEmitterSystemData [protected]
_pad2DIS::AcousticEmitterSystemData [protected]
AcousticEmitterSystemData()DIS::AcousticEmitterSystemData
getAcousticEmitterSystem()DIS::AcousticEmitterSystemData
getAcousticEmitterSystem() const DIS::AcousticEmitterSystemData
getBeamRecords()DIS::AcousticEmitterSystemData
getBeamRecords() const DIS::AcousticEmitterSystemData
getEmitterLocation()DIS::AcousticEmitterSystemData
getEmitterLocation() const DIS::AcousticEmitterSystemData
getEmitterSystemDataLength() const DIS::AcousticEmitterSystemData
getMarshalledSize() const DIS::AcousticEmitterSystemData [virtual]
getNumberOfBeams() const DIS::AcousticEmitterSystemData
getPad2() const DIS::AcousticEmitterSystemData
marshal(DataStream &dataStream) const DIS::AcousticEmitterSystemData [virtual]
operator==(const AcousticEmitterSystemData &rhs) const DIS::AcousticEmitterSystemData
setAcousticEmitterSystem(const AcousticEmitterSystem &pX)DIS::AcousticEmitterSystemData
setBeamRecords(const std::vector< AcousticBeamData > &pX)DIS::AcousticEmitterSystemData
setEmitterLocation(const Vector3Float &pX)DIS::AcousticEmitterSystemData
setEmitterSystemDataLength(unsigned char pX)DIS::AcousticEmitterSystemData
setPad2(unsigned short pX)DIS::AcousticEmitterSystemData
unmarshal(DataStream &dataStream)DIS::AcousticEmitterSystemData [virtual]
~AcousticEmitterSystemData()DIS::AcousticEmitterSystemData [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_acoustic_emitter_system_data.html b/cpp/docs/html/class_d_i_s_1_1_acoustic_emitter_system_data.html new file mode 100644 index 00000000..7cb2777a --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_acoustic_emitter_system_data.html @@ -0,0 +1,582 @@ + + +open-dis: DIS::AcousticEmitterSystemData Class Reference + + + + + +
+

DIS::AcousticEmitterSystemData Class Reference

#include <AcousticEmitterSystemData.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 AcousticEmitterSystemData ()
virtual ~AcousticEmitterSystemData ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned char getEmitterSystemDataLength () const
void setEmitterSystemDataLength (unsigned char pX)
unsigned char getNumberOfBeams () const
unsigned short getPad2 () const
void setPad2 (unsigned short pX)
AcousticEmitterSystemgetAcousticEmitterSystem ()
const AcousticEmitterSystemgetAcousticEmitterSystem () const
void setAcousticEmitterSystem (const AcousticEmitterSystem &pX)
Vector3FloatgetEmitterLocation ()
const Vector3FloatgetEmitterLocation () const
void setEmitterLocation (const Vector3Float &pX)
std::vector< AcousticBeamData > & getBeamRecords ()
const std::vector
+< AcousticBeamData > & 
getBeamRecords () const
void setBeamRecords (const std::vector< AcousticBeamData > &pX)
virtual int getMarshalledSize () const
bool operator== (const AcousticEmitterSystemData &rhs) const

Protected Attributes

unsigned char _emitterSystemDataLength
unsigned char _numberOfBeams
unsigned short _pad2
AcousticEmitterSystem _acousticEmitterSystem
Vector3Float _emitterLocation
std::vector< AcousticBeamData_beamRecords
+


Detailed Description

+Used in the UA pdu; ties together an emmitter and a location. This requires manual cleanup; the beam data should not be attached to each emitter system.

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
AcousticEmitterSystemData::AcousticEmitterSystemData (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
AcousticEmitterSystemData::~AcousticEmitterSystemData (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const AcousticEmitterSystem & AcousticEmitterSystemData::getAcousticEmitterSystem (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
AcousticEmitterSystem & AcousticEmitterSystemData::getAcousticEmitterSystem (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< AcousticBeamData > & AcousticEmitterSystemData::getBeamRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< AcousticBeamData > & AcousticEmitterSystemData::getBeamRecords (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Vector3Float & AcousticEmitterSystemData::getEmitterLocation (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Float & AcousticEmitterSystemData::getEmitterLocation (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char AcousticEmitterSystemData::getEmitterSystemDataLength (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int AcousticEmitterSystemData::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char AcousticEmitterSystemData::getNumberOfBeams (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short AcousticEmitterSystemData::getPad2 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcousticEmitterSystemData::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool AcousticEmitterSystemData::operator== (const AcousticEmitterSystemData rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcousticEmitterSystemData::setAcousticEmitterSystem (const AcousticEmitterSystem pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcousticEmitterSystemData::setBeamRecords (const std::vector< AcousticBeamData > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcousticEmitterSystemData::setEmitterLocation (const Vector3Float pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcousticEmitterSystemData::setEmitterSystemDataLength (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcousticEmitterSystemData::setPad2 (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AcousticEmitterSystemData::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+ +
+ +

+This field shall specify the system for a particular UA emitter. +

+

+ +

+ +
+ +

+For each beam in numberOfBeams, an emitter system. This is not right--the beam records need to be at the end of the PDU, rather than attached to each system. +

+

+ +

+ +
+ +

+Represents the location wrt the entity +

+

+ +

+
+ + + + +
unsigned char DIS::AcousticEmitterSystemData::_emitterSystemDataLength [protected]
+
+
+ +

+Length of emitter system data +

+

+ +

+
+ + + + +
unsigned char DIS::AcousticEmitterSystemData::_numberOfBeams [protected]
+
+
+ +

+Number of beams +

+

+ +

+
+ + + + +
unsigned short DIS::AcousticEmitterSystemData::_pad2 [protected]
+
+
+ +

+padding +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_action_request_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_action_request_pdu-members.html new file mode 100644 index 00000000..1169e59e --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_action_request_pdu-members.html @@ -0,0 +1,91 @@ + + +open-dis: Member List + + + + + +
+

DIS::ActionRequestPdu Member List

This is the complete list of members for DIS::ActionRequestPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_actionIDDIS::ActionRequestPdu [protected]
_exerciseIDDIS::Pdu [protected]
_fixedDatumsDIS::ActionRequestPdu [protected]
_lengthDIS::Pdu [protected]
_numberOfFixedDatumRecordsDIS::ActionRequestPdu [protected]
_numberOfVariableDatumRecordsDIS::ActionRequestPdu [protected]
_originatingEntityIDDIS::SimulationManagementFamilyPdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingEntityIDDIS::SimulationManagementFamilyPdu [protected]
_requestIDDIS::ActionRequestPdu [protected]
_timestampDIS::Pdu [protected]
_variableDatumsDIS::ActionRequestPdu [protected]
ActionRequestPdu()DIS::ActionRequestPdu
getActionID() const DIS::ActionRequestPdu
getExerciseID() const DIS::Pdu
getFixedDatums()DIS::ActionRequestPdu
getFixedDatums() const DIS::ActionRequestPdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::ActionRequestPdu [virtual]
getNumberOfFixedDatumRecords() const DIS::ActionRequestPdu
getNumberOfVariableDatumRecords() const DIS::ActionRequestPdu
getOriginatingEntityID()DIS::SimulationManagementFamilyPdu
getOriginatingEntityID() const DIS::SimulationManagementFamilyPdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingEntityID()DIS::SimulationManagementFamilyPdu
getReceivingEntityID() const DIS::SimulationManagementFamilyPdu
getRequestID() const DIS::ActionRequestPdu
getTimestamp() const DIS::Pdu
getVariableDatums()DIS::ActionRequestPdu
getVariableDatums() const DIS::ActionRequestPdu
marshal(DataStream &dataStream) const DIS::ActionRequestPdu [virtual]
operator==(const ActionRequestPdu &rhs) const DIS::ActionRequestPdu
DIS::SimulationManagementFamilyPdu::operator==(const SimulationManagementFamilyPdu &rhs) const DIS::SimulationManagementFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setActionID(unsigned int pX)DIS::ActionRequestPdu
setExerciseID(unsigned char pX)DIS::Pdu
setFixedDatums(const std::vector< FixedDatum > &pX)DIS::ActionRequestPdu
setLength(unsigned short pX)DIS::Pdu
setOriginatingEntityID(const EntityID &pX)DIS::SimulationManagementFamilyPdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingEntityID(const EntityID &pX)DIS::SimulationManagementFamilyPdu
setRequestID(unsigned int pX)DIS::ActionRequestPdu
setTimestamp(unsigned int pX)DIS::Pdu
setVariableDatums(const std::vector< VariableDatum > &pX)DIS::ActionRequestPdu
SimulationManagementFamilyPdu()DIS::SimulationManagementFamilyPdu
unmarshal(DataStream &dataStream)DIS::ActionRequestPdu [virtual]
~ActionRequestPdu()DIS::ActionRequestPdu [virtual]
~Pdu()DIS::Pdu [virtual]
~SimulationManagementFamilyPdu()DIS::SimulationManagementFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_action_request_pdu.html b/cpp/docs/html/class_d_i_s_1_1_action_request_pdu.html new file mode 100644 index 00000000..9aff4abb --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_action_request_pdu.html @@ -0,0 +1,555 @@ + + +open-dis: DIS::ActionRequestPdu Class Reference + + + + + +
+

DIS::ActionRequestPdu Class Reference

#include <ActionRequestPdu.h> +

+

+Inheritance diagram for DIS::ActionRequestPdu:
+
+ +

+ +DIS::SimulationManagementFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 ActionRequestPdu ()
virtual ~ActionRequestPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned int getRequestID () const
void setRequestID (unsigned int pX)
unsigned int getActionID () const
void setActionID (unsigned int pX)
unsigned int getNumberOfFixedDatumRecords () const
unsigned int getNumberOfVariableDatumRecords () const
std::vector< FixedDatum > & getFixedDatums ()
const std::vector< FixedDatum > & getFixedDatums () const
void setFixedDatums (const std::vector< FixedDatum > &pX)
std::vector< VariableDatum > & getVariableDatums ()
const std::vector
+< VariableDatum > & 
getVariableDatums () const
void setVariableDatums (const std::vector< VariableDatum > &pX)
virtual int getMarshalledSize () const
bool operator== (const ActionRequestPdu &rhs) const

Protected Attributes

unsigned int _requestID
unsigned int _actionID
unsigned int _numberOfFixedDatumRecords
unsigned int _numberOfVariableDatumRecords
std::vector< FixedDatum_fixedDatums
std::vector< VariableDatum_variableDatums
+


Detailed Description

+Section 5.3.6.6. Request from simulation manager to an entity. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
ActionRequestPdu::ActionRequestPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
ActionRequestPdu::~ActionRequestPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned int ActionRequestPdu::getActionID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< FixedDatum > & ActionRequestPdu::getFixedDatums (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< FixedDatum > & ActionRequestPdu::getFixedDatums (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int ActionRequestPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
unsigned int ActionRequestPdu::getNumberOfFixedDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int ActionRequestPdu::getNumberOfVariableDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int ActionRequestPdu::getRequestID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< VariableDatum > & ActionRequestPdu::getVariableDatums (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< VariableDatum > & ActionRequestPdu::getVariableDatums (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ActionRequestPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool ActionRequestPdu::operator== (const ActionRequestPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ActionRequestPdu::setActionID (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ActionRequestPdu::setFixedDatums (const std::vector< FixedDatum > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ActionRequestPdu::setRequestID (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ActionRequestPdu::setVariableDatums (const std::vector< VariableDatum > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ActionRequestPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned int DIS::ActionRequestPdu::_actionID [protected]
+
+
+ +

+identifies the action being requested +

+

+ +

+
+ + + + +
std::vector<FixedDatum> DIS::ActionRequestPdu::_fixedDatums [protected]
+
+
+ +

+variable length list of fixed datums +

+

+ +

+
+ + + + +
unsigned int DIS::ActionRequestPdu::_numberOfFixedDatumRecords [protected]
+
+
+ +

+Number of fixed datum records +

+

+ +

+
+ + + + +
unsigned int DIS::ActionRequestPdu::_numberOfVariableDatumRecords [protected]
+
+
+ +

+Number of variable datum records +

+

+ +

+
+ + + + +
unsigned int DIS::ActionRequestPdu::_requestID [protected]
+
+
+ +

+Request ID that is unique +

+

+ +

+
+ + + + +
std::vector<VariableDatum> DIS::ActionRequestPdu::_variableDatums [protected]
+
+
+ +

+variable length list of variable length datums +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_action_request_pdu.png b/cpp/docs/html/class_d_i_s_1_1_action_request_pdu.png new file mode 100644 index 00000000..6bfb191e Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_action_request_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_action_request_reliable_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_action_request_reliable_pdu-members.html new file mode 100644 index 00000000..64a6ddcd --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_action_request_reliable_pdu-members.html @@ -0,0 +1,100 @@ + + +open-dis: Member List + + + + + +
+

DIS::ActionRequestReliablePdu Member List

This is the complete list of members for DIS::ActionRequestReliablePdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_actionIDDIS::ActionRequestReliablePdu [protected]
_exerciseIDDIS::Pdu [protected]
_fixedDatumRecordsDIS::ActionRequestReliablePdu [protected]
_lengthDIS::Pdu [protected]
_numberOfFixedDatumRecordsDIS::ActionRequestReliablePdu [protected]
_numberOfVariableDatumRecordsDIS::ActionRequestReliablePdu [protected]
_originatingEntityIDDIS::SimulationManagementWithReliabilityFamilyPdu [protected]
_pad1DIS::ActionRequestReliablePdu [protected]
_pad2DIS::ActionRequestReliablePdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingEntityIDDIS::SimulationManagementWithReliabilityFamilyPdu [protected]
_requestIDDIS::ActionRequestReliablePdu [protected]
_requiredReliabilityServiceDIS::ActionRequestReliablePdu [protected]
_timestampDIS::Pdu [protected]
_variableDatumRecordsDIS::ActionRequestReliablePdu [protected]
ActionRequestReliablePdu()DIS::ActionRequestReliablePdu
getActionID() const DIS::ActionRequestReliablePdu
getExerciseID() const DIS::Pdu
getFixedDatumRecords()DIS::ActionRequestReliablePdu
getFixedDatumRecords() const DIS::ActionRequestReliablePdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::ActionRequestReliablePdu [virtual]
getNumberOfFixedDatumRecords() const DIS::ActionRequestReliablePdu
getNumberOfVariableDatumRecords() const DIS::ActionRequestReliablePdu
getOriginatingEntityID()DIS::SimulationManagementWithReliabilityFamilyPdu
getOriginatingEntityID() const DIS::SimulationManagementWithReliabilityFamilyPdu
getPad1() const DIS::ActionRequestReliablePdu
getPad2() const DIS::ActionRequestReliablePdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingEntityID()DIS::SimulationManagementWithReliabilityFamilyPdu
getReceivingEntityID() const DIS::SimulationManagementWithReliabilityFamilyPdu
getRequestID() const DIS::ActionRequestReliablePdu
getRequiredReliabilityService() const DIS::ActionRequestReliablePdu
getTimestamp() const DIS::Pdu
getVariableDatumRecords()DIS::ActionRequestReliablePdu
getVariableDatumRecords() const DIS::ActionRequestReliablePdu
marshal(DataStream &dataStream) const DIS::ActionRequestReliablePdu [virtual]
operator==(const ActionRequestReliablePdu &rhs) const DIS::ActionRequestReliablePdu
DIS::SimulationManagementWithReliabilityFamilyPdu::operator==(const SimulationManagementWithReliabilityFamilyPdu &rhs) const DIS::SimulationManagementWithReliabilityFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setActionID(unsigned int pX)DIS::ActionRequestReliablePdu
setExerciseID(unsigned char pX)DIS::Pdu
setFixedDatumRecords(const std::vector< FixedDatum > &pX)DIS::ActionRequestReliablePdu
setLength(unsigned short pX)DIS::Pdu
setOriginatingEntityID(const EntityID &pX)DIS::SimulationManagementWithReliabilityFamilyPdu
setPad1(unsigned short pX)DIS::ActionRequestReliablePdu
setPad2(unsigned char pX)DIS::ActionRequestReliablePdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingEntityID(const EntityID &pX)DIS::SimulationManagementWithReliabilityFamilyPdu
setRequestID(unsigned int pX)DIS::ActionRequestReliablePdu
setRequiredReliabilityService(unsigned char pX)DIS::ActionRequestReliablePdu
setTimestamp(unsigned int pX)DIS::Pdu
setVariableDatumRecords(const std::vector< VariableDatum > &pX)DIS::ActionRequestReliablePdu
SimulationManagementWithReliabilityFamilyPdu()DIS::SimulationManagementWithReliabilityFamilyPdu
unmarshal(DataStream &dataStream)DIS::ActionRequestReliablePdu [virtual]
~ActionRequestReliablePdu()DIS::ActionRequestReliablePdu [virtual]
~Pdu()DIS::Pdu [virtual]
~SimulationManagementWithReliabilityFamilyPdu()DIS::SimulationManagementWithReliabilityFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_action_request_reliable_pdu.html b/cpp/docs/html/class_d_i_s_1_1_action_request_reliable_pdu.html new file mode 100644 index 00000000..fae0f5b7 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_action_request_reliable_pdu.html @@ -0,0 +1,735 @@ + + +open-dis: DIS::ActionRequestReliablePdu Class Reference + + + + + +
+

DIS::ActionRequestReliablePdu Class Reference

#include <ActionRequestReliablePdu.h> +

+

+Inheritance diagram for DIS::ActionRequestReliablePdu:
+
+ +

+ +DIS::SimulationManagementWithReliabilityFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 ActionRequestReliablePdu ()
virtual ~ActionRequestReliablePdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned char getRequiredReliabilityService () const
void setRequiredReliabilityService (unsigned char pX)
unsigned short getPad1 () const
void setPad1 (unsigned short pX)
unsigned char getPad2 () const
void setPad2 (unsigned char pX)
unsigned int getRequestID () const
void setRequestID (unsigned int pX)
unsigned int getActionID () const
void setActionID (unsigned int pX)
unsigned int getNumberOfFixedDatumRecords () const
unsigned int getNumberOfVariableDatumRecords () const
std::vector< FixedDatum > & getFixedDatumRecords ()
const std::vector< FixedDatum > & getFixedDatumRecords () const
void setFixedDatumRecords (const std::vector< FixedDatum > &pX)
std::vector< VariableDatum > & getVariableDatumRecords ()
const std::vector
+< VariableDatum > & 
getVariableDatumRecords () const
void setVariableDatumRecords (const std::vector< VariableDatum > &pX)
virtual int getMarshalledSize () const
bool operator== (const ActionRequestReliablePdu &rhs) const

Protected Attributes

unsigned char _requiredReliabilityService
unsigned short _pad1
unsigned char _pad2
unsigned int _requestID
unsigned int _actionID
unsigned int _numberOfFixedDatumRecords
unsigned int _numberOfVariableDatumRecords
std::vector< FixedDatum_fixedDatumRecords
std::vector< VariableDatum_variableDatumRecords
+


Detailed Description

+Section 5.3.12.6: request from a simulation manager to a managed entity to perform a specified action. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
ActionRequestReliablePdu::ActionRequestReliablePdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
ActionRequestReliablePdu::~ActionRequestReliablePdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned int ActionRequestReliablePdu::getActionID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< FixedDatum > & ActionRequestReliablePdu::getFixedDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< FixedDatum > & ActionRequestReliablePdu::getFixedDatumRecords (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int ActionRequestReliablePdu::getMarshalledSize (  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + +
unsigned int ActionRequestReliablePdu::getNumberOfFixedDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int ActionRequestReliablePdu::getNumberOfVariableDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short ActionRequestReliablePdu::getPad1 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char ActionRequestReliablePdu::getPad2 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int ActionRequestReliablePdu::getRequestID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char ActionRequestReliablePdu::getRequiredReliabilityService (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< VariableDatum > & ActionRequestReliablePdu::getVariableDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< VariableDatum > & ActionRequestReliablePdu::getVariableDatumRecords (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ActionRequestReliablePdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + + +
bool ActionRequestReliablePdu::operator== (const ActionRequestReliablePdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ActionRequestReliablePdu::setActionID (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ActionRequestReliablePdu::setFixedDatumRecords (const std::vector< FixedDatum > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ActionRequestReliablePdu::setPad1 (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ActionRequestReliablePdu::setPad2 (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ActionRequestReliablePdu::setRequestID (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ActionRequestReliablePdu::setRequiredReliabilityService (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ActionRequestReliablePdu::setVariableDatumRecords (const std::vector< VariableDatum > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ActionRequestReliablePdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+ +

+


Member Data Documentation

+ +
+
+ + + + +
unsigned int DIS::ActionRequestReliablePdu::_actionID [protected]
+
+
+ +

+request ID +

+

+ +

+ +
+ +

+Fixed datum records +

+

+ +

+
+ + + + +
unsigned int DIS::ActionRequestReliablePdu::_numberOfFixedDatumRecords [protected]
+
+
+ +

+Fixed datum record count +

+

+ +

+ +
+ +

+variable datum record count +

+

+ +

+
+ + + + +
unsigned short DIS::ActionRequestReliablePdu::_pad1 [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
unsigned char DIS::ActionRequestReliablePdu::_pad2 [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
unsigned int DIS::ActionRequestReliablePdu::_requestID [protected]
+
+
+ +

+request ID +

+

+ +

+
+ + + + +
unsigned char DIS::ActionRequestReliablePdu::_requiredReliabilityService [protected]
+
+
+ +

+level of reliability service used for this transaction +

+

+ +

+ +
+ +

+Variable datum records +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_action_request_reliable_pdu.png b/cpp/docs/html/class_d_i_s_1_1_action_request_reliable_pdu.png new file mode 100644 index 00000000..43ce6577 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_action_request_reliable_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_action_response_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_action_response_pdu-members.html new file mode 100644 index 00000000..f18ea158 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_action_response_pdu-members.html @@ -0,0 +1,91 @@ + + +open-dis: Member List + + + + + +
+

DIS::ActionResponsePdu Member List

This is the complete list of members for DIS::ActionResponsePdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_fixedDatumsDIS::ActionResponsePdu [protected]
_lengthDIS::Pdu [protected]
_numberOfFixedDatumRecordsDIS::ActionResponsePdu [protected]
_numberOfVariableDatumRecordsDIS::ActionResponsePdu [protected]
_originatingEntityIDDIS::SimulationManagementFamilyPdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingEntityIDDIS::SimulationManagementFamilyPdu [protected]
_requestIDDIS::ActionResponsePdu [protected]
_requestStatusDIS::ActionResponsePdu [protected]
_timestampDIS::Pdu [protected]
_variableDatumsDIS::ActionResponsePdu [protected]
ActionResponsePdu()DIS::ActionResponsePdu
getExerciseID() const DIS::Pdu
getFixedDatums()DIS::ActionResponsePdu
getFixedDatums() const DIS::ActionResponsePdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::ActionResponsePdu [virtual]
getNumberOfFixedDatumRecords() const DIS::ActionResponsePdu
getNumberOfVariableDatumRecords() const DIS::ActionResponsePdu
getOriginatingEntityID()DIS::SimulationManagementFamilyPdu
getOriginatingEntityID() const DIS::SimulationManagementFamilyPdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingEntityID()DIS::SimulationManagementFamilyPdu
getReceivingEntityID() const DIS::SimulationManagementFamilyPdu
getRequestID() const DIS::ActionResponsePdu
getRequestStatus() const DIS::ActionResponsePdu
getTimestamp() const DIS::Pdu
getVariableDatums()DIS::ActionResponsePdu
getVariableDatums() const DIS::ActionResponsePdu
marshal(DataStream &dataStream) const DIS::ActionResponsePdu [virtual]
operator==(const ActionResponsePdu &rhs) const DIS::ActionResponsePdu
DIS::SimulationManagementFamilyPdu::operator==(const SimulationManagementFamilyPdu &rhs) const DIS::SimulationManagementFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setFixedDatums(const std::vector< FixedDatum > &pX)DIS::ActionResponsePdu
setLength(unsigned short pX)DIS::Pdu
setOriginatingEntityID(const EntityID &pX)DIS::SimulationManagementFamilyPdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingEntityID(const EntityID &pX)DIS::SimulationManagementFamilyPdu
setRequestID(unsigned int pX)DIS::ActionResponsePdu
setRequestStatus(unsigned int pX)DIS::ActionResponsePdu
setTimestamp(unsigned int pX)DIS::Pdu
setVariableDatums(const std::vector< VariableDatum > &pX)DIS::ActionResponsePdu
SimulationManagementFamilyPdu()DIS::SimulationManagementFamilyPdu
unmarshal(DataStream &dataStream)DIS::ActionResponsePdu [virtual]
~ActionResponsePdu()DIS::ActionResponsePdu [virtual]
~Pdu()DIS::Pdu [virtual]
~SimulationManagementFamilyPdu()DIS::SimulationManagementFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_action_response_pdu.html b/cpp/docs/html/class_d_i_s_1_1_action_response_pdu.html new file mode 100644 index 00000000..01fb8d5d --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_action_response_pdu.html @@ -0,0 +1,555 @@ + + +open-dis: DIS::ActionResponsePdu Class Reference + + + + + +
+

DIS::ActionResponsePdu Class Reference

#include <ActionResponsePdu.h> +

+

+Inheritance diagram for DIS::ActionResponsePdu:
+
+ +

+ +DIS::SimulationManagementFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 ActionResponsePdu ()
virtual ~ActionResponsePdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned int getRequestID () const
void setRequestID (unsigned int pX)
unsigned int getRequestStatus () const
void setRequestStatus (unsigned int pX)
unsigned int getNumberOfFixedDatumRecords () const
unsigned int getNumberOfVariableDatumRecords () const
std::vector< FixedDatum > & getFixedDatums ()
const std::vector< FixedDatum > & getFixedDatums () const
void setFixedDatums (const std::vector< FixedDatum > &pX)
std::vector< VariableDatum > & getVariableDatums ()
const std::vector
+< VariableDatum > & 
getVariableDatums () const
void setVariableDatums (const std::vector< VariableDatum > &pX)
virtual int getMarshalledSize () const
bool operator== (const ActionResponsePdu &rhs) const

Protected Attributes

unsigned int _requestID
unsigned int _requestStatus
unsigned int _numberOfFixedDatumRecords
unsigned int _numberOfVariableDatumRecords
std::vector< FixedDatum_fixedDatums
std::vector< VariableDatum_variableDatums
+


Detailed Description

+Section 5.3.6.7. response to an action request PDU. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
ActionResponsePdu::ActionResponsePdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
ActionResponsePdu::~ActionResponsePdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const std::vector< FixedDatum > & ActionResponsePdu::getFixedDatums (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< FixedDatum > & ActionResponsePdu::getFixedDatums (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int ActionResponsePdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
unsigned int ActionResponsePdu::getNumberOfFixedDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int ActionResponsePdu::getNumberOfVariableDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int ActionResponsePdu::getRequestID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int ActionResponsePdu::getRequestStatus (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< VariableDatum > & ActionResponsePdu::getVariableDatums (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< VariableDatum > & ActionResponsePdu::getVariableDatums (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ActionResponsePdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool ActionResponsePdu::operator== (const ActionResponsePdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ActionResponsePdu::setFixedDatums (const std::vector< FixedDatum > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ActionResponsePdu::setRequestID (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ActionResponsePdu::setRequestStatus (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ActionResponsePdu::setVariableDatums (const std::vector< VariableDatum > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ActionResponsePdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
std::vector<FixedDatum> DIS::ActionResponsePdu::_fixedDatums [protected]
+
+
+ +

+variable length list of fixed datums +

+

+ +

+
+ + + + +
unsigned int DIS::ActionResponsePdu::_numberOfFixedDatumRecords [protected]
+
+
+ +

+Number of fixed datum records +

+

+ +

+
+ + + + +
unsigned int DIS::ActionResponsePdu::_numberOfVariableDatumRecords [protected]
+
+
+ +

+Number of variable datum records +

+

+ +

+
+ + + + +
unsigned int DIS::ActionResponsePdu::_requestID [protected]
+
+
+ +

+Request ID that is unique +

+

+ +

+
+ + + + +
unsigned int DIS::ActionResponsePdu::_requestStatus [protected]
+
+
+ +

+Status of response +

+

+ +

+
+ + + + +
std::vector<VariableDatum> DIS::ActionResponsePdu::_variableDatums [protected]
+
+
+ +

+variable length list of variable length datums +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_action_response_pdu.png b/cpp/docs/html/class_d_i_s_1_1_action_response_pdu.png new file mode 100644 index 00000000..347e3a9f Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_action_response_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_action_response_reliable_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_action_response_reliable_pdu-members.html new file mode 100644 index 00000000..f7e51c04 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_action_response_reliable_pdu-members.html @@ -0,0 +1,91 @@ + + +open-dis: Member List + + + + + +
+

DIS::ActionResponseReliablePdu Member List

This is the complete list of members for DIS::ActionResponseReliablePdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_fixedDatumRecordsDIS::ActionResponseReliablePdu [protected]
_lengthDIS::Pdu [protected]
_numberOfFixedDatumRecordsDIS::ActionResponseReliablePdu [protected]
_numberOfVariableDatumRecordsDIS::ActionResponseReliablePdu [protected]
_originatingEntityIDDIS::SimulationManagementWithReliabilityFamilyPdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingEntityIDDIS::SimulationManagementWithReliabilityFamilyPdu [protected]
_requestIDDIS::ActionResponseReliablePdu [protected]
_responseStatusDIS::ActionResponseReliablePdu [protected]
_timestampDIS::Pdu [protected]
_variableDatumRecordsDIS::ActionResponseReliablePdu [protected]
ActionResponseReliablePdu()DIS::ActionResponseReliablePdu
getExerciseID() const DIS::Pdu
getFixedDatumRecords()DIS::ActionResponseReliablePdu
getFixedDatumRecords() const DIS::ActionResponseReliablePdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::ActionResponseReliablePdu [virtual]
getNumberOfFixedDatumRecords() const DIS::ActionResponseReliablePdu
getNumberOfVariableDatumRecords() const DIS::ActionResponseReliablePdu
getOriginatingEntityID()DIS::SimulationManagementWithReliabilityFamilyPdu
getOriginatingEntityID() const DIS::SimulationManagementWithReliabilityFamilyPdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingEntityID()DIS::SimulationManagementWithReliabilityFamilyPdu
getReceivingEntityID() const DIS::SimulationManagementWithReliabilityFamilyPdu
getRequestID() const DIS::ActionResponseReliablePdu
getResponseStatus() const DIS::ActionResponseReliablePdu
getTimestamp() const DIS::Pdu
getVariableDatumRecords()DIS::ActionResponseReliablePdu
getVariableDatumRecords() const DIS::ActionResponseReliablePdu
marshal(DataStream &dataStream) const DIS::ActionResponseReliablePdu [virtual]
operator==(const ActionResponseReliablePdu &rhs) const DIS::ActionResponseReliablePdu
DIS::SimulationManagementWithReliabilityFamilyPdu::operator==(const SimulationManagementWithReliabilityFamilyPdu &rhs) const DIS::SimulationManagementWithReliabilityFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setFixedDatumRecords(const std::vector< FixedDatum > &pX)DIS::ActionResponseReliablePdu
setLength(unsigned short pX)DIS::Pdu
setOriginatingEntityID(const EntityID &pX)DIS::SimulationManagementWithReliabilityFamilyPdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingEntityID(const EntityID &pX)DIS::SimulationManagementWithReliabilityFamilyPdu
setRequestID(unsigned int pX)DIS::ActionResponseReliablePdu
setResponseStatus(unsigned int pX)DIS::ActionResponseReliablePdu
setTimestamp(unsigned int pX)DIS::Pdu
setVariableDatumRecords(const std::vector< VariableDatum > &pX)DIS::ActionResponseReliablePdu
SimulationManagementWithReliabilityFamilyPdu()DIS::SimulationManagementWithReliabilityFamilyPdu
unmarshal(DataStream &dataStream)DIS::ActionResponseReliablePdu [virtual]
~ActionResponseReliablePdu()DIS::ActionResponseReliablePdu [virtual]
~Pdu()DIS::Pdu [virtual]
~SimulationManagementWithReliabilityFamilyPdu()DIS::SimulationManagementWithReliabilityFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_action_response_reliable_pdu.html b/cpp/docs/html/class_d_i_s_1_1_action_response_reliable_pdu.html new file mode 100644 index 00000000..b636ea5a --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_action_response_reliable_pdu.html @@ -0,0 +1,555 @@ + + +open-dis: DIS::ActionResponseReliablePdu Class Reference + + + + + +
+

DIS::ActionResponseReliablePdu Class Reference

#include <ActionResponseReliablePdu.h> +

+

+Inheritance diagram for DIS::ActionResponseReliablePdu:
+
+ +

+ +DIS::SimulationManagementWithReliabilityFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 ActionResponseReliablePdu ()
virtual ~ActionResponseReliablePdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned int getRequestID () const
void setRequestID (unsigned int pX)
unsigned int getResponseStatus () const
void setResponseStatus (unsigned int pX)
unsigned int getNumberOfFixedDatumRecords () const
unsigned int getNumberOfVariableDatumRecords () const
std::vector< FixedDatum > & getFixedDatumRecords ()
const std::vector< FixedDatum > & getFixedDatumRecords () const
void setFixedDatumRecords (const std::vector< FixedDatum > &pX)
std::vector< VariableDatum > & getVariableDatumRecords ()
const std::vector
+< VariableDatum > & 
getVariableDatumRecords () const
void setVariableDatumRecords (const std::vector< VariableDatum > &pX)
virtual int getMarshalledSize () const
bool operator== (const ActionResponseReliablePdu &rhs) const

Protected Attributes

unsigned int _requestID
unsigned int _responseStatus
unsigned int _numberOfFixedDatumRecords
unsigned int _numberOfVariableDatumRecords
std::vector< FixedDatum_fixedDatumRecords
std::vector< VariableDatum_variableDatumRecords
+


Detailed Description

+Section 5.3.12.7: Response from an entity to an action request PDU. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
ActionResponseReliablePdu::ActionResponseReliablePdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
ActionResponseReliablePdu::~ActionResponseReliablePdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const std::vector< FixedDatum > & ActionResponseReliablePdu::getFixedDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< FixedDatum > & ActionResponseReliablePdu::getFixedDatumRecords (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int ActionResponseReliablePdu::getMarshalledSize (  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + +
unsigned int ActionResponseReliablePdu::getNumberOfFixedDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int ActionResponseReliablePdu::getNumberOfVariableDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int ActionResponseReliablePdu::getRequestID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int ActionResponseReliablePdu::getResponseStatus (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< VariableDatum > & ActionResponseReliablePdu::getVariableDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< VariableDatum > & ActionResponseReliablePdu::getVariableDatumRecords (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ActionResponseReliablePdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + + +
bool ActionResponseReliablePdu::operator== (const ActionResponseReliablePdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ActionResponseReliablePdu::setFixedDatumRecords (const std::vector< FixedDatum > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ActionResponseReliablePdu::setRequestID (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ActionResponseReliablePdu::setResponseStatus (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ActionResponseReliablePdu::setVariableDatumRecords (const std::vector< VariableDatum > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ActionResponseReliablePdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+ +

+


Member Data Documentation

+ +
+ +
+ +

+Fixed datum records +

+

+ +

+ +
+ +

+Fixed datum record count +

+

+ +

+ +
+ +

+variable datum record count +

+

+ +

+
+ + + + +
unsigned int DIS::ActionResponseReliablePdu::_requestID [protected]
+
+
+ +

+request ID +

+

+ +

+
+ + + + +
unsigned int DIS::ActionResponseReliablePdu::_responseStatus [protected]
+
+
+ +

+status of response +

+

+ +

+ +
+ +

+Variable datum records +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_action_response_reliable_pdu.png b/cpp/docs/html/class_d_i_s_1_1_action_response_reliable_pdu.png new file mode 100644 index 00000000..9c76cb8e Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_action_response_reliable_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_aggregate_i_d-members.html b/cpp/docs/html/class_d_i_s_1_1_aggregate_i_d-members.html new file mode 100644 index 00000000..29e10365 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_aggregate_i_d-members.html @@ -0,0 +1,47 @@ + + +open-dis: Member List + + + + + +
+

DIS::AggregateID Member List

This is the complete list of members for DIS::AggregateID, including all inherited members.

+ + + + + + + + + + + + + + + +
_aggregateIDDIS::AggregateID [protected]
_applicationDIS::AggregateID [protected]
_siteDIS::AggregateID [protected]
AggregateID()DIS::AggregateID
getAggregateID() const DIS::AggregateID
getApplication() const DIS::AggregateID
getMarshalledSize() const DIS::AggregateID [virtual]
getSite() const DIS::AggregateID
marshal(DataStream &dataStream) const DIS::AggregateID [virtual]
operator==(const AggregateID &rhs) const DIS::AggregateID
setAggregateID(unsigned short pX)DIS::AggregateID
setApplication(unsigned short pX)DIS::AggregateID
setSite(unsigned short pX)DIS::AggregateID
unmarshal(DataStream &dataStream)DIS::AggregateID [virtual]
~AggregateID()DIS::AggregateID [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_aggregate_i_d.html b/cpp/docs/html/class_d_i_s_1_1_aggregate_i_d.html new file mode 100644 index 00000000..4a583e90 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_aggregate_i_d.html @@ -0,0 +1,360 @@ + + +open-dis: DIS::AggregateID Class Reference + + + + + +
+

DIS::AggregateID Class Reference

#include <AggregateID.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 AggregateID ()
virtual ~AggregateID ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned short getSite () const
void setSite (unsigned short pX)
unsigned short getApplication () const
void setApplication (unsigned short pX)
unsigned short getAggregateID () const
void setAggregateID (unsigned short pX)
virtual int getMarshalledSize () const
bool operator== (const AggregateID &rhs) const

Protected Attributes

unsigned short _site
unsigned short _application
unsigned short _aggregateID
+


Detailed Description

+Section 5.2.36. Each agregate in a given simulation app is given an aggregate identifier number unique for all other aggregates in that app and in that exercise. The id is valid for the duration of the the exercise.

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
AggregateID::AggregateID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
AggregateID::~AggregateID (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned short AggregateID::getAggregateID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short AggregateID::getApplication (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int AggregateID::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short AggregateID::getSite (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateID::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool AggregateID::operator== (const AggregateID rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateID::setAggregateID (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateID::setApplication (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateID::setSite (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateID::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned short DIS::AggregateID::_aggregateID [protected]
+
+
+ +

+the aggregate ID +

+

+ +

+
+ + + + +
unsigned short DIS::AggregateID::_application [protected]
+
+
+ +

+The application ID +

+

+ +

+
+ + + + +
unsigned short DIS::AggregateID::_site [protected]
+
+
+ +

+The site ID +

+

+


The documentation for this class was generated from the following files:
    +
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateID.h
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateID.cpp
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_aggregate_marking-members.html b/cpp/docs/html/class_d_i_s_1_1_aggregate_marking-members.html new file mode 100644 index 00000000..a71f07a9 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_aggregate_marking-members.html @@ -0,0 +1,45 @@ + + +open-dis: Member List + + + + + +
+

DIS::AggregateMarking Member List

This is the complete list of members for DIS::AggregateMarking, including all inherited members.

+ + + + + + + + + + + + + +
_charactersDIS::AggregateMarking [protected]
_characterSetDIS::AggregateMarking [protected]
AggregateMarking()DIS::AggregateMarking
getCharacters()DIS::AggregateMarking
getCharacters() const DIS::AggregateMarking
getCharacterSet() const DIS::AggregateMarking
getMarshalledSize() const DIS::AggregateMarking [virtual]
marshal(DataStream &dataStream) const DIS::AggregateMarking [virtual]
operator==(const AggregateMarking &rhs) const DIS::AggregateMarking
setCharacters(const char *pX)DIS::AggregateMarking
setCharacterSet(unsigned char pX)DIS::AggregateMarking
unmarshal(DataStream &dataStream)DIS::AggregateMarking [virtual]
~AggregateMarking()DIS::AggregateMarking [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_aggregate_marking.html b/cpp/docs/html/class_d_i_s_1_1_aggregate_marking.html new file mode 100644 index 00000000..0adf0b9a --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_aggregate_marking.html @@ -0,0 +1,321 @@ + + +open-dis: DIS::AggregateMarking Class Reference + + + + + +
+

DIS::AggregateMarking Class Reference

#include <AggregateMarking.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 AggregateMarking ()
virtual ~AggregateMarking ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned char getCharacterSet () const
void setCharacterSet (unsigned char pX)
char * getCharacters ()
const char * getCharacters () const
void setCharacters (const char *pX)
virtual int getMarshalledSize () const
bool operator== (const AggregateMarking &rhs) const

Protected Attributes

unsigned char _characterSet
char _characters [31]
+


Detailed Description

+Section 5.2.37. Specifies the character set used inthe first byte, followed by up to 31 characters of text data.

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
AggregateMarking::AggregateMarking (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
AggregateMarking::~AggregateMarking (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const char * AggregateMarking::getCharacters (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
char * AggregateMarking::getCharacters (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char AggregateMarking::getCharacterSet (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int AggregateMarking::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateMarking::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool AggregateMarking::operator== (const AggregateMarking rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateMarking::setCharacters (const char *  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateMarking::setCharacterSet (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateMarking::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
char DIS::AggregateMarking::_characters[31] [protected]
+
+
+ +

+The characters +

+

+ +

+
+ + + + +
unsigned char DIS::AggregateMarking::_characterSet [protected]
+
+
+ +

+The character set +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_aggregate_state_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_aggregate_state_pdu-members.html new file mode 100644 index 00000000..cca0a316 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_aggregate_state_pdu-members.html @@ -0,0 +1,135 @@ + + +open-dis: Member List + + + + + +
+

DIS::AggregateStatePdu Member List

This is the complete list of members for DIS::AggregateStatePdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_aggregateIDDIS::AggregateStatePdu [protected]
_aggregateIDListDIS::AggregateStatePdu [protected]
_aggregateMarkingDIS::AggregateStatePdu [protected]
_aggregateStateDIS::AggregateStatePdu [protected]
_aggregateTypeDIS::AggregateStatePdu [protected]
_centerOfMassDIS::AggregateStatePdu [protected]
_dimensionsDIS::AggregateStatePdu [protected]
_entityIDListDIS::AggregateStatePdu [protected]
_exerciseIDDIS::Pdu [protected]
_forceIDDIS::AggregateStatePdu [protected]
_formationDIS::AggregateStatePdu [protected]
_lengthDIS::Pdu [protected]
_numberOfDisAggregatesDIS::AggregateStatePdu [protected]
_numberOfDisEntitiesDIS::AggregateStatePdu [protected]
_numberOfSilentAggregateTypesDIS::AggregateStatePdu [protected]
_numberOfSilentEntityTypesDIS::AggregateStatePdu [protected]
_numberOfVariableDatumRecordsDIS::AggregateStatePdu [protected]
_orientationDIS::AggregateStatePdu [protected]
_pad2DIS::AggregateStatePdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_silentAggregateSystemListDIS::AggregateStatePdu [protected]
_silentEntitySystemListDIS::AggregateStatePdu [protected]
_timestampDIS::Pdu [protected]
_variableDatumListDIS::AggregateStatePdu [protected]
_velocityDIS::AggregateStatePdu [protected]
AggregateStatePdu()DIS::AggregateStatePdu
EntityManagementFamilyPdu()DIS::EntityManagementFamilyPdu
getAggregateID()DIS::AggregateStatePdu
getAggregateID() const DIS::AggregateStatePdu
getAggregateIDList()DIS::AggregateStatePdu
getAggregateIDList() const DIS::AggregateStatePdu
getAggregateMarking()DIS::AggregateStatePdu
getAggregateMarking() const DIS::AggregateStatePdu
getAggregateState() const DIS::AggregateStatePdu
getAggregateType()DIS::AggregateStatePdu
getAggregateType() const DIS::AggregateStatePdu
getCenterOfMass()DIS::AggregateStatePdu
getCenterOfMass() const DIS::AggregateStatePdu
getDimensions()DIS::AggregateStatePdu
getDimensions() const DIS::AggregateStatePdu
getEntityIDList()DIS::AggregateStatePdu
getEntityIDList() const DIS::AggregateStatePdu
getExerciseID() const DIS::Pdu
getForceID() const DIS::AggregateStatePdu
getFormation() const DIS::AggregateStatePdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::AggregateStatePdu [virtual]
getNumberOfDisAggregates() const DIS::AggregateStatePdu
getNumberOfDisEntities() const DIS::AggregateStatePdu
getNumberOfSilentAggregateTypes() const DIS::AggregateStatePdu
getNumberOfSilentEntityTypes() const DIS::AggregateStatePdu
getNumberOfVariableDatumRecords() const DIS::AggregateStatePdu
getOrientation()DIS::AggregateStatePdu
getOrientation() const DIS::AggregateStatePdu
getPad2() const DIS::AggregateStatePdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getSilentAggregateSystemList()DIS::AggregateStatePdu
getSilentAggregateSystemList() const DIS::AggregateStatePdu
getSilentEntitySystemList()DIS::AggregateStatePdu
getSilentEntitySystemList() const DIS::AggregateStatePdu
getTimestamp() const DIS::Pdu
getVariableDatumList()DIS::AggregateStatePdu
getVariableDatumList() const DIS::AggregateStatePdu
getVelocity()DIS::AggregateStatePdu
getVelocity() const DIS::AggregateStatePdu
marshal(DataStream &dataStream) const DIS::AggregateStatePdu [virtual]
operator==(const AggregateStatePdu &rhs) const DIS::AggregateStatePdu
DIS::EntityManagementFamilyPdu::operator==(const EntityManagementFamilyPdu &rhs) const DIS::EntityManagementFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setAggregateID(const EntityID &pX)DIS::AggregateStatePdu
setAggregateIDList(const std::vector< AggregateID > &pX)DIS::AggregateStatePdu
setAggregateMarking(const AggregateMarking &pX)DIS::AggregateStatePdu
setAggregateState(unsigned char pX)DIS::AggregateStatePdu
setAggregateType(const EntityType &pX)DIS::AggregateStatePdu
setCenterOfMass(const Vector3Double &pX)DIS::AggregateStatePdu
setDimensions(const Vector3Float &pX)DIS::AggregateStatePdu
setEntityIDList(const std::vector< EntityID > &pX)DIS::AggregateStatePdu
setExerciseID(unsigned char pX)DIS::Pdu
setForceID(unsigned char pX)DIS::AggregateStatePdu
setFormation(unsigned int pX)DIS::AggregateStatePdu
setLength(unsigned short pX)DIS::Pdu
setOrientation(const Orientation &pX)DIS::AggregateStatePdu
setPad2(unsigned char pX)DIS::AggregateStatePdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setSilentAggregateSystemList(const std::vector< EntityType > &pX)DIS::AggregateStatePdu
setSilentEntitySystemList(const std::vector< EntityType > &pX)DIS::AggregateStatePdu
setTimestamp(unsigned int pX)DIS::Pdu
setVariableDatumList(const std::vector< VariableDatum > &pX)DIS::AggregateStatePdu
setVelocity(const Vector3Float &pX)DIS::AggregateStatePdu
unmarshal(DataStream &dataStream)DIS::AggregateStatePdu [virtual]
~AggregateStatePdu()DIS::AggregateStatePdu [virtual]
~EntityManagementFamilyPdu()DIS::EntityManagementFamilyPdu [virtual]
~Pdu()DIS::Pdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_aggregate_state_pdu.html b/cpp/docs/html/class_d_i_s_1_1_aggregate_state_pdu.html new file mode 100644 index 00000000..318efd0b --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_aggregate_state_pdu.html @@ -0,0 +1,1599 @@ + + +open-dis: DIS::AggregateStatePdu Class Reference + + + + + +
+

DIS::AggregateStatePdu Class Reference

#include <AggregateStatePdu.h> +

+

+Inheritance diagram for DIS::AggregateStatePdu:
+
+ +

+ +DIS::EntityManagementFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 AggregateStatePdu ()
virtual ~AggregateStatePdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetAggregateID ()
const EntityIDgetAggregateID () const
void setAggregateID (const EntityID &pX)
unsigned char getForceID () const
void setForceID (unsigned char pX)
unsigned char getAggregateState () const
void setAggregateState (unsigned char pX)
EntityTypegetAggregateType ()
const EntityTypegetAggregateType () const
void setAggregateType (const EntityType &pX)
unsigned int getFormation () const
void setFormation (unsigned int pX)
AggregateMarkinggetAggregateMarking ()
const AggregateMarkinggetAggregateMarking () const
void setAggregateMarking (const AggregateMarking &pX)
Vector3FloatgetDimensions ()
const Vector3FloatgetDimensions () const
void setDimensions (const Vector3Float &pX)
OrientationgetOrientation ()
const OrientationgetOrientation () const
void setOrientation (const Orientation &pX)
Vector3DoublegetCenterOfMass ()
const Vector3DoublegetCenterOfMass () const
void setCenterOfMass (const Vector3Double &pX)
Vector3FloatgetVelocity ()
const Vector3FloatgetVelocity () const
void setVelocity (const Vector3Float &pX)
unsigned short getNumberOfDisAggregates () const
unsigned short getNumberOfDisEntities () const
unsigned short getNumberOfSilentAggregateTypes () const
unsigned short getNumberOfSilentEntityTypes () const
std::vector< AggregateID > & getAggregateIDList ()
const std::vector< AggregateID > & getAggregateIDList () const
void setAggregateIDList (const std::vector< AggregateID > &pX)
std::vector< EntityID > & getEntityIDList ()
const std::vector< EntityID > & getEntityIDList () const
void setEntityIDList (const std::vector< EntityID > &pX)
unsigned char getPad2 () const
void setPad2 (unsigned char pX)
std::vector< EntityType > & getSilentAggregateSystemList ()
const std::vector< EntityType > & getSilentAggregateSystemList () const
void setSilentAggregateSystemList (const std::vector< EntityType > &pX)
std::vector< EntityType > & getSilentEntitySystemList ()
const std::vector< EntityType > & getSilentEntitySystemList () const
void setSilentEntitySystemList (const std::vector< EntityType > &pX)
unsigned int getNumberOfVariableDatumRecords () const
std::vector< VariableDatum > & getVariableDatumList ()
const std::vector
+< VariableDatum > & 
getVariableDatumList () const
void setVariableDatumList (const std::vector< VariableDatum > &pX)
virtual int getMarshalledSize () const
bool operator== (const AggregateStatePdu &rhs) const

Protected Attributes

EntityID _aggregateID
unsigned char _forceID
unsigned char _aggregateState
EntityType _aggregateType
unsigned int _formation
AggregateMarking _aggregateMarking
Vector3Float _dimensions
Orientation _orientation
Vector3Double _centerOfMass
Vector3Float _velocity
unsigned short _numberOfDisAggregates
unsigned short _numberOfDisEntities
unsigned short _numberOfSilentAggregateTypes
unsigned short _numberOfSilentEntityTypes
std::vector< AggregateID_aggregateIDList
std::vector< EntityID_entityIDList
unsigned char _pad2
std::vector< EntityType_silentAggregateSystemList
std::vector< EntityType_silentEntitySystemList
unsigned int _numberOfVariableDatumRecords
std::vector< VariableDatum_variableDatumList
+


Detailed Description

+Section 5.3.9.1 informationa bout aggregating entities anc communicating information about the aggregated entities. requires manual intervention to fix the padding between entityID lists and silent aggregate sysem lists--this padding is dependent on how many entityIDs there are, and needs to be on a 32 bit word boundary. UNFINISHED

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
AggregateStatePdu::AggregateStatePdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
AggregateStatePdu::~AggregateStatePdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const EntityID & AggregateStatePdu::getAggregateID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & AggregateStatePdu::getAggregateID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< AggregateID > & AggregateStatePdu::getAggregateIDList (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< AggregateID > & AggregateStatePdu::getAggregateIDList (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const AggregateMarking & AggregateStatePdu::getAggregateMarking (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
AggregateMarking & AggregateStatePdu::getAggregateMarking (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char AggregateStatePdu::getAggregateState (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityType & AggregateStatePdu::getAggregateType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityType & AggregateStatePdu::getAggregateType (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Vector3Double & AggregateStatePdu::getCenterOfMass (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Double & AggregateStatePdu::getCenterOfMass (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Vector3Float & AggregateStatePdu::getDimensions (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Float & AggregateStatePdu::getDimensions (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< EntityID > & AggregateStatePdu::getEntityIDList (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< EntityID > & AggregateStatePdu::getEntityIDList (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char AggregateStatePdu::getForceID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int AggregateStatePdu::getFormation (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int AggregateStatePdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::EntityManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
unsigned short AggregateStatePdu::getNumberOfDisAggregates (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short AggregateStatePdu::getNumberOfDisEntities (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short AggregateStatePdu::getNumberOfSilentAggregateTypes (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short AggregateStatePdu::getNumberOfSilentEntityTypes (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int AggregateStatePdu::getNumberOfVariableDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Orientation & AggregateStatePdu::getOrientation (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Orientation & AggregateStatePdu::getOrientation (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char AggregateStatePdu::getPad2 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< EntityType > & AggregateStatePdu::getSilentAggregateSystemList (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< EntityType > & AggregateStatePdu::getSilentAggregateSystemList (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< EntityType > & AggregateStatePdu::getSilentEntitySystemList (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< EntityType > & AggregateStatePdu::getSilentEntitySystemList (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< VariableDatum > & AggregateStatePdu::getVariableDatumList (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< VariableDatum > & AggregateStatePdu::getVariableDatumList (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Vector3Float & AggregateStatePdu::getVelocity (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Float & AggregateStatePdu::getVelocity (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateStatePdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::EntityManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool AggregateStatePdu::operator== (const AggregateStatePdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateStatePdu::setAggregateID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateStatePdu::setAggregateIDList (const std::vector< AggregateID > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateStatePdu::setAggregateMarking (const AggregateMarking pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateStatePdu::setAggregateState (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateStatePdu::setAggregateType (const EntityType pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateStatePdu::setCenterOfMass (const Vector3Double pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateStatePdu::setDimensions (const Vector3Float pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateStatePdu::setEntityIDList (const std::vector< EntityID > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateStatePdu::setForceID (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateStatePdu::setFormation (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateStatePdu::setOrientation (const Orientation pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateStatePdu::setPad2 (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateStatePdu::setSilentAggregateSystemList (const std::vector< EntityType > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateStatePdu::setSilentEntitySystemList (const std::vector< EntityType > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateStatePdu::setVariableDatumList (const std::vector< VariableDatum > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateStatePdu::setVelocity (const Vector3Float pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateStatePdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::EntityManagementFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+ +
+ +

+ID of aggregated entities +

+

+ +

+
+ + + + +
std::vector<AggregateID> DIS::AggregateStatePdu::_aggregateIDList [protected]
+
+
+ +

+aggregates list +

+

+ +

+ +
+ +

+marking for aggregate; first char is charset type, rest is char data +

+

+ +

+
+ + + + +
unsigned char DIS::AggregateStatePdu::_aggregateState [protected]
+
+
+ +

+state of aggregate +

+

+ +

+ +
+ +

+entity type of the aggregated entities +

+

+ +

+ +
+ +

+center of mass of the aggregation +

+

+ +

+ +
+ +

+dimensions of bounding box for the aggregated entities, origin at the center of mass +

+

+ +

+
+ + + + +
std::vector<EntityID> DIS::AggregateStatePdu::_entityIDList [protected]
+
+
+ +

+entity ID list +

+

+ +

+
+ + + + +
unsigned char DIS::AggregateStatePdu::_forceID [protected]
+
+
+ +

+force ID +

+

+ +

+
+ + + + +
unsigned int DIS::AggregateStatePdu::_formation [protected]
+
+
+ +

+formation of aggregated entities +

+

+ +

+
+ + + + +
unsigned short DIS::AggregateStatePdu::_numberOfDisAggregates [protected]
+
+
+ +

+number of aggregates +

+

+ +

+
+ + + + +
unsigned short DIS::AggregateStatePdu::_numberOfDisEntities [protected]
+
+
+ +

+number of entities +

+

+ +

+
+ + + + +
unsigned short DIS::AggregateStatePdu::_numberOfSilentAggregateTypes [protected]
+
+
+ +

+number of silent aggregate types +

+

+ +

+
+ + + + +
unsigned short DIS::AggregateStatePdu::_numberOfSilentEntityTypes [protected]
+
+
+ +

+number of silent entity types +

+

+ +

+
+ + + + +
unsigned int DIS::AggregateStatePdu::_numberOfVariableDatumRecords [protected]
+
+
+ +

+number of variable datum records +

+

+ +

+ +
+ +

+orientation of the bounding box +

+

+ +

+
+ + + + +
unsigned char DIS::AggregateStatePdu::_pad2 [protected]
+
+
+ +

+^^^padding to put the start of the next list on a 32 bit boundary. This needs to be fixed +

+

+ +

+ +
+ +

+silent entity types +

+

+ +

+
+ + + + +
std::vector<EntityType> DIS::AggregateStatePdu::_silentEntitySystemList [protected]
+
+
+ +

+silent entity types +

+

+ +

+
+ + + + +
std::vector<VariableDatum> DIS::AggregateStatePdu::_variableDatumList [protected]
+
+
+ +

+variableDatums +

+

+ +

+ +
+ +

+velocity of aggregation +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_aggregate_state_pdu.png b/cpp/docs/html/class_d_i_s_1_1_aggregate_state_pdu.png new file mode 100644 index 00000000..fe5a30b0 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_aggregate_state_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_aggregate_type-members.html b/cpp/docs/html/class_d_i_s_1_1_aggregate_type-members.html new file mode 100644 index 00000000..c07560e8 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_aggregate_type-members.html @@ -0,0 +1,59 @@ + + +open-dis: Member List + + + + + +
+

DIS::AggregateType Member List

This is the complete list of members for DIS::AggregateType, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
_aggregateKindDIS::AggregateType [protected]
_categoryDIS::AggregateType [protected]
_countryDIS::AggregateType [protected]
_domainDIS::AggregateType [protected]
_extraDIS::AggregateType [protected]
_specificDIS::AggregateType [protected]
_subcategoryDIS::AggregateType [protected]
AggregateType()DIS::AggregateType
getAggregateKind() const DIS::AggregateType
getCategory() const DIS::AggregateType
getCountry() const DIS::AggregateType
getDomain() const DIS::AggregateType
getExtra() const DIS::AggregateType
getMarshalledSize() const DIS::AggregateType [virtual]
getSpecific() const DIS::AggregateType
getSubcategory() const DIS::AggregateType
marshal(DataStream &dataStream) const DIS::AggregateType [virtual]
operator==(const AggregateType &rhs) const DIS::AggregateType
setAggregateKind(unsigned char pX)DIS::AggregateType
setCategory(unsigned char pX)DIS::AggregateType
setCountry(unsigned short pX)DIS::AggregateType
setDomain(unsigned char pX)DIS::AggregateType
setExtra(unsigned char pX)DIS::AggregateType
setSpecific(unsigned char pX)DIS::AggregateType
setSubcategory(unsigned char pX)DIS::AggregateType
unmarshal(DataStream &dataStream)DIS::AggregateType [virtual]
~AggregateType()DIS::AggregateType [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_aggregate_type.html b/cpp/docs/html/class_d_i_s_1_1_aggregate_type.html new file mode 100644 index 00000000..7c73aab7 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_aggregate_type.html @@ -0,0 +1,600 @@ + + +open-dis: DIS::AggregateType Class Reference + + + + + +
+

DIS::AggregateType Class Reference

#include <AggregateType.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 AggregateType ()
virtual ~AggregateType ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned char getAggregateKind () const
void setAggregateKind (unsigned char pX)
unsigned char getDomain () const
void setDomain (unsigned char pX)
unsigned short getCountry () const
void setCountry (unsigned short pX)
unsigned char getCategory () const
void setCategory (unsigned char pX)
unsigned char getSubcategory () const
void setSubcategory (unsigned char pX)
unsigned char getSpecific () const
void setSpecific (unsigned char pX)
unsigned char getExtra () const
void setExtra (unsigned char pX)
virtual int getMarshalledSize () const
bool operator== (const AggregateType &rhs) const

Protected Attributes

unsigned char _aggregateKind
unsigned char _domain
unsigned short _country
unsigned char _category
unsigned char _subcategory
unsigned char _specific
unsigned char _extra
+


Detailed Description

+Section 5.2.38. Identifies the type of aggregate including kind of entity, domain (surface, subsurface, air, etc) country, category, etc.

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
AggregateType::AggregateType (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
AggregateType::~AggregateType (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned char AggregateType::getAggregateKind (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char AggregateType::getCategory (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short AggregateType::getCountry (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char AggregateType::getDomain (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char AggregateType::getExtra (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int AggregateType::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char AggregateType::getSpecific (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char AggregateType::getSubcategory (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateType::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool AggregateType::operator== (const AggregateType rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateType::setAggregateKind (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateType::setCategory (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateType::setCountry (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateType::setDomain (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateType::setExtra (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateType::setSpecific (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateType::setSubcategory (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AggregateType::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned char DIS::AggregateType::_aggregateKind [protected]
+
+
+ +

+Kind of entity +

+

+ +

+
+ + + + +
unsigned char DIS::AggregateType::_category [protected]
+
+
+ +

+category of entity +

+

+ +

+
+ + + + +
unsigned short DIS::AggregateType::_country [protected]
+
+
+ +

+country to which the design of the entity is attributed +

+

+ +

+
+ + + + +
unsigned char DIS::AggregateType::_domain [protected]
+
+
+ +

+Domain of entity (air, surface, subsurface, space, etc) +

+

+ +

+
+ + + + +
unsigned char DIS::AggregateType::_extra [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + +
unsigned char DIS::AggregateType::_specific [protected]
+
+
+ +

+specific info based on subcategory field +

+

+ +

+
+ + + + +
unsigned char DIS::AggregateType::_subcategory [protected]
+
+
+ +

+subcategory of entity +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_angular_velocity_vector-members.html b/cpp/docs/html/class_d_i_s_1_1_angular_velocity_vector-members.html new file mode 100644 index 00000000..b13584f2 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_angular_velocity_vector-members.html @@ -0,0 +1,47 @@ + + +open-dis: Member List + + + + + +
+

DIS::AngularVelocityVector Member List

This is the complete list of members for DIS::AngularVelocityVector, including all inherited members.

+ + + + + + + + + + + + + + + +
_xDIS::AngularVelocityVector [protected]
_yDIS::AngularVelocityVector [protected]
_zDIS::AngularVelocityVector [protected]
AngularVelocityVector()DIS::AngularVelocityVector
getMarshalledSize() const DIS::AngularVelocityVector [virtual]
getX() const DIS::AngularVelocityVector
getY() const DIS::AngularVelocityVector
getZ() const DIS::AngularVelocityVector
marshal(DataStream &dataStream) const DIS::AngularVelocityVector [virtual]
operator==(const AngularVelocityVector &rhs) const DIS::AngularVelocityVector
setX(float pX)DIS::AngularVelocityVector
setY(float pX)DIS::AngularVelocityVector
setZ(float pX)DIS::AngularVelocityVector
unmarshal(DataStream &dataStream)DIS::AngularVelocityVector [virtual]
~AngularVelocityVector()DIS::AngularVelocityVector [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_angular_velocity_vector.html b/cpp/docs/html/class_d_i_s_1_1_angular_velocity_vector.html new file mode 100644 index 00000000..9f4516fd --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_angular_velocity_vector.html @@ -0,0 +1,360 @@ + + +open-dis: DIS::AngularVelocityVector Class Reference + + + + + +
+

DIS::AngularVelocityVector Class Reference

#include <AngularVelocityVector.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 AngularVelocityVector ()
virtual ~AngularVelocityVector ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
float getX () const
void setX (float pX)
float getY () const
void setY (float pX)
float getZ () const
void setZ (float pX)
virtual int getMarshalledSize () const
bool operator== (const AngularVelocityVector &rhs) const

Protected Attributes

float _x
float _y
float _z
+


Detailed Description

+5.2.2: angular velocity measured in radians per second out each of the entity's own coordinate axes.

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
AngularVelocityVector::AngularVelocityVector (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
AngularVelocityVector::~AngularVelocityVector (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int AngularVelocityVector::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float AngularVelocityVector::getX (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float AngularVelocityVector::getY (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float AngularVelocityVector::getZ (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AngularVelocityVector::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool AngularVelocityVector::operator== (const AngularVelocityVector rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AngularVelocityVector::setX (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AngularVelocityVector::setY (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AngularVelocityVector::setZ (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AngularVelocityVector::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
float DIS::AngularVelocityVector::_x [protected]
+
+
+ +

+velocity about the x axis +

+

+ +

+
+ + + + +
float DIS::AngularVelocityVector::_y [protected]
+
+
+ +

+velocity about the y axis +

+

+ +

+
+ + + + +
float DIS::AngularVelocityVector::_z [protected]
+
+
+ +

+velocity about the zaxis +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_antenna_location-members.html b/cpp/docs/html/class_d_i_s_1_1_antenna_location-members.html new file mode 100644 index 00000000..58849a43 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_antenna_location-members.html @@ -0,0 +1,46 @@ + + +open-dis: Member List + + + + + +
+

DIS::AntennaLocation Member List

This is the complete list of members for DIS::AntennaLocation, including all inherited members.

+ + + + + + + + + + + + + + +
_antennaLocationDIS::AntennaLocation [protected]
_relativeAntennaLocationDIS::AntennaLocation [protected]
AntennaLocation()DIS::AntennaLocation
getAntennaLocation()DIS::AntennaLocation
getAntennaLocation() const DIS::AntennaLocation
getMarshalledSize() const DIS::AntennaLocation [virtual]
getRelativeAntennaLocation()DIS::AntennaLocation
getRelativeAntennaLocation() const DIS::AntennaLocation
marshal(DataStream &dataStream) const DIS::AntennaLocation [virtual]
operator==(const AntennaLocation &rhs) const DIS::AntennaLocation
setAntennaLocation(const Vector3Double &pX)DIS::AntennaLocation
setRelativeAntennaLocation(const Vector3Float &pX)DIS::AntennaLocation
unmarshal(DataStream &dataStream)DIS::AntennaLocation [virtual]
~AntennaLocation()DIS::AntennaLocation [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_antenna_location.html b/cpp/docs/html/class_d_i_s_1_1_antenna_location.html new file mode 100644 index 00000000..e32a7e15 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_antenna_location.html @@ -0,0 +1,342 @@ + + +open-dis: DIS::AntennaLocation Class Reference + + + + + +
+

DIS::AntennaLocation Class Reference

#include <AntennaLocation.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 AntennaLocation ()
virtual ~AntennaLocation ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
Vector3DoublegetAntennaLocation ()
const Vector3DoublegetAntennaLocation () const
void setAntennaLocation (const Vector3Double &pX)
Vector3FloatgetRelativeAntennaLocation ()
const Vector3FloatgetRelativeAntennaLocation () const
void setRelativeAntennaLocation (const Vector3Float &pX)
virtual int getMarshalledSize () const
bool operator== (const AntennaLocation &rhs) const

Protected Attributes

Vector3Double _antennaLocation
Vector3Float _relativeAntennaLocation
+


Detailed Description

+5.2.3: location of the radiating portion of the antenna, specified in world coordinates and entity coordinates.

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
AntennaLocation::AntennaLocation (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
AntennaLocation::~AntennaLocation (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const Vector3Double & AntennaLocation::getAntennaLocation (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Double & AntennaLocation::getAntennaLocation (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int AntennaLocation::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Vector3Float & AntennaLocation::getRelativeAntennaLocation (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Float & AntennaLocation::getRelativeAntennaLocation (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AntennaLocation::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool AntennaLocation::operator== (const AntennaLocation rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AntennaLocation::setAntennaLocation (const Vector3Double pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AntennaLocation::setRelativeAntennaLocation (const Vector3Float pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void AntennaLocation::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+ +
+ +

+Location of the radiating portion of the antenna in world coordinates +

+

+ +

+ +
+ +

+Location of the radiating portion of the antenna in entity coordinates +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_apa_data-members.html b/cpp/docs/html/class_d_i_s_1_1_apa_data-members.html new file mode 100644 index 00000000..7e12a5be --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_apa_data-members.html @@ -0,0 +1,44 @@ + + +open-dis: Member List + + + + + +
+

DIS::ApaData Member List

This is the complete list of members for DIS::ApaData, including all inherited members.

+ + + + + + + + + + + + +
_parameterIndexDIS::ApaData [protected]
_parameterValueDIS::ApaData [protected]
ApaData()DIS::ApaData
getMarshalledSize() const DIS::ApaData [virtual]
getParameterIndex() const DIS::ApaData
getParameterValue() const DIS::ApaData
marshal(DataStream &dataStream) const DIS::ApaData [virtual]
operator==(const ApaData &rhs) const DIS::ApaData
setParameterIndex(unsigned short pX)DIS::ApaData
setParameterValue(short pX)DIS::ApaData
unmarshal(DataStream &dataStream)DIS::ApaData [virtual]
~ApaData()DIS::ApaData [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_apa_data.html b/cpp/docs/html/class_d_i_s_1_1_apa_data.html new file mode 100644 index 00000000..c2e98980 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_apa_data.html @@ -0,0 +1,300 @@ + + +open-dis: DIS::ApaData Class Reference + + + + + +
+

DIS::ApaData Class Reference

#include <ApaData.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 ApaData ()
virtual ~ApaData ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned short getParameterIndex () const
void setParameterIndex (unsigned short pX)
short getParameterValue () const
void setParameterValue (short pX)
virtual int getMarshalledSize () const
bool operator== (const ApaData &rhs) const

Protected Attributes

unsigned short _parameterIndex
short _parameterValue
+


Detailed Description

+Used in UA PDU

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
ApaData::ApaData (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
ApaData::~ApaData (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int ApaData::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short ApaData::getParameterIndex (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
short ApaData::getParameterValue (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ApaData::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool ApaData::operator== (const ApaData rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ApaData::setParameterIndex (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ApaData::setParameterValue (short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ApaData::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned short DIS::ApaData::_parameterIndex [protected]
+
+
+ +

+Index of APA parameter +

+

+ +

+
+ + + + +
short DIS::ApaData::_parameterValue [protected]
+
+
+ +

+Index of APA parameter +

+

+


The documentation for this class was generated from the following files:
    +
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ApaData.h
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ApaData.cpp
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_areal_object_state_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_areal_object_state_pdu-members.html new file mode 100644 index 00000000..41ee46a8 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_areal_object_state_pdu-members.html @@ -0,0 +1,104 @@ + + +open-dis: Member List + + + + + +
+

DIS::ArealObjectStatePdu Member List

This is the complete list of members for DIS::ArealObjectStatePdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_forceIDDIS::ArealObjectStatePdu [protected]
_lengthDIS::Pdu [protected]
_modificationsDIS::ArealObjectStatePdu [protected]
_numberOfPointsDIS::ArealObjectStatePdu [protected]
_objectAppearanceDIS::ArealObjectStatePdu [protected]
_objectIDDIS::ArealObjectStatePdu [protected]
_objectLocationDIS::ArealObjectStatePdu [protected]
_objectTypeDIS::ArealObjectStatePdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingIDDIS::ArealObjectStatePdu [protected]
_referencedObjectIDDIS::ArealObjectStatePdu [protected]
_requesterIDDIS::ArealObjectStatePdu [protected]
_timestampDIS::Pdu [protected]
_updateNumberDIS::ArealObjectStatePdu [protected]
ArealObjectStatePdu()DIS::ArealObjectStatePdu
getExerciseID() const DIS::Pdu
getForceID() const DIS::ArealObjectStatePdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::ArealObjectStatePdu [virtual]
getModifications() const DIS::ArealObjectStatePdu
getNumberOfPoints() const DIS::ArealObjectStatePdu
getObjectAppearance()DIS::ArealObjectStatePdu
getObjectAppearance() const DIS::ArealObjectStatePdu
getObjectID()DIS::ArealObjectStatePdu
getObjectID() const DIS::ArealObjectStatePdu
getObjectLocation()DIS::ArealObjectStatePdu
getObjectLocation() const DIS::ArealObjectStatePdu
getObjectType()DIS::ArealObjectStatePdu
getObjectType() const DIS::ArealObjectStatePdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingID()DIS::ArealObjectStatePdu
getReceivingID() const DIS::ArealObjectStatePdu
getReferencedObjectID()DIS::ArealObjectStatePdu
getReferencedObjectID() const DIS::ArealObjectStatePdu
getRequesterID()DIS::ArealObjectStatePdu
getRequesterID() const DIS::ArealObjectStatePdu
getTimestamp() const DIS::Pdu
getUpdateNumber() const DIS::ArealObjectStatePdu
marshal(DataStream &dataStream) const DIS::ArealObjectStatePdu [virtual]
operator==(const ArealObjectStatePdu &rhs) const DIS::ArealObjectStatePdu
DIS::SyntheticEnvironmentFamilyPdu::operator==(const SyntheticEnvironmentFamilyPdu &rhs) const DIS::SyntheticEnvironmentFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setForceID(unsigned char pX)DIS::ArealObjectStatePdu
setLength(unsigned short pX)DIS::Pdu
setModifications(unsigned char pX)DIS::ArealObjectStatePdu
setObjectAppearance(const SixByteChunk &pX)DIS::ArealObjectStatePdu
setObjectID(const EntityID &pX)DIS::ArealObjectStatePdu
setObjectLocation(const std::vector< Vector3Double > &pX)DIS::ArealObjectStatePdu
setObjectType(const EntityType &pX)DIS::ArealObjectStatePdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingID(const SimulationAddress &pX)DIS::ArealObjectStatePdu
setReferencedObjectID(const EntityID &pX)DIS::ArealObjectStatePdu
setRequesterID(const SimulationAddress &pX)DIS::ArealObjectStatePdu
setTimestamp(unsigned int pX)DIS::Pdu
setUpdateNumber(unsigned short pX)DIS::ArealObjectStatePdu
SyntheticEnvironmentFamilyPdu()DIS::SyntheticEnvironmentFamilyPdu
unmarshal(DataStream &dataStream)DIS::ArealObjectStatePdu [virtual]
~ArealObjectStatePdu()DIS::ArealObjectStatePdu [virtual]
~Pdu()DIS::Pdu [virtual]
~SyntheticEnvironmentFamilyPdu()DIS::SyntheticEnvironmentFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_areal_object_state_pdu.html b/cpp/docs/html/class_d_i_s_1_1_areal_object_state_pdu.html new file mode 100644 index 00000000..26384c54 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_areal_object_state_pdu.html @@ -0,0 +1,982 @@ + + +open-dis: DIS::ArealObjectStatePdu Class Reference + + + + + +
+

DIS::ArealObjectStatePdu Class Reference

#include <ArealObjectStatePdu.h> +

+

+Inheritance diagram for DIS::ArealObjectStatePdu:
+
+ +

+ +DIS::SyntheticEnvironmentFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 ArealObjectStatePdu ()
virtual ~ArealObjectStatePdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetObjectID ()
const EntityIDgetObjectID () const
void setObjectID (const EntityID &pX)
EntityIDgetReferencedObjectID ()
const EntityIDgetReferencedObjectID () const
void setReferencedObjectID (const EntityID &pX)
unsigned short getUpdateNumber () const
void setUpdateNumber (unsigned short pX)
unsigned char getForceID () const
void setForceID (unsigned char pX)
unsigned char getModifications () const
void setModifications (unsigned char pX)
EntityTypegetObjectType ()
const EntityTypegetObjectType () const
void setObjectType (const EntityType &pX)
SixByteChunkgetObjectAppearance ()
const SixByteChunkgetObjectAppearance () const
void setObjectAppearance (const SixByteChunk &pX)
unsigned short getNumberOfPoints () const
SimulationAddressgetRequesterID ()
const SimulationAddressgetRequesterID () const
void setRequesterID (const SimulationAddress &pX)
SimulationAddressgetReceivingID ()
const SimulationAddressgetReceivingID () const
void setReceivingID (const SimulationAddress &pX)
std::vector< Vector3Double > & getObjectLocation ()
const std::vector
+< Vector3Double > & 
getObjectLocation () const
void setObjectLocation (const std::vector< Vector3Double > &pX)
virtual int getMarshalledSize () const
bool operator== (const ArealObjectStatePdu &rhs) const

Protected Attributes

EntityID _objectID
EntityID _referencedObjectID
unsigned short _updateNumber
unsigned char _forceID
unsigned char _modifications
EntityType _objectType
SixByteChunk _objectAppearance
unsigned short _numberOfPoints
SimulationAddress _requesterID
SimulationAddress _receivingID
std::vector< Vector3Double_objectLocation
+


Detailed Description

+Section 5.3.11.5: Information about the addition/modification of an oobject that is geometrically achored to the terrain with a set of three or more points that come to a closure. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
ArealObjectStatePdu::ArealObjectStatePdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
ArealObjectStatePdu::~ArealObjectStatePdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned char ArealObjectStatePdu::getForceID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int ArealObjectStatePdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SyntheticEnvironmentFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
unsigned char ArealObjectStatePdu::getModifications (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short ArealObjectStatePdu::getNumberOfPoints (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const SixByteChunk & ArealObjectStatePdu::getObjectAppearance (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
SixByteChunk & ArealObjectStatePdu::getObjectAppearance (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & ArealObjectStatePdu::getObjectID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & ArealObjectStatePdu::getObjectID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< Vector3Double > & ArealObjectStatePdu::getObjectLocation (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< Vector3Double > & ArealObjectStatePdu::getObjectLocation (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityType & ArealObjectStatePdu::getObjectType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityType & ArealObjectStatePdu::getObjectType (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const SimulationAddress & ArealObjectStatePdu::getReceivingID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
SimulationAddress & ArealObjectStatePdu::getReceivingID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & ArealObjectStatePdu::getReferencedObjectID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & ArealObjectStatePdu::getReferencedObjectID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const SimulationAddress & ArealObjectStatePdu::getRequesterID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
SimulationAddress & ArealObjectStatePdu::getRequesterID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short ArealObjectStatePdu::getUpdateNumber (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ArealObjectStatePdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SyntheticEnvironmentFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool ArealObjectStatePdu::operator== (const ArealObjectStatePdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ArealObjectStatePdu::setForceID (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ArealObjectStatePdu::setModifications (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ArealObjectStatePdu::setObjectAppearance (const SixByteChunk pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ArealObjectStatePdu::setObjectID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ArealObjectStatePdu::setObjectLocation (const std::vector< Vector3Double > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ArealObjectStatePdu::setObjectType (const EntityType pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ArealObjectStatePdu::setReceivingID (const SimulationAddress pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ArealObjectStatePdu::setReferencedObjectID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ArealObjectStatePdu::setRequesterID (const SimulationAddress pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ArealObjectStatePdu::setUpdateNumber (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ArealObjectStatePdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SyntheticEnvironmentFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned char DIS::ArealObjectStatePdu::_forceID [protected]
+
+
+ +

+force ID +

+

+ +

+
+ + + + +
unsigned char DIS::ArealObjectStatePdu::_modifications [protected]
+
+
+ +

+modifications enumeration +

+

+ +

+
+ + + + +
unsigned short DIS::ArealObjectStatePdu::_numberOfPoints [protected]
+
+
+ +

+Number of points +

+

+ +

+ +
+ +

+Object appearance +

+

+ +

+ +
+ +

+Object in synthetic environment +

+

+ +

+
+ + + + +
std::vector<Vector3Double> DIS::ArealObjectStatePdu::_objectLocation [protected]
+
+
+ +

+location of object +

+

+ +

+ +
+ +

+Object type +

+

+ +

+ +
+ +

+receiver ID +

+

+ +

+ +
+ +

+Object with which this point object is associated +

+

+ +

+ +
+ +

+requesterID +

+

+ +

+
+ + + + +
unsigned short DIS::ArealObjectStatePdu::_updateNumber [protected]
+
+
+ +

+unique update number of each state transition of an object +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_areal_object_state_pdu.png b/cpp/docs/html/class_d_i_s_1_1_areal_object_state_pdu.png new file mode 100644 index 00000000..b9b0796e Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_areal_object_state_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_articulation_parameter-members.html b/cpp/docs/html/class_d_i_s_1_1_articulation_parameter-members.html new file mode 100644 index 00000000..1d28b239 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_articulation_parameter-members.html @@ -0,0 +1,53 @@ + + +open-dis: Member List + + + + + + +
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_articulation_parameter.html b/cpp/docs/html/class_d_i_s_1_1_articulation_parameter.html new file mode 100644 index 00000000..492c8850 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_articulation_parameter.html @@ -0,0 +1,480 @@ + + +open-dis: DIS::ArticulationParameter Class Reference + + + + + +
+

DIS::ArticulationParameter Class Reference

#include <ArticulationParameter.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 ArticulationParameter ()
virtual ~ArticulationParameter ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned char getParameterTypeDesignator () const
void setParameterTypeDesignator (unsigned char pX)
unsigned char getChangeIndicator () const
void setChangeIndicator (unsigned char pX)
unsigned short getPartAttachedTo () const
void setPartAttachedTo (unsigned short pX)
int getParameterType () const
void setParameterType (int pX)
double getParameterValue () const
void setParameterValue (double pX)
virtual int getMarshalledSize () const
bool operator== (const ArticulationParameter &rhs) const

Protected Attributes

unsigned char _parameterTypeDesignator
unsigned char _changeIndicator
unsigned short _partAttachedTo
int _parameterType
double _parameterValue
+


Detailed Description

+Section 5.2.5. Articulation parameters for movable parts and attached parts of an entity. Specifes wether or not a change has occured, the part identifcation of the articulated part to which it is attached, and the type and value of each parameter.

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
ArticulationParameter::ArticulationParameter (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
ArticulationParameter::~ArticulationParameter (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned char ArticulationParameter::getChangeIndicator (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int ArticulationParameter::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int ArticulationParameter::getParameterType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char ArticulationParameter::getParameterTypeDesignator (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
double ArticulationParameter::getParameterValue (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short ArticulationParameter::getPartAttachedTo (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ArticulationParameter::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool ArticulationParameter::operator== (const ArticulationParameter rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ArticulationParameter::setChangeIndicator (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ArticulationParameter::setParameterType (int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ArticulationParameter::setParameterTypeDesignator (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ArticulationParameter::setParameterValue (double  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ArticulationParameter::setPartAttachedTo (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ArticulationParameter::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned char DIS::ArticulationParameter::_changeIndicator [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + +
int DIS::ArticulationParameter::_parameterType [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + +
unsigned char DIS::ArticulationParameter::_parameterTypeDesignator [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + +
double DIS::ArticulationParameter::_parameterValue [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + +
unsigned short DIS::ArticulationParameter::_partAttachedTo [protected]
+
+
+ +

+ +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_beam_antenna_pattern-members.html b/cpp/docs/html/class_d_i_s_1_1_beam_antenna_pattern-members.html new file mode 100644 index 00000000..aca2c40a --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_beam_antenna_pattern-members.html @@ -0,0 +1,63 @@ + + +open-dis: Member List + + + + + +
+

DIS::BeamAntennaPattern Member List

This is the complete list of members for DIS::BeamAntennaPattern, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_azimuthBeamwidthDIS::BeamAntennaPattern [protected]
_beamDirectionDIS::BeamAntennaPattern [protected]
_exDIS::BeamAntennaPattern [protected]
_ezDIS::BeamAntennaPattern [protected]
_padding1DIS::BeamAntennaPattern [protected]
_padding2DIS::BeamAntennaPattern [protected]
_phaseDIS::BeamAntennaPattern [protected]
_referenceSystemDIS::BeamAntennaPattern [protected]
BeamAntennaPattern()DIS::BeamAntennaPattern
getAzimuthBeamwidth() const DIS::BeamAntennaPattern
getBeamDirection()DIS::BeamAntennaPattern
getBeamDirection() const DIS::BeamAntennaPattern
getEx() const DIS::BeamAntennaPattern
getEz() const DIS::BeamAntennaPattern
getMarshalledSize() const DIS::BeamAntennaPattern [virtual]
getPadding1() const DIS::BeamAntennaPattern
getPadding2() const DIS::BeamAntennaPattern
getPhase() const DIS::BeamAntennaPattern
getReferenceSystem() const DIS::BeamAntennaPattern
marshal(DataStream &dataStream) const DIS::BeamAntennaPattern [virtual]
operator==(const BeamAntennaPattern &rhs) const DIS::BeamAntennaPattern
setAzimuthBeamwidth(float pX)DIS::BeamAntennaPattern
setBeamDirection(const Orientation &pX)DIS::BeamAntennaPattern
setEx(float pX)DIS::BeamAntennaPattern
setEz(float pX)DIS::BeamAntennaPattern
setPadding1(short pX)DIS::BeamAntennaPattern
setPadding2(char pX)DIS::BeamAntennaPattern
setPhase(float pX)DIS::BeamAntennaPattern
setReferenceSystem(float pX)DIS::BeamAntennaPattern
unmarshal(DataStream &dataStream)DIS::BeamAntennaPattern [virtual]
~BeamAntennaPattern()DIS::BeamAntennaPattern [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_beam_antenna_pattern.html b/cpp/docs/html/class_d_i_s_1_1_beam_antenna_pattern.html new file mode 100644 index 00000000..754fa411 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_beam_antenna_pattern.html @@ -0,0 +1,681 @@ + + +open-dis: DIS::BeamAntennaPattern Class Reference + + + + + +
+

DIS::BeamAntennaPattern Class Reference

#include <BeamAntennaPattern.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 BeamAntennaPattern ()
virtual ~BeamAntennaPattern ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
OrientationgetBeamDirection ()
const OrientationgetBeamDirection () const
void setBeamDirection (const Orientation &pX)
float getAzimuthBeamwidth () const
void setAzimuthBeamwidth (float pX)
float getReferenceSystem () const
void setReferenceSystem (float pX)
short getPadding1 () const
void setPadding1 (short pX)
char getPadding2 () const
void setPadding2 (char pX)
float getEz () const
void setEz (float pX)
float getEx () const
void setEx (float pX)
float getPhase () const
void setPhase (float pX)
virtual int getMarshalledSize () const
bool operator== (const BeamAntennaPattern &rhs) const

Protected Attributes

Orientation _beamDirection
float _azimuthBeamwidth
float _referenceSystem
short _padding1
char _padding2
float _ez
float _ex
float _phase
+


Detailed Description

+Section 5.2.4.2. Used when the antenna pattern type field has a value of 1. Specifies the direction, patter, and polarization of radiation from an antenna.

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
BeamAntennaPattern::BeamAntennaPattern (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
BeamAntennaPattern::~BeamAntennaPattern (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
float BeamAntennaPattern::getAzimuthBeamwidth (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Orientation & BeamAntennaPattern::getBeamDirection (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Orientation & BeamAntennaPattern::getBeamDirection (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float BeamAntennaPattern::getEx (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float BeamAntennaPattern::getEz (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int BeamAntennaPattern::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
short BeamAntennaPattern::getPadding1 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
char BeamAntennaPattern::getPadding2 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float BeamAntennaPattern::getPhase (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float BeamAntennaPattern::getReferenceSystem (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void BeamAntennaPattern::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool BeamAntennaPattern::operator== (const BeamAntennaPattern rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void BeamAntennaPattern::setAzimuthBeamwidth (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void BeamAntennaPattern::setBeamDirection (const Orientation pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void BeamAntennaPattern::setEx (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void BeamAntennaPattern::setEz (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void BeamAntennaPattern::setPadding1 (short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void BeamAntennaPattern::setPadding2 (char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void BeamAntennaPattern::setPhase (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void BeamAntennaPattern::setReferenceSystem (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void BeamAntennaPattern::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
float DIS::BeamAntennaPattern::_azimuthBeamwidth [protected]
+
+
+ +

+ +

+

+ +

+ +
+ +

+The rotation that transformst he reference coordinate sytem into the beam coordinate system. Either world coordinates or entity coordinates may be used as the reference coordinate system, as specified by teh reference system field of the antenna pattern record. +

+

+ +

+
+ + + + +
float DIS::BeamAntennaPattern::_ex [protected]
+
+
+ +

+Magnigute of the x-component in beam coordinates at some arbitrary single point in the mainbeam and in the far field of the antenna. +

+

+ +

+
+ + + + +
float DIS::BeamAntennaPattern::_ez [protected]
+
+
+ +

+Magnigute of the z-component in beam coordinates at some arbitrary single point in the mainbeam and in the far field of the antenna. +

+

+ +

+
+ + + + +
short DIS::BeamAntennaPattern::_padding1 [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + +
char DIS::BeamAntennaPattern::_padding2 [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + +
float DIS::BeamAntennaPattern::_phase [protected]
+
+
+ +

+THe phase angle between Ez and Ex in radians. +

+

+ +

+
+ + + + +
float DIS::BeamAntennaPattern::_referenceSystem [protected]
+
+
+ +

+ +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_beam_data-members.html b/cpp/docs/html/class_d_i_s_1_1_beam_data-members.html new file mode 100644 index 00000000..525b9ff6 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_beam_data-members.html @@ -0,0 +1,53 @@ + + +open-dis: Member List + + + + + +
+

DIS::BeamData Member List

This is the complete list of members for DIS::BeamData, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + +
_beamAzimuthCenterDIS::BeamData [protected]
_beamAzimuthSweepDIS::BeamData [protected]
_beamElevationCenterDIS::BeamData [protected]
_beamElevationSweepDIS::BeamData [protected]
_beamSweepSyncDIS::BeamData [protected]
BeamData()DIS::BeamData
getBeamAzimuthCenter() const DIS::BeamData
getBeamAzimuthSweep() const DIS::BeamData
getBeamElevationCenter() const DIS::BeamData
getBeamElevationSweep() const DIS::BeamData
getBeamSweepSync() const DIS::BeamData
getMarshalledSize() const DIS::BeamData [virtual]
marshal(DataStream &dataStream) const DIS::BeamData [virtual]
operator==(const BeamData &rhs) const DIS::BeamData
setBeamAzimuthCenter(float pX)DIS::BeamData
setBeamAzimuthSweep(float pX)DIS::BeamData
setBeamElevationCenter(float pX)DIS::BeamData
setBeamElevationSweep(float pX)DIS::BeamData
setBeamSweepSync(float pX)DIS::BeamData
unmarshal(DataStream &dataStream)DIS::BeamData [virtual]
~BeamData()DIS::BeamData [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_beam_data.html b/cpp/docs/html/class_d_i_s_1_1_beam_data.html new file mode 100644 index 00000000..a24a65c4 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_beam_data.html @@ -0,0 +1,480 @@ + + +open-dis: DIS::BeamData Class Reference + + + + + +
+

DIS::BeamData Class Reference

#include <BeamData.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 BeamData ()
virtual ~BeamData ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
float getBeamAzimuthCenter () const
void setBeamAzimuthCenter (float pX)
float getBeamAzimuthSweep () const
void setBeamAzimuthSweep (float pX)
float getBeamElevationCenter () const
void setBeamElevationCenter (float pX)
float getBeamElevationSweep () const
void setBeamElevationSweep (float pX)
float getBeamSweepSync () const
void setBeamSweepSync (float pX)
virtual int getMarshalledSize () const
bool operator== (const BeamData &rhs) const

Protected Attributes

float _beamAzimuthCenter
float _beamAzimuthSweep
float _beamElevationCenter
float _beamElevationSweep
float _beamSweepSync
+


Detailed Description

+Section 5.2.39. Specification of the data necessary to describe the scan volume of an emitter.

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
BeamData::BeamData (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
BeamData::~BeamData (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
float BeamData::getBeamAzimuthCenter (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float BeamData::getBeamAzimuthSweep (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float BeamData::getBeamElevationCenter (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float BeamData::getBeamElevationSweep (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float BeamData::getBeamSweepSync (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int BeamData::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void BeamData::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool BeamData::operator== (const BeamData rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void BeamData::setBeamAzimuthCenter (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void BeamData::setBeamAzimuthSweep (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void BeamData::setBeamElevationCenter (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void BeamData::setBeamElevationSweep (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void BeamData::setBeamSweepSync (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void BeamData::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
float DIS::BeamData::_beamAzimuthCenter [protected]
+
+
+ +

+Specifies the beam azimuth an elevation centers and corresponding half-angles to describe the scan volume +

+

+ +

+
+ + + + +
float DIS::BeamData::_beamAzimuthSweep [protected]
+
+
+ +

+Specifies the beam azimuth sweep to determine scan volume +

+

+ +

+
+ + + + +
float DIS::BeamData::_beamElevationCenter [protected]
+
+
+ +

+Specifies the beam elevation center to determine scan volume +

+

+ +

+
+ + + + +
float DIS::BeamData::_beamElevationSweep [protected]
+
+
+ +

+Specifies the beam elevation sweep to determine scan volume +

+

+ +

+
+ + + + +
float DIS::BeamData::_beamSweepSync [protected]
+
+
+ +

+allows receiver to synchronize its regenerated scan pattern to that of the emmitter. Specifies the percentage of time a scan is through its pattern from its origion. +

+

+


The documentation for this class was generated from the following files:
    +
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/BeamData.h
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/BeamData.cpp
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_burst_descriptor-members.html b/cpp/docs/html/class_d_i_s_1_1_burst_descriptor-members.html new file mode 100644 index 00000000..c5426d7b --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_burst_descriptor-members.html @@ -0,0 +1,54 @@ + + +open-dis: Member List + + + + + +
+

DIS::BurstDescriptor Member List

This is the complete list of members for DIS::BurstDescriptor, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + +
_fuseDIS::BurstDescriptor [protected]
_munitionDIS::BurstDescriptor [protected]
_quantityDIS::BurstDescriptor [protected]
_rateDIS::BurstDescriptor [protected]
_warheadDIS::BurstDescriptor [protected]
BurstDescriptor()DIS::BurstDescriptor
getFuse() const DIS::BurstDescriptor
getMarshalledSize() const DIS::BurstDescriptor [virtual]
getMunition()DIS::BurstDescriptor
getMunition() const DIS::BurstDescriptor
getQuantity() const DIS::BurstDescriptor
getRate() const DIS::BurstDescriptor
getWarhead() const DIS::BurstDescriptor
marshal(DataStream &dataStream) const DIS::BurstDescriptor [virtual]
operator==(const BurstDescriptor &rhs) const DIS::BurstDescriptor
setFuse(unsigned short pX)DIS::BurstDescriptor
setMunition(const EntityType &pX)DIS::BurstDescriptor
setQuantity(unsigned short pX)DIS::BurstDescriptor
setRate(unsigned short pX)DIS::BurstDescriptor
setWarhead(unsigned short pX)DIS::BurstDescriptor
unmarshal(DataStream &dataStream)DIS::BurstDescriptor [virtual]
~BurstDescriptor()DIS::BurstDescriptor [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_burst_descriptor.html b/cpp/docs/html/class_d_i_s_1_1_burst_descriptor.html new file mode 100644 index 00000000..1a4f2983 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_burst_descriptor.html @@ -0,0 +1,501 @@ + + +open-dis: DIS::BurstDescriptor Class Reference + + + + + +
+

DIS::BurstDescriptor Class Reference

#include <BurstDescriptor.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 BurstDescriptor ()
virtual ~BurstDescriptor ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityTypegetMunition ()
const EntityTypegetMunition () const
void setMunition (const EntityType &pX)
unsigned short getWarhead () const
void setWarhead (unsigned short pX)
unsigned short getFuse () const
void setFuse (unsigned short pX)
unsigned short getQuantity () const
void setQuantity (unsigned short pX)
unsigned short getRate () const
void setRate (unsigned short pX)
virtual int getMarshalledSize () const
bool operator== (const BurstDescriptor &rhs) const

Protected Attributes

EntityType _munition
unsigned short _warhead
unsigned short _fuse
unsigned short _quantity
unsigned short _rate
+


Detailed Description

+Section 5.2.7. Specifies the type of muntion fired, the type of warhead, the type of fuse, the number of rounds fired, and the rate at which the roudns are fired in rounds per minute.

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
BurstDescriptor::BurstDescriptor (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
BurstDescriptor::~BurstDescriptor (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned short BurstDescriptor::getFuse (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int BurstDescriptor::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityType & BurstDescriptor::getMunition (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityType & BurstDescriptor::getMunition (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short BurstDescriptor::getQuantity (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short BurstDescriptor::getRate (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short BurstDescriptor::getWarhead (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void BurstDescriptor::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool BurstDescriptor::operator== (const BurstDescriptor rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void BurstDescriptor::setFuse (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void BurstDescriptor::setMunition (const EntityType pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void BurstDescriptor::setQuantity (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void BurstDescriptor::setRate (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void BurstDescriptor::setWarhead (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void BurstDescriptor::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned short DIS::BurstDescriptor::_fuse [protected]
+
+
+ +

+type of fuse used +

+

+ +

+ +
+ +

+What munition was used in the burst +

+

+ +

+
+ + + + +
unsigned short DIS::BurstDescriptor::_quantity [protected]
+
+
+ +

+how many of the munition were fired +

+

+ +

+
+ + + + +
unsigned short DIS::BurstDescriptor::_rate [protected]
+
+
+ +

+rate at which the munition was fired +

+

+ +

+
+ + + + +
unsigned short DIS::BurstDescriptor::_warhead [protected]
+
+
+ +

+type of warhead +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_clock_time-members.html b/cpp/docs/html/class_d_i_s_1_1_clock_time-members.html new file mode 100644 index 00000000..f8ac9494 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_clock_time-members.html @@ -0,0 +1,44 @@ + + +open-dis: Member List + + + + + +
+

DIS::ClockTime Member List

This is the complete list of members for DIS::ClockTime, including all inherited members.

+ + + + + + + + + + + + +
_hourDIS::ClockTime [protected]
_timePastHourDIS::ClockTime [protected]
ClockTime()DIS::ClockTime
getHour() const DIS::ClockTime
getMarshalledSize() const DIS::ClockTime [virtual]
getTimePastHour() const DIS::ClockTime
marshal(DataStream &dataStream) const DIS::ClockTime [virtual]
operator==(const ClockTime &rhs) const DIS::ClockTime
setHour(int pX)DIS::ClockTime
setTimePastHour(unsigned int pX)DIS::ClockTime
unmarshal(DataStream &dataStream)DIS::ClockTime [virtual]
~ClockTime()DIS::ClockTime [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_clock_time.html b/cpp/docs/html/class_d_i_s_1_1_clock_time.html new file mode 100644 index 00000000..6a3cf3b3 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_clock_time.html @@ -0,0 +1,300 @@ + + +open-dis: DIS::ClockTime Class Reference + + + + + +
+

DIS::ClockTime Class Reference

#include <ClockTime.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 ClockTime ()
virtual ~ClockTime ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
int getHour () const
void setHour (int pX)
unsigned int getTimePastHour () const
void setTimePastHour (unsigned int pX)
virtual int getMarshalledSize () const
bool operator== (const ClockTime &rhs) const

Protected Attributes

int _hour
unsigned int _timePastHour
+


Detailed Description

+Section 5.2.8. Time measurements that exceed one hour. Hours is the number of hours since January 1, 1970, UTC

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
ClockTime::ClockTime (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
ClockTime::~ClockTime (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int ClockTime::getHour (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int ClockTime::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int ClockTime::getTimePastHour (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ClockTime::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool ClockTime::operator== (const ClockTime rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ClockTime::setHour (int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ClockTime::setTimePastHour (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ClockTime::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
int DIS::ClockTime::_hour [protected]
+
+
+ +

+Hours in UTC +

+

+ +

+
+ + + + +
unsigned int DIS::ClockTime::_timePastHour [protected]
+
+
+ +

+Time past the hour +

+

+


The documentation for this class was generated from the following files:
    +
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ClockTime.h
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ClockTime.cpp
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_collision_elastic_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_collision_elastic_pdu-members.html new file mode 100644 index 00000000..6174e1eb --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_collision_elastic_pdu-members.html @@ -0,0 +1,116 @@ + + +open-dis: Member List + + + + + +
+

DIS::CollisionElasticPdu Member List

This is the complete list of members for DIS::CollisionElasticPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_coefficientOfRestitutionDIS::CollisionElasticPdu [protected]
_collidingEntityIDDIS::CollisionElasticPdu [protected]
_collisionEventIDDIS::CollisionElasticPdu [protected]
_collisionResultXXDIS::CollisionElasticPdu [protected]
_collisionResultXYDIS::CollisionElasticPdu [protected]
_collisionResultXZDIS::CollisionElasticPdu [protected]
_collisionResultYYDIS::CollisionElasticPdu [protected]
_collisionResultYZDIS::CollisionElasticPdu [protected]
_collisionResultZZDIS::CollisionElasticPdu [protected]
_contactVelocityDIS::CollisionElasticPdu [protected]
_exerciseIDDIS::Pdu [protected]
_issuingEntityIDDIS::CollisionElasticPdu [protected]
_lengthDIS::Pdu [protected]
_locationDIS::CollisionElasticPdu [protected]
_massDIS::CollisionElasticPdu [protected]
_padDIS::CollisionElasticPdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_timestampDIS::Pdu [protected]
_unitSurfaceNormalDIS::CollisionElasticPdu [protected]
CollisionElasticPdu()DIS::CollisionElasticPdu
EntityInformationFamilyPdu()DIS::EntityInformationFamilyPdu
getCoefficientOfRestitution() const DIS::CollisionElasticPdu
getCollidingEntityID()DIS::CollisionElasticPdu
getCollidingEntityID() const DIS::CollisionElasticPdu
getCollisionEventID()DIS::CollisionElasticPdu
getCollisionEventID() const DIS::CollisionElasticPdu
getCollisionResultXX() const DIS::CollisionElasticPdu
getCollisionResultXY() const DIS::CollisionElasticPdu
getCollisionResultXZ() const DIS::CollisionElasticPdu
getCollisionResultYY() const DIS::CollisionElasticPdu
getCollisionResultYZ() const DIS::CollisionElasticPdu
getCollisionResultZZ() const DIS::CollisionElasticPdu
getContactVelocity()DIS::CollisionElasticPdu
getContactVelocity() const DIS::CollisionElasticPdu
getExerciseID() const DIS::Pdu
getIssuingEntityID()DIS::CollisionElasticPdu
getIssuingEntityID() const DIS::CollisionElasticPdu
getLength() const DIS::Pdu
getLocation()DIS::CollisionElasticPdu
getLocation() const DIS::CollisionElasticPdu
getMarshalledSize() const DIS::CollisionElasticPdu [virtual]
getMass() const DIS::CollisionElasticPdu
getPad() const DIS::CollisionElasticPdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getTimestamp() const DIS::Pdu
getUnitSurfaceNormal()DIS::CollisionElasticPdu
getUnitSurfaceNormal() const DIS::CollisionElasticPdu
marshal(DataStream &dataStream) const DIS::CollisionElasticPdu [virtual]
operator==(const CollisionElasticPdu &rhs) const DIS::CollisionElasticPdu
DIS::EntityInformationFamilyPdu::operator==(const EntityInformationFamilyPdu &rhs) const DIS::EntityInformationFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setCoefficientOfRestitution(float pX)DIS::CollisionElasticPdu
setCollidingEntityID(const EntityID &pX)DIS::CollisionElasticPdu
setCollisionEventID(const EventID &pX)DIS::CollisionElasticPdu
setCollisionResultXX(float pX)DIS::CollisionElasticPdu
setCollisionResultXY(float pX)DIS::CollisionElasticPdu
setCollisionResultXZ(float pX)DIS::CollisionElasticPdu
setCollisionResultYY(float pX)DIS::CollisionElasticPdu
setCollisionResultYZ(float pX)DIS::CollisionElasticPdu
setCollisionResultZZ(float pX)DIS::CollisionElasticPdu
setContactVelocity(const Vector3Float &pX)DIS::CollisionElasticPdu
setExerciseID(unsigned char pX)DIS::Pdu
setIssuingEntityID(const EntityID &pX)DIS::CollisionElasticPdu
setLength(unsigned short pX)DIS::Pdu
setLocation(const Vector3Float &pX)DIS::CollisionElasticPdu
setMass(float pX)DIS::CollisionElasticPdu
setPad(short pX)DIS::CollisionElasticPdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setTimestamp(unsigned int pX)DIS::Pdu
setUnitSurfaceNormal(const Vector3Float &pX)DIS::CollisionElasticPdu
unmarshal(DataStream &dataStream)DIS::CollisionElasticPdu [virtual]
~CollisionElasticPdu()DIS::CollisionElasticPdu [virtual]
~EntityInformationFamilyPdu()DIS::EntityInformationFamilyPdu [virtual]
~Pdu()DIS::Pdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_collision_elastic_pdu.html b/cpp/docs/html/class_d_i_s_1_1_collision_elastic_pdu.html new file mode 100644 index 00000000..11b13586 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_collision_elastic_pdu.html @@ -0,0 +1,1222 @@ + + +open-dis: DIS::CollisionElasticPdu Class Reference + + + + + +
+

DIS::CollisionElasticPdu Class Reference

#include <CollisionElasticPdu.h> +

+

+Inheritance diagram for DIS::CollisionElasticPdu:
+
+ +

+ +DIS::EntityInformationFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CollisionElasticPdu ()
virtual ~CollisionElasticPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetIssuingEntityID ()
const EntityIDgetIssuingEntityID () const
void setIssuingEntityID (const EntityID &pX)
EntityIDgetCollidingEntityID ()
const EntityIDgetCollidingEntityID () const
void setCollidingEntityID (const EntityID &pX)
EventIDgetCollisionEventID ()
const EventIDgetCollisionEventID () const
void setCollisionEventID (const EventID &pX)
short getPad () const
void setPad (short pX)
Vector3FloatgetContactVelocity ()
const Vector3FloatgetContactVelocity () const
void setContactVelocity (const Vector3Float &pX)
float getMass () const
void setMass (float pX)
Vector3FloatgetLocation ()
const Vector3FloatgetLocation () const
void setLocation (const Vector3Float &pX)
float getCollisionResultXX () const
void setCollisionResultXX (float pX)
float getCollisionResultXY () const
void setCollisionResultXY (float pX)
float getCollisionResultXZ () const
void setCollisionResultXZ (float pX)
float getCollisionResultYY () const
void setCollisionResultYY (float pX)
float getCollisionResultYZ () const
void setCollisionResultYZ (float pX)
float getCollisionResultZZ () const
void setCollisionResultZZ (float pX)
Vector3FloatgetUnitSurfaceNormal ()
const Vector3FloatgetUnitSurfaceNormal () const
void setUnitSurfaceNormal (const Vector3Float &pX)
float getCoefficientOfRestitution () const
void setCoefficientOfRestitution (float pX)
virtual int getMarshalledSize () const
bool operator== (const CollisionElasticPdu &rhs) const

Protected Attributes

EntityID _issuingEntityID
EntityID _collidingEntityID
EventID _collisionEventID
short _pad
Vector3Float _contactVelocity
float _mass
Vector3Float _location
float _collisionResultXX
float _collisionResultXY
float _collisionResultXZ
float _collisionResultYY
float _collisionResultYZ
float _collisionResultZZ
Vector3Float _unitSurfaceNormal
float _coefficientOfRestitution
+


Detailed Description

+5.3.3.3. Information about elastic collisions in a DIS exercise shall be communicated using a Collision-Elastic PDU. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
CollisionElasticPdu::CollisionElasticPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
CollisionElasticPdu::~CollisionElasticPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
float CollisionElasticPdu::getCoefficientOfRestitution (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & CollisionElasticPdu::getCollidingEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & CollisionElasticPdu::getCollidingEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EventID & CollisionElasticPdu::getCollisionEventID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EventID & CollisionElasticPdu::getCollisionEventID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float CollisionElasticPdu::getCollisionResultXX (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float CollisionElasticPdu::getCollisionResultXY (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float CollisionElasticPdu::getCollisionResultXZ (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float CollisionElasticPdu::getCollisionResultYY (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float CollisionElasticPdu::getCollisionResultYZ (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float CollisionElasticPdu::getCollisionResultZZ (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Vector3Float & CollisionElasticPdu::getContactVelocity (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Float & CollisionElasticPdu::getContactVelocity (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & CollisionElasticPdu::getIssuingEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & CollisionElasticPdu::getIssuingEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Vector3Float & CollisionElasticPdu::getLocation (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Float & CollisionElasticPdu::getLocation (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int CollisionElasticPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::EntityInformationFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
float CollisionElasticPdu::getMass (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
short CollisionElasticPdu::getPad (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Vector3Float & CollisionElasticPdu::getUnitSurfaceNormal (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Float & CollisionElasticPdu::getUnitSurfaceNormal (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CollisionElasticPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::EntityInformationFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool CollisionElasticPdu::operator== (const CollisionElasticPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CollisionElasticPdu::setCoefficientOfRestitution (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CollisionElasticPdu::setCollidingEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CollisionElasticPdu::setCollisionEventID (const EventID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CollisionElasticPdu::setCollisionResultXX (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CollisionElasticPdu::setCollisionResultXY (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CollisionElasticPdu::setCollisionResultXZ (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CollisionElasticPdu::setCollisionResultYY (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CollisionElasticPdu::setCollisionResultYZ (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CollisionElasticPdu::setCollisionResultZZ (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CollisionElasticPdu::setContactVelocity (const Vector3Float pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CollisionElasticPdu::setIssuingEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CollisionElasticPdu::setLocation (const Vector3Float pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CollisionElasticPdu::setMass (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CollisionElasticPdu::setPad (short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CollisionElasticPdu::setUnitSurfaceNormal (const Vector3Float pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CollisionElasticPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::EntityInformationFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+ +
+ +

+This field shall represent the degree to which energy is conserved in a collision +

+

+ +

+ +
+ +

+ID of entity that has collided with the issuing entity ID +

+

+ +

+ +
+ +

+ID of event +

+

+ +

+
+ + + + +
float DIS::CollisionElasticPdu::_collisionResultXX [protected]
+
+
+ +

+tensor values +

+

+ +

+
+ + + + +
float DIS::CollisionElasticPdu::_collisionResultXY [protected]
+
+
+ +

+tensor values +

+

+ +

+
+ + + + +
float DIS::CollisionElasticPdu::_collisionResultXZ [protected]
+
+
+ +

+tensor values +

+

+ +

+
+ + + + +
float DIS::CollisionElasticPdu::_collisionResultYY [protected]
+
+
+ +

+tensor values +

+

+ +

+
+ + + + +
float DIS::CollisionElasticPdu::_collisionResultYZ [protected]
+
+
+ +

+tensor values +

+

+ +

+
+ + + + +
float DIS::CollisionElasticPdu::_collisionResultZZ [protected]
+
+
+ +

+tensor values +

+

+ +

+ +
+ +

+velocity at collision +

+

+ +

+ +
+ +

+ID of the entity that issued the collision PDU +

+

+ +

+ +
+ +

+Location with respect to entity the issuing entity collided with +

+

+ +

+
+ + + + +
float DIS::CollisionElasticPdu::_mass [protected]
+
+
+ +

+mass of issuing entity +

+

+ +

+
+ + + + +
short DIS::CollisionElasticPdu::_pad [protected]
+
+
+ +

+some padding +

+

+ +

+ +
+ +

+This record shall represent the normal vector to the surface at the point of collision detection. The surface normal shall be represented in world coordinates. +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_collision_elastic_pdu.png b/cpp/docs/html/class_d_i_s_1_1_collision_elastic_pdu.png new file mode 100644 index 00000000..f2c585ef Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_collision_elastic_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_collision_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_collision_pdu-members.html new file mode 100644 index 00000000..c0bbc328 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_collision_pdu-members.html @@ -0,0 +1,94 @@ + + +open-dis: Member List + + + + + +
+

DIS::CollisionPdu Member List

This is the complete list of members for DIS::CollisionPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_collidingEntityIDDIS::CollisionPdu [protected]
_collisionTypeDIS::CollisionPdu [protected]
_eventIDDIS::CollisionPdu [protected]
_exerciseIDDIS::Pdu [protected]
_issuingEntityIDDIS::CollisionPdu [protected]
_lengthDIS::Pdu [protected]
_locationDIS::CollisionPdu [protected]
_massDIS::CollisionPdu [protected]
_padDIS::CollisionPdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_timestampDIS::Pdu [protected]
_velocityDIS::CollisionPdu [protected]
CollisionPdu()DIS::CollisionPdu
EntityInformationFamilyPdu()DIS::EntityInformationFamilyPdu
getCollidingEntityID()DIS::CollisionPdu
getCollidingEntityID() const DIS::CollisionPdu
getCollisionType() const DIS::CollisionPdu
getEventID()DIS::CollisionPdu
getEventID() const DIS::CollisionPdu
getExerciseID() const DIS::Pdu
getIssuingEntityID()DIS::CollisionPdu
getIssuingEntityID() const DIS::CollisionPdu
getLength() const DIS::Pdu
getLocation()DIS::CollisionPdu
getLocation() const DIS::CollisionPdu
getMarshalledSize() const DIS::CollisionPdu [virtual]
getMass() const DIS::CollisionPdu
getPad() const DIS::CollisionPdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getTimestamp() const DIS::Pdu
getVelocity()DIS::CollisionPdu
getVelocity() const DIS::CollisionPdu
marshal(DataStream &dataStream) const DIS::CollisionPdu [virtual]
operator==(const CollisionPdu &rhs) const DIS::CollisionPdu
DIS::EntityInformationFamilyPdu::operator==(const EntityInformationFamilyPdu &rhs) const DIS::EntityInformationFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setCollidingEntityID(const EntityID &pX)DIS::CollisionPdu
setCollisionType(unsigned char pX)DIS::CollisionPdu
setEventID(const EventID &pX)DIS::CollisionPdu
setExerciseID(unsigned char pX)DIS::Pdu
setIssuingEntityID(const EntityID &pX)DIS::CollisionPdu
setLength(unsigned short pX)DIS::Pdu
setLocation(const Vector3Float &pX)DIS::CollisionPdu
setMass(float pX)DIS::CollisionPdu
setPad(char pX)DIS::CollisionPdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setTimestamp(unsigned int pX)DIS::Pdu
setVelocity(const Vector3Float &pX)DIS::CollisionPdu
unmarshal(DataStream &dataStream)DIS::CollisionPdu [virtual]
~CollisionPdu()DIS::CollisionPdu [virtual]
~EntityInformationFamilyPdu()DIS::EntityInformationFamilyPdu [virtual]
~Pdu()DIS::Pdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_collision_pdu.html b/cpp/docs/html/class_d_i_s_1_1_collision_pdu.html new file mode 100644 index 00000000..8edb5a18 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_collision_pdu.html @@ -0,0 +1,781 @@ + + +open-dis: DIS::CollisionPdu Class Reference + + + + + +
+

DIS::CollisionPdu Class Reference

#include <CollisionPdu.h> +

+

+Inheritance diagram for DIS::CollisionPdu:
+
+ +

+ +DIS::EntityInformationFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CollisionPdu ()
virtual ~CollisionPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetIssuingEntityID ()
const EntityIDgetIssuingEntityID () const
void setIssuingEntityID (const EntityID &pX)
EntityIDgetCollidingEntityID ()
const EntityIDgetCollidingEntityID () const
void setCollidingEntityID (const EntityID &pX)
EventIDgetEventID ()
const EventIDgetEventID () const
void setEventID (const EventID &pX)
unsigned char getCollisionType () const
void setCollisionType (unsigned char pX)
char getPad () const
void setPad (char pX)
Vector3FloatgetVelocity ()
const Vector3FloatgetVelocity () const
void setVelocity (const Vector3Float &pX)
float getMass () const
void setMass (float pX)
Vector3FloatgetLocation ()
const Vector3FloatgetLocation () const
void setLocation (const Vector3Float &pX)
virtual int getMarshalledSize () const
bool operator== (const CollisionPdu &rhs) const

Protected Attributes

EntityID _issuingEntityID
EntityID _collidingEntityID
EventID _eventID
unsigned char _collisionType
char _pad
Vector3Float _velocity
float _mass
Vector3Float _location
+


Detailed Description

+Section 5.3.3.2. Information about a collision. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
CollisionPdu::CollisionPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
CollisionPdu::~CollisionPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const EntityID & CollisionPdu::getCollidingEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & CollisionPdu::getCollidingEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char CollisionPdu::getCollisionType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EventID & CollisionPdu::getEventID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EventID & CollisionPdu::getEventID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & CollisionPdu::getIssuingEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & CollisionPdu::getIssuingEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Vector3Float & CollisionPdu::getLocation (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Float & CollisionPdu::getLocation (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int CollisionPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::EntityInformationFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
float CollisionPdu::getMass (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
char CollisionPdu::getPad (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Vector3Float & CollisionPdu::getVelocity (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Float & CollisionPdu::getVelocity (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CollisionPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::EntityInformationFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool CollisionPdu::operator== (const CollisionPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CollisionPdu::setCollidingEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CollisionPdu::setCollisionType (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CollisionPdu::setEventID (const EventID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CollisionPdu::setIssuingEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CollisionPdu::setLocation (const Vector3Float pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CollisionPdu::setMass (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CollisionPdu::setPad (char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CollisionPdu::setVelocity (const Vector3Float pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CollisionPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::EntityInformationFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+ +
+ +

+ID of entity that has collided with the issuing entity ID +

+

+ +

+
+ + + + +
unsigned char DIS::CollisionPdu::_collisionType [protected]
+
+
+ +

+ID of event +

+

+ +

+
+ + + + +
EventID DIS::CollisionPdu::_eventID [protected]
+
+
+ +

+ID of event +

+

+ +

+ +
+ +

+ID of the entity that issued the collision PDU +

+

+ +

+ +
+ +

+Location with respect to entity the issuing entity collided with +

+

+ +

+
+ + + + +
float DIS::CollisionPdu::_mass [protected]
+
+
+ +

+mass of issuing entity +

+

+ +

+
+ + + + +
char DIS::CollisionPdu::_pad [protected]
+
+
+ +

+some padding +

+

+ +

+ +
+ +

+velocity at collision +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_collision_pdu.png b/cpp/docs/html/class_d_i_s_1_1_collision_pdu.png new file mode 100644 index 00000000..efa3afcd Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_collision_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_comment_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_comment_pdu-members.html new file mode 100644 index 00000000..feb46f4d --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_comment_pdu-members.html @@ -0,0 +1,85 @@ + + +open-dis: Member List + + + + + +
+

DIS::CommentPdu Member List

This is the complete list of members for DIS::CommentPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_fixedDatumsDIS::CommentPdu [protected]
_lengthDIS::Pdu [protected]
_numberOfFixedDatumRecordsDIS::CommentPdu [protected]
_numberOfVariableDatumRecordsDIS::CommentPdu [protected]
_originatingEntityIDDIS::SimulationManagementFamilyPdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingEntityIDDIS::SimulationManagementFamilyPdu [protected]
_timestampDIS::Pdu [protected]
_variableDatumsDIS::CommentPdu [protected]
CommentPdu()DIS::CommentPdu
getExerciseID() const DIS::Pdu
getFixedDatums()DIS::CommentPdu
getFixedDatums() const DIS::CommentPdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::CommentPdu [virtual]
getNumberOfFixedDatumRecords() const DIS::CommentPdu
getNumberOfVariableDatumRecords() const DIS::CommentPdu
getOriginatingEntityID()DIS::SimulationManagementFamilyPdu
getOriginatingEntityID() const DIS::SimulationManagementFamilyPdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingEntityID()DIS::SimulationManagementFamilyPdu
getReceivingEntityID() const DIS::SimulationManagementFamilyPdu
getTimestamp() const DIS::Pdu
getVariableDatums()DIS::CommentPdu
getVariableDatums() const DIS::CommentPdu
marshal(DataStream &dataStream) const DIS::CommentPdu [virtual]
operator==(const CommentPdu &rhs) const DIS::CommentPdu
DIS::SimulationManagementFamilyPdu::operator==(const SimulationManagementFamilyPdu &rhs) const DIS::SimulationManagementFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setFixedDatums(const std::vector< FixedDatum > &pX)DIS::CommentPdu
setLength(unsigned short pX)DIS::Pdu
setOriginatingEntityID(const EntityID &pX)DIS::SimulationManagementFamilyPdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingEntityID(const EntityID &pX)DIS::SimulationManagementFamilyPdu
setTimestamp(unsigned int pX)DIS::Pdu
setVariableDatums(const std::vector< VariableDatum > &pX)DIS::CommentPdu
SimulationManagementFamilyPdu()DIS::SimulationManagementFamilyPdu
unmarshal(DataStream &dataStream)DIS::CommentPdu [virtual]
~CommentPdu()DIS::CommentPdu [virtual]
~Pdu()DIS::Pdu [virtual]
~SimulationManagementFamilyPdu()DIS::SimulationManagementFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_comment_pdu.html b/cpp/docs/html/class_d_i_s_1_1_comment_pdu.html new file mode 100644 index 00000000..0cb74f7c --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_comment_pdu.html @@ -0,0 +1,435 @@ + + +open-dis: DIS::CommentPdu Class Reference + + + + + +
+

DIS::CommentPdu Class Reference

#include <CommentPdu.h> +

+

+Inheritance diagram for DIS::CommentPdu:
+
+ +

+ +DIS::SimulationManagementFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CommentPdu ()
virtual ~CommentPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned int getNumberOfFixedDatumRecords () const
unsigned int getNumberOfVariableDatumRecords () const
std::vector< FixedDatum > & getFixedDatums ()
const std::vector< FixedDatum > & getFixedDatums () const
void setFixedDatums (const std::vector< FixedDatum > &pX)
std::vector< VariableDatum > & getVariableDatums ()
const std::vector
+< VariableDatum > & 
getVariableDatums () const
void setVariableDatums (const std::vector< VariableDatum > &pX)
virtual int getMarshalledSize () const
bool operator== (const CommentPdu &rhs) const

Protected Attributes

unsigned int _numberOfFixedDatumRecords
unsigned int _numberOfVariableDatumRecords
std::vector< FixedDatum_fixedDatums
std::vector< VariableDatum_variableDatums
+


Detailed Description

+Section 5.3.6.12. Arbitrary messages can be entered into the data stream via use of this PDU. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
CommentPdu::CommentPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
CommentPdu::~CommentPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const std::vector< FixedDatum > & CommentPdu::getFixedDatums (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< FixedDatum > & CommentPdu::getFixedDatums (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int CommentPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
unsigned int CommentPdu::getNumberOfFixedDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int CommentPdu::getNumberOfVariableDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< VariableDatum > & CommentPdu::getVariableDatums (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< VariableDatum > & CommentPdu::getVariableDatums (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CommentPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool CommentPdu::operator== (const CommentPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CommentPdu::setFixedDatums (const std::vector< FixedDatum > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CommentPdu::setVariableDatums (const std::vector< VariableDatum > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CommentPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
std::vector<FixedDatum> DIS::CommentPdu::_fixedDatums [protected]
+
+
+ +

+variable length list of fixed datums +

+

+ +

+
+ + + + +
unsigned int DIS::CommentPdu::_numberOfFixedDatumRecords [protected]
+
+
+ +

+Number of fixed datum records +

+

+ +

+
+ + + + +
unsigned int DIS::CommentPdu::_numberOfVariableDatumRecords [protected]
+
+
+ +

+Number of variable datum records +

+

+ +

+
+ + + + +
std::vector<VariableDatum> DIS::CommentPdu::_variableDatums [protected]
+
+
+ +

+variable length list of variable length datums +

+

+


The documentation for this class was generated from the following files:
    +
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CommentPdu.h
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CommentPdu.cpp
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_comment_pdu.png b/cpp/docs/html/class_d_i_s_1_1_comment_pdu.png new file mode 100644 index 00000000..f72bc40b Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_comment_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_comment_reliable_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_comment_reliable_pdu-members.html new file mode 100644 index 00000000..cb50cd2b --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_comment_reliable_pdu-members.html @@ -0,0 +1,85 @@ + + +open-dis: Member List + + + + + +
+

DIS::CommentReliablePdu Member List

This is the complete list of members for DIS::CommentReliablePdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_fixedDatumRecordsDIS::CommentReliablePdu [protected]
_lengthDIS::Pdu [protected]
_numberOfFixedDatumRecordsDIS::CommentReliablePdu [protected]
_numberOfVariableDatumRecordsDIS::CommentReliablePdu [protected]
_originatingEntityIDDIS::SimulationManagementWithReliabilityFamilyPdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingEntityIDDIS::SimulationManagementWithReliabilityFamilyPdu [protected]
_timestampDIS::Pdu [protected]
_variableDatumRecordsDIS::CommentReliablePdu [protected]
CommentReliablePdu()DIS::CommentReliablePdu
getExerciseID() const DIS::Pdu
getFixedDatumRecords()DIS::CommentReliablePdu
getFixedDatumRecords() const DIS::CommentReliablePdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::CommentReliablePdu [virtual]
getNumberOfFixedDatumRecords() const DIS::CommentReliablePdu
getNumberOfVariableDatumRecords() const DIS::CommentReliablePdu
getOriginatingEntityID()DIS::SimulationManagementWithReliabilityFamilyPdu
getOriginatingEntityID() const DIS::SimulationManagementWithReliabilityFamilyPdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingEntityID()DIS::SimulationManagementWithReliabilityFamilyPdu
getReceivingEntityID() const DIS::SimulationManagementWithReliabilityFamilyPdu
getTimestamp() const DIS::Pdu
getVariableDatumRecords()DIS::CommentReliablePdu
getVariableDatumRecords() const DIS::CommentReliablePdu
marshal(DataStream &dataStream) const DIS::CommentReliablePdu [virtual]
operator==(const CommentReliablePdu &rhs) const DIS::CommentReliablePdu
DIS::SimulationManagementWithReliabilityFamilyPdu::operator==(const SimulationManagementWithReliabilityFamilyPdu &rhs) const DIS::SimulationManagementWithReliabilityFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setFixedDatumRecords(const std::vector< FixedDatum > &pX)DIS::CommentReliablePdu
setLength(unsigned short pX)DIS::Pdu
setOriginatingEntityID(const EntityID &pX)DIS::SimulationManagementWithReliabilityFamilyPdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingEntityID(const EntityID &pX)DIS::SimulationManagementWithReliabilityFamilyPdu
setTimestamp(unsigned int pX)DIS::Pdu
setVariableDatumRecords(const std::vector< VariableDatum > &pX)DIS::CommentReliablePdu
SimulationManagementWithReliabilityFamilyPdu()DIS::SimulationManagementWithReliabilityFamilyPdu
unmarshal(DataStream &dataStream)DIS::CommentReliablePdu [virtual]
~CommentReliablePdu()DIS::CommentReliablePdu [virtual]
~Pdu()DIS::Pdu [virtual]
~SimulationManagementWithReliabilityFamilyPdu()DIS::SimulationManagementWithReliabilityFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_comment_reliable_pdu.html b/cpp/docs/html/class_d_i_s_1_1_comment_reliable_pdu.html new file mode 100644 index 00000000..123e6382 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_comment_reliable_pdu.html @@ -0,0 +1,435 @@ + + +open-dis: DIS::CommentReliablePdu Class Reference + + + + + +
+

DIS::CommentReliablePdu Class Reference

#include <CommentReliablePdu.h> +

+

+Inheritance diagram for DIS::CommentReliablePdu:
+
+ +

+ +DIS::SimulationManagementWithReliabilityFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CommentReliablePdu ()
virtual ~CommentReliablePdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned int getNumberOfFixedDatumRecords () const
unsigned int getNumberOfVariableDatumRecords () const
std::vector< FixedDatum > & getFixedDatumRecords ()
const std::vector< FixedDatum > & getFixedDatumRecords () const
void setFixedDatumRecords (const std::vector< FixedDatum > &pX)
std::vector< VariableDatum > & getVariableDatumRecords ()
const std::vector
+< VariableDatum > & 
getVariableDatumRecords () const
void setVariableDatumRecords (const std::vector< VariableDatum > &pX)
virtual int getMarshalledSize () const
bool operator== (const CommentReliablePdu &rhs) const

Protected Attributes

unsigned int _numberOfFixedDatumRecords
unsigned int _numberOfVariableDatumRecords
std::vector< FixedDatum_fixedDatumRecords
std::vector< VariableDatum_variableDatumRecords
+


Detailed Description

+Section 5.3.12.12: Arbitrary messages. Only reliable this time. Neds manual intervention to fix padding in variable datums. UNFINISHED

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
CommentReliablePdu::CommentReliablePdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
CommentReliablePdu::~CommentReliablePdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const std::vector< FixedDatum > & CommentReliablePdu::getFixedDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< FixedDatum > & CommentReliablePdu::getFixedDatumRecords (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int CommentReliablePdu::getMarshalledSize (  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + +
unsigned int CommentReliablePdu::getNumberOfFixedDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int CommentReliablePdu::getNumberOfVariableDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< VariableDatum > & CommentReliablePdu::getVariableDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< VariableDatum > & CommentReliablePdu::getVariableDatumRecords (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CommentReliablePdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + + +
bool CommentReliablePdu::operator== (const CommentReliablePdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CommentReliablePdu::setFixedDatumRecords (const std::vector< FixedDatum > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CommentReliablePdu::setVariableDatumRecords (const std::vector< VariableDatum > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CommentReliablePdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+ +

+


Member Data Documentation

+ +
+
+ + + + +
std::vector<FixedDatum> DIS::CommentReliablePdu::_fixedDatumRecords [protected]
+
+
+ +

+Fixed datum records +

+

+ +

+
+ + + + +
unsigned int DIS::CommentReliablePdu::_numberOfFixedDatumRecords [protected]
+
+
+ +

+Fixed datum record count +

+

+ +

+
+ + + + +
unsigned int DIS::CommentReliablePdu::_numberOfVariableDatumRecords [protected]
+
+
+ +

+variable datum record count +

+

+ +

+ +
+ +

+Variable datum records +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_comment_reliable_pdu.png b/cpp/docs/html/class_d_i_s_1_1_comment_reliable_pdu.png new file mode 100644 index 00000000..2e8fa607 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_comment_reliable_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_create_entity_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_create_entity_pdu-members.html new file mode 100644 index 00000000..978be7b2 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_create_entity_pdu-members.html @@ -0,0 +1,76 @@ + + +open-dis: Member List + + + + + +
+

DIS::CreateEntityPdu Member List

This is the complete list of members for DIS::CreateEntityPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_originatingEntityIDDIS::SimulationManagementFamilyPdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingEntityIDDIS::SimulationManagementFamilyPdu [protected]
_requestIDDIS::CreateEntityPdu [protected]
_timestampDIS::Pdu [protected]
CreateEntityPdu()DIS::CreateEntityPdu
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::CreateEntityPdu [virtual]
getOriginatingEntityID()DIS::SimulationManagementFamilyPdu
getOriginatingEntityID() const DIS::SimulationManagementFamilyPdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingEntityID()DIS::SimulationManagementFamilyPdu
getReceivingEntityID() const DIS::SimulationManagementFamilyPdu
getRequestID() const DIS::CreateEntityPdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::CreateEntityPdu [virtual]
operator==(const CreateEntityPdu &rhs) const DIS::CreateEntityPdu
DIS::SimulationManagementFamilyPdu::operator==(const SimulationManagementFamilyPdu &rhs) const DIS::SimulationManagementFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setOriginatingEntityID(const EntityID &pX)DIS::SimulationManagementFamilyPdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingEntityID(const EntityID &pX)DIS::SimulationManagementFamilyPdu
setRequestID(unsigned int pX)DIS::CreateEntityPdu
setTimestamp(unsigned int pX)DIS::Pdu
SimulationManagementFamilyPdu()DIS::SimulationManagementFamilyPdu
unmarshal(DataStream &dataStream)DIS::CreateEntityPdu [virtual]
~CreateEntityPdu()DIS::CreateEntityPdu [virtual]
~Pdu()DIS::Pdu [virtual]
~SimulationManagementFamilyPdu()DIS::SimulationManagementFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_create_entity_pdu.html b/cpp/docs/html/class_d_i_s_1_1_create_entity_pdu.html new file mode 100644 index 00000000..2f353650 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_create_entity_pdu.html @@ -0,0 +1,256 @@ + + +open-dis: DIS::CreateEntityPdu Class Reference + + + + + +
+

DIS::CreateEntityPdu Class Reference

#include <CreateEntityPdu.h> +

+

+Inheritance diagram for DIS::CreateEntityPdu:
+
+ +

+ +DIS::SimulationManagementFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CreateEntityPdu ()
virtual ~CreateEntityPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned int getRequestID () const
void setRequestID (unsigned int pX)
virtual int getMarshalledSize () const
bool operator== (const CreateEntityPdu &rhs) const

Protected Attributes

unsigned int _requestID
+


Detailed Description

+Section 5.3.6.1. Create a new entity. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
CreateEntityPdu::CreateEntityPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
CreateEntityPdu::~CreateEntityPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int CreateEntityPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
unsigned int CreateEntityPdu::getRequestID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CreateEntityPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool CreateEntityPdu::operator== (const CreateEntityPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CreateEntityPdu::setRequestID (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CreateEntityPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned int DIS::CreateEntityPdu::_requestID [protected]
+
+
+ +

+Identifier for the request +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_create_entity_pdu.png b/cpp/docs/html/class_d_i_s_1_1_create_entity_pdu.png new file mode 100644 index 00000000..65ac246e Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_create_entity_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_create_entity_reliable_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_create_entity_reliable_pdu-members.html new file mode 100644 index 00000000..f5487346 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_create_entity_reliable_pdu-members.html @@ -0,0 +1,85 @@ + + +open-dis: Member List + + + + + +
+

DIS::CreateEntityReliablePdu Member List

This is the complete list of members for DIS::CreateEntityReliablePdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_originatingEntityIDDIS::SimulationManagementWithReliabilityFamilyPdu [protected]
_pad1DIS::CreateEntityReliablePdu [protected]
_pad2DIS::CreateEntityReliablePdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingEntityIDDIS::SimulationManagementWithReliabilityFamilyPdu [protected]
_requestIDDIS::CreateEntityReliablePdu [protected]
_requiredReliabilityServiceDIS::CreateEntityReliablePdu [protected]
_timestampDIS::Pdu [protected]
CreateEntityReliablePdu()DIS::CreateEntityReliablePdu
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::CreateEntityReliablePdu [virtual]
getOriginatingEntityID()DIS::SimulationManagementWithReliabilityFamilyPdu
getOriginatingEntityID() const DIS::SimulationManagementWithReliabilityFamilyPdu
getPad1() const DIS::CreateEntityReliablePdu
getPad2() const DIS::CreateEntityReliablePdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingEntityID()DIS::SimulationManagementWithReliabilityFamilyPdu
getReceivingEntityID() const DIS::SimulationManagementWithReliabilityFamilyPdu
getRequestID() const DIS::CreateEntityReliablePdu
getRequiredReliabilityService() const DIS::CreateEntityReliablePdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::CreateEntityReliablePdu [virtual]
operator==(const CreateEntityReliablePdu &rhs) const DIS::CreateEntityReliablePdu
DIS::SimulationManagementWithReliabilityFamilyPdu::operator==(const SimulationManagementWithReliabilityFamilyPdu &rhs) const DIS::SimulationManagementWithReliabilityFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setOriginatingEntityID(const EntityID &pX)DIS::SimulationManagementWithReliabilityFamilyPdu
setPad1(unsigned short pX)DIS::CreateEntityReliablePdu
setPad2(unsigned char pX)DIS::CreateEntityReliablePdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingEntityID(const EntityID &pX)DIS::SimulationManagementWithReliabilityFamilyPdu
setRequestID(unsigned int pX)DIS::CreateEntityReliablePdu
setRequiredReliabilityService(unsigned char pX)DIS::CreateEntityReliablePdu
setTimestamp(unsigned int pX)DIS::Pdu
SimulationManagementWithReliabilityFamilyPdu()DIS::SimulationManagementWithReliabilityFamilyPdu
unmarshal(DataStream &dataStream)DIS::CreateEntityReliablePdu [virtual]
~CreateEntityReliablePdu()DIS::CreateEntityReliablePdu [virtual]
~Pdu()DIS::Pdu [virtual]
~SimulationManagementWithReliabilityFamilyPdu()DIS::SimulationManagementWithReliabilityFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_create_entity_reliable_pdu.html b/cpp/docs/html/class_d_i_s_1_1_create_entity_reliable_pdu.html new file mode 100644 index 00000000..5eebf084 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_create_entity_reliable_pdu.html @@ -0,0 +1,436 @@ + + +open-dis: DIS::CreateEntityReliablePdu Class Reference + + + + + +
+

DIS::CreateEntityReliablePdu Class Reference

#include <CreateEntityReliablePdu.h> +

+

+Inheritance diagram for DIS::CreateEntityReliablePdu:
+
+ +

+ +DIS::SimulationManagementWithReliabilityFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CreateEntityReliablePdu ()
virtual ~CreateEntityReliablePdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned char getRequiredReliabilityService () const
void setRequiredReliabilityService (unsigned char pX)
unsigned short getPad1 () const
void setPad1 (unsigned short pX)
unsigned char getPad2 () const
void setPad2 (unsigned char pX)
unsigned int getRequestID () const
void setRequestID (unsigned int pX)
virtual int getMarshalledSize () const
bool operator== (const CreateEntityReliablePdu &rhs) const

Protected Attributes

unsigned char _requiredReliabilityService
unsigned short _pad1
unsigned char _pad2
unsigned int _requestID
+


Detailed Description

+Section 5.3.12.1: creation of an entity , reliable. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
CreateEntityReliablePdu::CreateEntityReliablePdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
CreateEntityReliablePdu::~CreateEntityReliablePdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int CreateEntityReliablePdu::getMarshalledSize (  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + +
unsigned short CreateEntityReliablePdu::getPad1 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char CreateEntityReliablePdu::getPad2 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int CreateEntityReliablePdu::getRequestID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char CreateEntityReliablePdu::getRequiredReliabilityService (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CreateEntityReliablePdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + + +
bool CreateEntityReliablePdu::operator== (const CreateEntityReliablePdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CreateEntityReliablePdu::setPad1 (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CreateEntityReliablePdu::setPad2 (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CreateEntityReliablePdu::setRequestID (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CreateEntityReliablePdu::setRequiredReliabilityService (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void CreateEntityReliablePdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+ +

+


Member Data Documentation

+ +
+
+ + + + +
unsigned short DIS::CreateEntityReliablePdu::_pad1 [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
unsigned char DIS::CreateEntityReliablePdu::_pad2 [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
unsigned int DIS::CreateEntityReliablePdu::_requestID [protected]
+
+
+ +

+Request ID +

+

+ +

+
+ + + + +
unsigned char DIS::CreateEntityReliablePdu::_requiredReliabilityService [protected]
+
+
+ +

+level of reliability service used for this transaction +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_create_entity_reliable_pdu.png b/cpp/docs/html/class_d_i_s_1_1_create_entity_reliable_pdu.png new file mode 100644 index 00000000..9fdab2ff Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_create_entity_reliable_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_data_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_data_pdu-members.html new file mode 100644 index 00000000..444d1ddd --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_data_pdu-members.html @@ -0,0 +1,91 @@ + + +open-dis: Member List + + + + + +
+

DIS::DataPdu Member List

This is the complete list of members for DIS::DataPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_fixedDatumsDIS::DataPdu [protected]
_lengthDIS::Pdu [protected]
_numberOfFixedDatumRecordsDIS::DataPdu [protected]
_numberOfVariableDatumRecordsDIS::DataPdu [protected]
_originatingEntityIDDIS::SimulationManagementFamilyPdu [protected]
_paddingDIS::Pdu [protected]
_padding1DIS::DataPdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingEntityIDDIS::SimulationManagementFamilyPdu [protected]
_requestIDDIS::DataPdu [protected]
_timestampDIS::Pdu [protected]
_variableDatumsDIS::DataPdu [protected]
DataPdu()DIS::DataPdu
getExerciseID() const DIS::Pdu
getFixedDatums()DIS::DataPdu
getFixedDatums() const DIS::DataPdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::DataPdu [virtual]
getNumberOfFixedDatumRecords() const DIS::DataPdu
getNumberOfVariableDatumRecords() const DIS::DataPdu
getOriginatingEntityID()DIS::SimulationManagementFamilyPdu
getOriginatingEntityID() const DIS::SimulationManagementFamilyPdu
getPadding() const DIS::Pdu
getPadding1() const DIS::DataPdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingEntityID()DIS::SimulationManagementFamilyPdu
getReceivingEntityID() const DIS::SimulationManagementFamilyPdu
getRequestID() const DIS::DataPdu
getTimestamp() const DIS::Pdu
getVariableDatums()DIS::DataPdu
getVariableDatums() const DIS::DataPdu
marshal(DataStream &dataStream) const DIS::DataPdu [virtual]
operator==(const DataPdu &rhs) const DIS::DataPdu
DIS::SimulationManagementFamilyPdu::operator==(const SimulationManagementFamilyPdu &rhs) const DIS::SimulationManagementFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setFixedDatums(const std::vector< FixedDatum > &pX)DIS::DataPdu
setLength(unsigned short pX)DIS::Pdu
setOriginatingEntityID(const EntityID &pX)DIS::SimulationManagementFamilyPdu
setPadding(short pX)DIS::Pdu
setPadding1(unsigned int pX)DIS::DataPdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingEntityID(const EntityID &pX)DIS::SimulationManagementFamilyPdu
setRequestID(unsigned int pX)DIS::DataPdu
setTimestamp(unsigned int pX)DIS::Pdu
setVariableDatums(const std::vector< VariableDatum > &pX)DIS::DataPdu
SimulationManagementFamilyPdu()DIS::SimulationManagementFamilyPdu
unmarshal(DataStream &dataStream)DIS::DataPdu [virtual]
~DataPdu()DIS::DataPdu [virtual]
~Pdu()DIS::Pdu [virtual]
~SimulationManagementFamilyPdu()DIS::SimulationManagementFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_data_pdu.html b/cpp/docs/html/class_d_i_s_1_1_data_pdu.html new file mode 100644 index 00000000..f8d1cb21 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_data_pdu.html @@ -0,0 +1,555 @@ + + +open-dis: DIS::DataPdu Class Reference + + + + + +
+

DIS::DataPdu Class Reference

#include <DataPdu.h> +

+

+Inheritance diagram for DIS::DataPdu:
+
+ +

+ +DIS::SimulationManagementFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 DataPdu ()
virtual ~DataPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned int getRequestID () const
void setRequestID (unsigned int pX)
unsigned int getPadding1 () const
void setPadding1 (unsigned int pX)
unsigned int getNumberOfFixedDatumRecords () const
unsigned int getNumberOfVariableDatumRecords () const
std::vector< FixedDatum > & getFixedDatums ()
const std::vector< FixedDatum > & getFixedDatums () const
void setFixedDatums (const std::vector< FixedDatum > &pX)
std::vector< VariableDatum > & getVariableDatums ()
const std::vector
+< VariableDatum > & 
getVariableDatums () const
void setVariableDatums (const std::vector< VariableDatum > &pX)
virtual int getMarshalledSize () const
bool operator== (const DataPdu &rhs) const

Protected Attributes

unsigned int _requestID
unsigned int _padding1
unsigned int _numberOfFixedDatumRecords
unsigned int _numberOfVariableDatumRecords
std::vector< FixedDatum_fixedDatums
std::vector< VariableDatum_variableDatums
+


Detailed Description

+Section 5.3.6.10. Information issued in response to a data query pdu or a set data pdu is communicated using a data pdu. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
DataPdu::DataPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
DataPdu::~DataPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const std::vector< FixedDatum > & DataPdu::getFixedDatums (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< FixedDatum > & DataPdu::getFixedDatums (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int DataPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
unsigned int DataPdu::getNumberOfFixedDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int DataPdu::getNumberOfVariableDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int DataPdu::getPadding1 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int DataPdu::getRequestID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< VariableDatum > & DataPdu::getVariableDatums (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< VariableDatum > & DataPdu::getVariableDatums (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DataPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool DataPdu::operator== (const DataPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DataPdu::setFixedDatums (const std::vector< FixedDatum > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DataPdu::setPadding1 (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DataPdu::setRequestID (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DataPdu::setVariableDatums (const std::vector< VariableDatum > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DataPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
std::vector<FixedDatum> DIS::DataPdu::_fixedDatums [protected]
+
+
+ +

+variable length list of fixed datums +

+

+ +

+
+ + + + +
unsigned int DIS::DataPdu::_numberOfFixedDatumRecords [protected]
+
+
+ +

+Number of fixed datum records +

+

+ +

+
+ + + + +
unsigned int DIS::DataPdu::_numberOfVariableDatumRecords [protected]
+
+
+ +

+Number of variable datum records +

+

+ +

+
+ + + + +
unsigned int DIS::DataPdu::_padding1 [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
unsigned int DIS::DataPdu::_requestID [protected]
+
+
+ +

+ID of request +

+

+ +

+
+ + + + +
std::vector<VariableDatum> DIS::DataPdu::_variableDatums [protected]
+
+
+ +

+variable length list of variable length datums +

+

+


The documentation for this class was generated from the following files:
    +
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataPdu.h
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataPdu.cpp
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_data_pdu.png b/cpp/docs/html/class_d_i_s_1_1_data_pdu.png new file mode 100644 index 00000000..d6845f20 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_data_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_data_query_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_data_query_pdu-members.html new file mode 100644 index 00000000..9edd0de7 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_data_query_pdu-members.html @@ -0,0 +1,91 @@ + + +open-dis: Member List + + + + + +
+

DIS::DataQueryPdu Member List

This is the complete list of members for DIS::DataQueryPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_fixedDatumsDIS::DataQueryPdu [protected]
_lengthDIS::Pdu [protected]
_numberOfFixedDatumRecordsDIS::DataQueryPdu [protected]
_numberOfVariableDatumRecordsDIS::DataQueryPdu [protected]
_originatingEntityIDDIS::SimulationManagementFamilyPdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingEntityIDDIS::SimulationManagementFamilyPdu [protected]
_requestIDDIS::DataQueryPdu [protected]
_timeIntervalDIS::DataQueryPdu [protected]
_timestampDIS::Pdu [protected]
_variableDatumsDIS::DataQueryPdu [protected]
DataQueryPdu()DIS::DataQueryPdu
getExerciseID() const DIS::Pdu
getFixedDatums()DIS::DataQueryPdu
getFixedDatums() const DIS::DataQueryPdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::DataQueryPdu [virtual]
getNumberOfFixedDatumRecords() const DIS::DataQueryPdu
getNumberOfVariableDatumRecords() const DIS::DataQueryPdu
getOriginatingEntityID()DIS::SimulationManagementFamilyPdu
getOriginatingEntityID() const DIS::SimulationManagementFamilyPdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingEntityID()DIS::SimulationManagementFamilyPdu
getReceivingEntityID() const DIS::SimulationManagementFamilyPdu
getRequestID() const DIS::DataQueryPdu
getTimeInterval() const DIS::DataQueryPdu
getTimestamp() const DIS::Pdu
getVariableDatums()DIS::DataQueryPdu
getVariableDatums() const DIS::DataQueryPdu
marshal(DataStream &dataStream) const DIS::DataQueryPdu [virtual]
operator==(const DataQueryPdu &rhs) const DIS::DataQueryPdu
DIS::SimulationManagementFamilyPdu::operator==(const SimulationManagementFamilyPdu &rhs) const DIS::SimulationManagementFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setFixedDatums(const std::vector< FixedDatum > &pX)DIS::DataQueryPdu
setLength(unsigned short pX)DIS::Pdu
setOriginatingEntityID(const EntityID &pX)DIS::SimulationManagementFamilyPdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingEntityID(const EntityID &pX)DIS::SimulationManagementFamilyPdu
setRequestID(unsigned int pX)DIS::DataQueryPdu
setTimeInterval(unsigned int pX)DIS::DataQueryPdu
setTimestamp(unsigned int pX)DIS::Pdu
setVariableDatums(const std::vector< VariableDatum > &pX)DIS::DataQueryPdu
SimulationManagementFamilyPdu()DIS::SimulationManagementFamilyPdu
unmarshal(DataStream &dataStream)DIS::DataQueryPdu [virtual]
~DataQueryPdu()DIS::DataQueryPdu [virtual]
~Pdu()DIS::Pdu [virtual]
~SimulationManagementFamilyPdu()DIS::SimulationManagementFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_data_query_pdu.html b/cpp/docs/html/class_d_i_s_1_1_data_query_pdu.html new file mode 100644 index 00000000..751b8353 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_data_query_pdu.html @@ -0,0 +1,555 @@ + + +open-dis: DIS::DataQueryPdu Class Reference + + + + + +
+

DIS::DataQueryPdu Class Reference

#include <DataQueryPdu.h> +

+

+Inheritance diagram for DIS::DataQueryPdu:
+
+ +

+ +DIS::SimulationManagementFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 DataQueryPdu ()
virtual ~DataQueryPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned int getRequestID () const
void setRequestID (unsigned int pX)
unsigned int getTimeInterval () const
void setTimeInterval (unsigned int pX)
unsigned int getNumberOfFixedDatumRecords () const
unsigned int getNumberOfVariableDatumRecords () const
std::vector< FixedDatum > & getFixedDatums ()
const std::vector< FixedDatum > & getFixedDatums () const
void setFixedDatums (const std::vector< FixedDatum > &pX)
std::vector< VariableDatum > & getVariableDatums ()
const std::vector
+< VariableDatum > & 
getVariableDatums () const
void setVariableDatums (const std::vector< VariableDatum > &pX)
virtual int getMarshalledSize () const
bool operator== (const DataQueryPdu &rhs) const

Protected Attributes

unsigned int _requestID
unsigned int _timeInterval
unsigned int _numberOfFixedDatumRecords
unsigned int _numberOfVariableDatumRecords
std::vector< FixedDatum_fixedDatums
std::vector< VariableDatum_variableDatums
+


Detailed Description

+Section 5.3.6.8. Request for data from an entity. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
DataQueryPdu::DataQueryPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
DataQueryPdu::~DataQueryPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const std::vector< FixedDatum > & DataQueryPdu::getFixedDatums (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< FixedDatum > & DataQueryPdu::getFixedDatums (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int DataQueryPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
unsigned int DataQueryPdu::getNumberOfFixedDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int DataQueryPdu::getNumberOfVariableDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int DataQueryPdu::getRequestID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int DataQueryPdu::getTimeInterval (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< VariableDatum > & DataQueryPdu::getVariableDatums (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< VariableDatum > & DataQueryPdu::getVariableDatums (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DataQueryPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool DataQueryPdu::operator== (const DataQueryPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DataQueryPdu::setFixedDatums (const std::vector< FixedDatum > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DataQueryPdu::setRequestID (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DataQueryPdu::setTimeInterval (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DataQueryPdu::setVariableDatums (const std::vector< VariableDatum > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DataQueryPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
std::vector<FixedDatum> DIS::DataQueryPdu::_fixedDatums [protected]
+
+
+ +

+variable length list of fixed datums +

+

+ +

+
+ + + + +
unsigned int DIS::DataQueryPdu::_numberOfFixedDatumRecords [protected]
+
+
+ +

+Number of fixed datum records +

+

+ +

+
+ + + + +
unsigned int DIS::DataQueryPdu::_numberOfVariableDatumRecords [protected]
+
+
+ +

+Number of variable datum records +

+

+ +

+
+ + + + +
unsigned int DIS::DataQueryPdu::_requestID [protected]
+
+
+ +

+ID of request +

+

+ +

+
+ + + + +
unsigned int DIS::DataQueryPdu::_timeInterval [protected]
+
+
+ +

+time issues between issues of Data PDUs. Zero means send once only. +

+

+ +

+
+ + + + +
std::vector<VariableDatum> DIS::DataQueryPdu::_variableDatums [protected]
+
+
+ +

+variable length list of variable length datums +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_data_query_pdu.png b/cpp/docs/html/class_d_i_s_1_1_data_query_pdu.png new file mode 100644 index 00000000..45d71662 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_data_query_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_data_query_reliable_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_data_query_reliable_pdu-members.html new file mode 100644 index 00000000..4e20834e --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_data_query_reliable_pdu-members.html @@ -0,0 +1,100 @@ + + +open-dis: Member List + + + + + +
+

DIS::DataQueryReliablePdu Member List

This is the complete list of members for DIS::DataQueryReliablePdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_fixedDatumRecordsDIS::DataQueryReliablePdu [protected]
_lengthDIS::Pdu [protected]
_numberOfFixedDatumRecordsDIS::DataQueryReliablePdu [protected]
_numberOfVariableDatumRecordsDIS::DataQueryReliablePdu [protected]
_originatingEntityIDDIS::SimulationManagementWithReliabilityFamilyPdu [protected]
_pad1DIS::DataQueryReliablePdu [protected]
_pad2DIS::DataQueryReliablePdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingEntityIDDIS::SimulationManagementWithReliabilityFamilyPdu [protected]
_requestIDDIS::DataQueryReliablePdu [protected]
_requiredReliabilityServiceDIS::DataQueryReliablePdu [protected]
_timeIntervalDIS::DataQueryReliablePdu [protected]
_timestampDIS::Pdu [protected]
_variableDatumRecordsDIS::DataQueryReliablePdu [protected]
DataQueryReliablePdu()DIS::DataQueryReliablePdu
getExerciseID() const DIS::Pdu
getFixedDatumRecords()DIS::DataQueryReliablePdu
getFixedDatumRecords() const DIS::DataQueryReliablePdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::DataQueryReliablePdu [virtual]
getNumberOfFixedDatumRecords() const DIS::DataQueryReliablePdu
getNumberOfVariableDatumRecords() const DIS::DataQueryReliablePdu
getOriginatingEntityID()DIS::SimulationManagementWithReliabilityFamilyPdu
getOriginatingEntityID() const DIS::SimulationManagementWithReliabilityFamilyPdu
getPad1() const DIS::DataQueryReliablePdu
getPad2() const DIS::DataQueryReliablePdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingEntityID()DIS::SimulationManagementWithReliabilityFamilyPdu
getReceivingEntityID() const DIS::SimulationManagementWithReliabilityFamilyPdu
getRequestID() const DIS::DataQueryReliablePdu
getRequiredReliabilityService() const DIS::DataQueryReliablePdu
getTimeInterval() const DIS::DataQueryReliablePdu
getTimestamp() const DIS::Pdu
getVariableDatumRecords()DIS::DataQueryReliablePdu
getVariableDatumRecords() const DIS::DataQueryReliablePdu
marshal(DataStream &dataStream) const DIS::DataQueryReliablePdu [virtual]
operator==(const DataQueryReliablePdu &rhs) const DIS::DataQueryReliablePdu
DIS::SimulationManagementWithReliabilityFamilyPdu::operator==(const SimulationManagementWithReliabilityFamilyPdu &rhs) const DIS::SimulationManagementWithReliabilityFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setFixedDatumRecords(const std::vector< FixedDatum > &pX)DIS::DataQueryReliablePdu
setLength(unsigned short pX)DIS::Pdu
setOriginatingEntityID(const EntityID &pX)DIS::SimulationManagementWithReliabilityFamilyPdu
setPad1(unsigned short pX)DIS::DataQueryReliablePdu
setPad2(unsigned char pX)DIS::DataQueryReliablePdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingEntityID(const EntityID &pX)DIS::SimulationManagementWithReliabilityFamilyPdu
setRequestID(unsigned int pX)DIS::DataQueryReliablePdu
setRequiredReliabilityService(unsigned char pX)DIS::DataQueryReliablePdu
setTimeInterval(unsigned int pX)DIS::DataQueryReliablePdu
setTimestamp(unsigned int pX)DIS::Pdu
setVariableDatumRecords(const std::vector< VariableDatum > &pX)DIS::DataQueryReliablePdu
SimulationManagementWithReliabilityFamilyPdu()DIS::SimulationManagementWithReliabilityFamilyPdu
unmarshal(DataStream &dataStream)DIS::DataQueryReliablePdu [virtual]
~DataQueryReliablePdu()DIS::DataQueryReliablePdu [virtual]
~Pdu()DIS::Pdu [virtual]
~SimulationManagementWithReliabilityFamilyPdu()DIS::SimulationManagementWithReliabilityFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_data_query_reliable_pdu.html b/cpp/docs/html/class_d_i_s_1_1_data_query_reliable_pdu.html new file mode 100644 index 00000000..5954373e --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_data_query_reliable_pdu.html @@ -0,0 +1,735 @@ + + +open-dis: DIS::DataQueryReliablePdu Class Reference + + + + + +
+

DIS::DataQueryReliablePdu Class Reference

#include <DataQueryReliablePdu.h> +

+

+Inheritance diagram for DIS::DataQueryReliablePdu:
+
+ +

+ +DIS::SimulationManagementWithReliabilityFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 DataQueryReliablePdu ()
virtual ~DataQueryReliablePdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned char getRequiredReliabilityService () const
void setRequiredReliabilityService (unsigned char pX)
unsigned short getPad1 () const
void setPad1 (unsigned short pX)
unsigned char getPad2 () const
void setPad2 (unsigned char pX)
unsigned int getRequestID () const
void setRequestID (unsigned int pX)
unsigned int getTimeInterval () const
void setTimeInterval (unsigned int pX)
unsigned int getNumberOfFixedDatumRecords () const
unsigned int getNumberOfVariableDatumRecords () const
std::vector< FixedDatum > & getFixedDatumRecords ()
const std::vector< FixedDatum > & getFixedDatumRecords () const
void setFixedDatumRecords (const std::vector< FixedDatum > &pX)
std::vector< VariableDatum > & getVariableDatumRecords ()
const std::vector
+< VariableDatum > & 
getVariableDatumRecords () const
void setVariableDatumRecords (const std::vector< VariableDatum > &pX)
virtual int getMarshalledSize () const
bool operator== (const DataQueryReliablePdu &rhs) const

Protected Attributes

unsigned char _requiredReliabilityService
unsigned short _pad1
unsigned char _pad2
unsigned int _requestID
unsigned int _timeInterval
unsigned int _numberOfFixedDatumRecords
unsigned int _numberOfVariableDatumRecords
std::vector< FixedDatum_fixedDatumRecords
std::vector< VariableDatum_variableDatumRecords
+


Detailed Description

+Section 5.3.12.8: request for data from an entity. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
DataQueryReliablePdu::DataQueryReliablePdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
DataQueryReliablePdu::~DataQueryReliablePdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const std::vector< FixedDatum > & DataQueryReliablePdu::getFixedDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< FixedDatum > & DataQueryReliablePdu::getFixedDatumRecords (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int DataQueryReliablePdu::getMarshalledSize (  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + +
unsigned int DataQueryReliablePdu::getNumberOfFixedDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int DataQueryReliablePdu::getNumberOfVariableDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short DataQueryReliablePdu::getPad1 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char DataQueryReliablePdu::getPad2 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int DataQueryReliablePdu::getRequestID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char DataQueryReliablePdu::getRequiredReliabilityService (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int DataQueryReliablePdu::getTimeInterval (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< VariableDatum > & DataQueryReliablePdu::getVariableDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< VariableDatum > & DataQueryReliablePdu::getVariableDatumRecords (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DataQueryReliablePdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + + +
bool DataQueryReliablePdu::operator== (const DataQueryReliablePdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DataQueryReliablePdu::setFixedDatumRecords (const std::vector< FixedDatum > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DataQueryReliablePdu::setPad1 (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DataQueryReliablePdu::setPad2 (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DataQueryReliablePdu::setRequestID (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DataQueryReliablePdu::setRequiredReliabilityService (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DataQueryReliablePdu::setTimeInterval (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DataQueryReliablePdu::setVariableDatumRecords (const std::vector< VariableDatum > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DataQueryReliablePdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+ +

+


Member Data Documentation

+ +
+
+ + + + +
std::vector<FixedDatum> DIS::DataQueryReliablePdu::_fixedDatumRecords [protected]
+
+
+ +

+Fixed datum records +

+

+ +

+
+ + + + +
unsigned int DIS::DataQueryReliablePdu::_numberOfFixedDatumRecords [protected]
+
+
+ +

+Fixed datum record count +

+

+ +

+
+ + + + +
unsigned int DIS::DataQueryReliablePdu::_numberOfVariableDatumRecords [protected]
+
+
+ +

+variable datum record count +

+

+ +

+
+ + + + +
unsigned short DIS::DataQueryReliablePdu::_pad1 [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
unsigned char DIS::DataQueryReliablePdu::_pad2 [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
unsigned int DIS::DataQueryReliablePdu::_requestID [protected]
+
+
+ +

+request ID +

+

+ +

+
+ + + + +
unsigned char DIS::DataQueryReliablePdu::_requiredReliabilityService [protected]
+
+
+ +

+level of reliability service used for this transaction +

+

+ +

+
+ + + + +
unsigned int DIS::DataQueryReliablePdu::_timeInterval [protected]
+
+
+ +

+time interval between issuing data query PDUs +

+

+ +

+ +
+ +

+Variable datum records +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_data_query_reliable_pdu.png b/cpp/docs/html/class_d_i_s_1_1_data_query_reliable_pdu.png new file mode 100644 index 00000000..bf61f504 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_data_query_reliable_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_data_reliable_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_data_reliable_pdu-members.html new file mode 100644 index 00000000..e8afcde6 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_data_reliable_pdu-members.html @@ -0,0 +1,97 @@ + + +open-dis: Member List + + + + + +
+

DIS::DataReliablePdu Member List

This is the complete list of members for DIS::DataReliablePdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_fixedDatumRecordsDIS::DataReliablePdu [protected]
_lengthDIS::Pdu [protected]
_numberOfFixedDatumRecordsDIS::DataReliablePdu [protected]
_numberOfVariableDatumRecordsDIS::DataReliablePdu [protected]
_originatingEntityIDDIS::SimulationManagementWithReliabilityFamilyPdu [protected]
_pad1DIS::DataReliablePdu [protected]
_pad2DIS::DataReliablePdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingEntityIDDIS::SimulationManagementWithReliabilityFamilyPdu [protected]
_requestIDDIS::DataReliablePdu [protected]
_requiredReliabilityServiceDIS::DataReliablePdu [protected]
_timestampDIS::Pdu [protected]
_variableDatumRecordsDIS::DataReliablePdu [protected]
DataReliablePdu()DIS::DataReliablePdu
getExerciseID() const DIS::Pdu
getFixedDatumRecords()DIS::DataReliablePdu
getFixedDatumRecords() const DIS::DataReliablePdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::DataReliablePdu [virtual]
getNumberOfFixedDatumRecords() const DIS::DataReliablePdu
getNumberOfVariableDatumRecords() const DIS::DataReliablePdu
getOriginatingEntityID()DIS::SimulationManagementWithReliabilityFamilyPdu
getOriginatingEntityID() const DIS::SimulationManagementWithReliabilityFamilyPdu
getPad1() const DIS::DataReliablePdu
getPad2() const DIS::DataReliablePdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingEntityID()DIS::SimulationManagementWithReliabilityFamilyPdu
getReceivingEntityID() const DIS::SimulationManagementWithReliabilityFamilyPdu
getRequestID() const DIS::DataReliablePdu
getRequiredReliabilityService() const DIS::DataReliablePdu
getTimestamp() const DIS::Pdu
getVariableDatumRecords()DIS::DataReliablePdu
getVariableDatumRecords() const DIS::DataReliablePdu
marshal(DataStream &dataStream) const DIS::DataReliablePdu [virtual]
operator==(const DataReliablePdu &rhs) const DIS::DataReliablePdu
DIS::SimulationManagementWithReliabilityFamilyPdu::operator==(const SimulationManagementWithReliabilityFamilyPdu &rhs) const DIS::SimulationManagementWithReliabilityFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setFixedDatumRecords(const std::vector< FixedDatum > &pX)DIS::DataReliablePdu
setLength(unsigned short pX)DIS::Pdu
setOriginatingEntityID(const EntityID &pX)DIS::SimulationManagementWithReliabilityFamilyPdu
setPad1(unsigned short pX)DIS::DataReliablePdu
setPad2(unsigned char pX)DIS::DataReliablePdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingEntityID(const EntityID &pX)DIS::SimulationManagementWithReliabilityFamilyPdu
setRequestID(unsigned int pX)DIS::DataReliablePdu
setRequiredReliabilityService(unsigned char pX)DIS::DataReliablePdu
setTimestamp(unsigned int pX)DIS::Pdu
setVariableDatumRecords(const std::vector< VariableDatum > &pX)DIS::DataReliablePdu
SimulationManagementWithReliabilityFamilyPdu()DIS::SimulationManagementWithReliabilityFamilyPdu
unmarshal(DataStream &dataStream)DIS::DataReliablePdu [virtual]
~DataReliablePdu()DIS::DataReliablePdu [virtual]
~Pdu()DIS::Pdu [virtual]
~SimulationManagementWithReliabilityFamilyPdu()DIS::SimulationManagementWithReliabilityFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_data_reliable_pdu.html b/cpp/docs/html/class_d_i_s_1_1_data_reliable_pdu.html new file mode 100644 index 00000000..f6e3bd88 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_data_reliable_pdu.html @@ -0,0 +1,675 @@ + + +open-dis: DIS::DataReliablePdu Class Reference + + + + + +
+

DIS::DataReliablePdu Class Reference

#include <DataReliablePdu.h> +

+

+Inheritance diagram for DIS::DataReliablePdu:
+
+ +

+ +DIS::SimulationManagementWithReliabilityFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 DataReliablePdu ()
virtual ~DataReliablePdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned int getRequestID () const
void setRequestID (unsigned int pX)
unsigned char getRequiredReliabilityService () const
void setRequiredReliabilityService (unsigned char pX)
unsigned short getPad1 () const
void setPad1 (unsigned short pX)
unsigned char getPad2 () const
void setPad2 (unsigned char pX)
unsigned int getNumberOfFixedDatumRecords () const
unsigned int getNumberOfVariableDatumRecords () const
std::vector< FixedDatum > & getFixedDatumRecords ()
const std::vector< FixedDatum > & getFixedDatumRecords () const
void setFixedDatumRecords (const std::vector< FixedDatum > &pX)
std::vector< VariableDatum > & getVariableDatumRecords ()
const std::vector
+< VariableDatum > & 
getVariableDatumRecords () const
void setVariableDatumRecords (const std::vector< VariableDatum > &pX)
virtual int getMarshalledSize () const
bool operator== (const DataReliablePdu &rhs) const

Protected Attributes

unsigned int _requestID
unsigned char _requiredReliabilityService
unsigned short _pad1
unsigned char _pad2
unsigned int _numberOfFixedDatumRecords
unsigned int _numberOfVariableDatumRecords
std::vector< FixedDatum_fixedDatumRecords
std::vector< VariableDatum_variableDatumRecords
+


Detailed Description

+Section 5.3.12.10: issued in response to a data query R or set dataR pdu. Needs manual intervention to fix padding on variable datums. UNFINSIHED

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
DataReliablePdu::DataReliablePdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
DataReliablePdu::~DataReliablePdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const std::vector< FixedDatum > & DataReliablePdu::getFixedDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< FixedDatum > & DataReliablePdu::getFixedDatumRecords (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int DataReliablePdu::getMarshalledSize (  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + +
unsigned int DataReliablePdu::getNumberOfFixedDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int DataReliablePdu::getNumberOfVariableDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short DataReliablePdu::getPad1 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char DataReliablePdu::getPad2 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int DataReliablePdu::getRequestID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char DataReliablePdu::getRequiredReliabilityService (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< VariableDatum > & DataReliablePdu::getVariableDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< VariableDatum > & DataReliablePdu::getVariableDatumRecords (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DataReliablePdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + + +
bool DataReliablePdu::operator== (const DataReliablePdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DataReliablePdu::setFixedDatumRecords (const std::vector< FixedDatum > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DataReliablePdu::setPad1 (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DataReliablePdu::setPad2 (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DataReliablePdu::setRequestID (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DataReliablePdu::setRequiredReliabilityService (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DataReliablePdu::setVariableDatumRecords (const std::vector< VariableDatum > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DataReliablePdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+ +

+


Member Data Documentation

+ +
+
+ + + + +
std::vector<FixedDatum> DIS::DataReliablePdu::_fixedDatumRecords [protected]
+
+
+ +

+Fixed datum records +

+

+ +

+
+ + + + +
unsigned int DIS::DataReliablePdu::_numberOfFixedDatumRecords [protected]
+
+
+ +

+Fixed datum record count +

+

+ +

+
+ + + + +
unsigned int DIS::DataReliablePdu::_numberOfVariableDatumRecords [protected]
+
+
+ +

+variable datum record count +

+

+ +

+
+ + + + +
unsigned short DIS::DataReliablePdu::_pad1 [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
unsigned char DIS::DataReliablePdu::_pad2 [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
unsigned int DIS::DataReliablePdu::_requestID [protected]
+
+
+ +

+Request ID +

+

+ +

+
+ + + + +
unsigned char DIS::DataReliablePdu::_requiredReliabilityService [protected]
+
+
+ +

+level of reliability service used for this transaction +

+

+ +

+
+ + + + +
std::vector<VariableDatum> DIS::DataReliablePdu::_variableDatumRecords [protected]
+
+
+ +

+Variable datum records +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_data_reliable_pdu.png b/cpp/docs/html/class_d_i_s_1_1_data_reliable_pdu.png new file mode 100644 index 00000000..217c3dec Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_data_reliable_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_dead_reckoning_parameter-members.html b/cpp/docs/html/class_d_i_s_1_1_dead_reckoning_parameter-members.html new file mode 100644 index 00000000..d67d21f9 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_dead_reckoning_parameter-members.html @@ -0,0 +1,53 @@ + + +open-dis: Member List + + + + + +
+

DIS::DeadReckoningParameter Member List

This is the complete list of members for DIS::DeadReckoningParameter, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + +
_deadReckoningAlgorithmDIS::DeadReckoningParameter [protected]
_entityAngularVelocityDIS::DeadReckoningParameter [protected]
_entityLinearAccelerationDIS::DeadReckoningParameter [protected]
_otherParametersDIS::DeadReckoningParameter [protected]
DeadReckoningParameter()DIS::DeadReckoningParameter
getDeadReckoningAlgorithm() const DIS::DeadReckoningParameter
getEntityAngularVelocity()DIS::DeadReckoningParameter
getEntityAngularVelocity() const DIS::DeadReckoningParameter
getEntityLinearAcceleration()DIS::DeadReckoningParameter
getEntityLinearAcceleration() const DIS::DeadReckoningParameter
getMarshalledSize() const DIS::DeadReckoningParameter [virtual]
getOtherParameters()DIS::DeadReckoningParameter
getOtherParameters() const DIS::DeadReckoningParameter
marshal(DataStream &dataStream) const DIS::DeadReckoningParameter [virtual]
operator==(const DeadReckoningParameter &rhs) const DIS::DeadReckoningParameter
setDeadReckoningAlgorithm(unsigned char pX)DIS::DeadReckoningParameter
setEntityAngularVelocity(const Vector3Float &pX)DIS::DeadReckoningParameter
setEntityLinearAcceleration(const Vector3Float &pX)DIS::DeadReckoningParameter
setOtherParameters(const char *pX)DIS::DeadReckoningParameter
unmarshal(DataStream &dataStream)DIS::DeadReckoningParameter [virtual]
~DeadReckoningParameter()DIS::DeadReckoningParameter [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_dead_reckoning_parameter.html b/cpp/docs/html/class_d_i_s_1_1_dead_reckoning_parameter.html new file mode 100644 index 00000000..610f250d --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_dead_reckoning_parameter.html @@ -0,0 +1,483 @@ + + +open-dis: DIS::DeadReckoningParameter Class Reference + + + + + +
+

DIS::DeadReckoningParameter Class Reference

#include <DeadReckoningParameter.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 DeadReckoningParameter ()
virtual ~DeadReckoningParameter ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned char getDeadReckoningAlgorithm () const
void setDeadReckoningAlgorithm (unsigned char pX)
char * getOtherParameters ()
const char * getOtherParameters () const
void setOtherParameters (const char *pX)
Vector3FloatgetEntityLinearAcceleration ()
const Vector3FloatgetEntityLinearAcceleration () const
void setEntityLinearAcceleration (const Vector3Float &pX)
Vector3FloatgetEntityAngularVelocity ()
const Vector3FloatgetEntityAngularVelocity () const
void setEntityAngularVelocity (const Vector3Float &pX)
virtual int getMarshalledSize () const
bool operator== (const DeadReckoningParameter &rhs) const

Protected Attributes

unsigned char _deadReckoningAlgorithm
char _otherParameters [15]
Vector3Float _entityLinearAcceleration
Vector3Float _entityAngularVelocity
+


Detailed Description

+represents values used in dead reckoning algorithms

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
DeadReckoningParameter::DeadReckoningParameter (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
DeadReckoningParameter::~DeadReckoningParameter (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned char DeadReckoningParameter::getDeadReckoningAlgorithm (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Vector3Float & DeadReckoningParameter::getEntityAngularVelocity (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Float & DeadReckoningParameter::getEntityAngularVelocity (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Vector3Float & DeadReckoningParameter::getEntityLinearAcceleration (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Float & DeadReckoningParameter::getEntityLinearAcceleration (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int DeadReckoningParameter::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const char * DeadReckoningParameter::getOtherParameters (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
char * DeadReckoningParameter::getOtherParameters (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DeadReckoningParameter::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool DeadReckoningParameter::operator== (const DeadReckoningParameter rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DeadReckoningParameter::setDeadReckoningAlgorithm (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DeadReckoningParameter::setEntityAngularVelocity (const Vector3Float pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DeadReckoningParameter::setEntityLinearAcceleration (const Vector3Float pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DeadReckoningParameter::setOtherParameters (const char *  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DeadReckoningParameter::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned char DIS::DeadReckoningParameter::_deadReckoningAlgorithm [protected]
+
+
+ +

+enumeration of what dead reckoning algorighm to use +

+

+ +

+ +
+ +

+angular velocity of the entity +

+

+ +

+ +
+ +

+Linear acceleration of the entity +

+

+ +

+
+ + + + +
char DIS::DeadReckoningParameter::_otherParameters[15] [protected]
+
+
+ +

+other parameters to use in the dead reckoning algorithm +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_designator_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_designator_pdu-members.html new file mode 100644 index 00000000..41194082 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_designator_pdu-members.html @@ -0,0 +1,106 @@ + + +open-dis: Member List + + + + + +
+

DIS::DesignatorPdu Member List

This is the complete list of members for DIS::DesignatorPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_codeNameDIS::DesignatorPdu [protected]
_deadReckoningAlgorithmDIS::DesignatorPdu [protected]
_designatedEntityIDDIS::DesignatorPdu [protected]
_designatingEntityIDDIS::DesignatorPdu [protected]
_designatorCodeDIS::DesignatorPdu [protected]
_designatorPowerDIS::DesignatorPdu [protected]
_designatorSpotLocationDIS::DesignatorPdu [protected]
_designatorSpotWrtDesignatedDIS::DesignatorPdu [protected]
_designatorWavelengthDIS::DesignatorPdu [protected]
_entityLinearAccelerationDIS::DesignatorPdu [protected]
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_paddingDIS::Pdu [protected]
_padding1DIS::DesignatorPdu [protected]
_padding2DIS::DesignatorPdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_timestampDIS::Pdu [protected]
DesignatorPdu()DIS::DesignatorPdu
DistributedEmissionsFamilyPdu()DIS::DistributedEmissionsFamilyPdu
getCodeName() const DIS::DesignatorPdu
getDeadReckoningAlgorithm() const DIS::DesignatorPdu
getDesignatedEntityID()DIS::DesignatorPdu
getDesignatedEntityID() const DIS::DesignatorPdu
getDesignatingEntityID()DIS::DesignatorPdu
getDesignatingEntityID() const DIS::DesignatorPdu
getDesignatorCode() const DIS::DesignatorPdu
getDesignatorPower() const DIS::DesignatorPdu
getDesignatorSpotLocation()DIS::DesignatorPdu
getDesignatorSpotLocation() const DIS::DesignatorPdu
getDesignatorSpotWrtDesignated()DIS::DesignatorPdu
getDesignatorSpotWrtDesignated() const DIS::DesignatorPdu
getDesignatorWavelength() const DIS::DesignatorPdu
getEntityLinearAcceleration()DIS::DesignatorPdu
getEntityLinearAcceleration() const DIS::DesignatorPdu
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::DesignatorPdu [virtual]
getPadding() const DIS::Pdu
getPadding1() const DIS::DesignatorPdu
getPadding2() const DIS::DesignatorPdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::DesignatorPdu [virtual]
operator==(const DesignatorPdu &rhs) const DIS::DesignatorPdu
DIS::DistributedEmissionsFamilyPdu::operator==(const DistributedEmissionsFamilyPdu &rhs) const DIS::DistributedEmissionsFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setCodeName(unsigned short pX)DIS::DesignatorPdu
setDeadReckoningAlgorithm(char pX)DIS::DesignatorPdu
setDesignatedEntityID(const EntityID &pX)DIS::DesignatorPdu
setDesignatingEntityID(const EntityID &pX)DIS::DesignatorPdu
setDesignatorCode(unsigned short pX)DIS::DesignatorPdu
setDesignatorPower(float pX)DIS::DesignatorPdu
setDesignatorSpotLocation(const Vector3Double &pX)DIS::DesignatorPdu
setDesignatorSpotWrtDesignated(const Vector3Float &pX)DIS::DesignatorPdu
setDesignatorWavelength(float pX)DIS::DesignatorPdu
setEntityLinearAcceleration(const Vector3Float &pX)DIS::DesignatorPdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setPadding(short pX)DIS::Pdu
setPadding1(unsigned short pX)DIS::DesignatorPdu
setPadding2(char pX)DIS::DesignatorPdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setTimestamp(unsigned int pX)DIS::Pdu
unmarshal(DataStream &dataStream)DIS::DesignatorPdu [virtual]
~DesignatorPdu()DIS::DesignatorPdu [virtual]
~DistributedEmissionsFamilyPdu()DIS::DistributedEmissionsFamilyPdu [virtual]
~Pdu()DIS::Pdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_designator_pdu.html b/cpp/docs/html/class_d_i_s_1_1_designator_pdu.html new file mode 100644 index 00000000..c37f68fe --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_designator_pdu.html @@ -0,0 +1,1021 @@ + + +open-dis: DIS::DesignatorPdu Class Reference + + + + + +
+

DIS::DesignatorPdu Class Reference

#include <DesignatorPdu.h> +

+

+Inheritance diagram for DIS::DesignatorPdu:
+
+ +

+ +DIS::DistributedEmissionsFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 DesignatorPdu ()
virtual ~DesignatorPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetDesignatingEntityID ()
const EntityIDgetDesignatingEntityID () const
void setDesignatingEntityID (const EntityID &pX)
unsigned short getCodeName () const
void setCodeName (unsigned short pX)
EntityIDgetDesignatedEntityID ()
const EntityIDgetDesignatedEntityID () const
void setDesignatedEntityID (const EntityID &pX)
unsigned short getDesignatorCode () const
void setDesignatorCode (unsigned short pX)
float getDesignatorPower () const
void setDesignatorPower (float pX)
float getDesignatorWavelength () const
void setDesignatorWavelength (float pX)
Vector3FloatgetDesignatorSpotWrtDesignated ()
const Vector3FloatgetDesignatorSpotWrtDesignated () const
void setDesignatorSpotWrtDesignated (const Vector3Float &pX)
Vector3DoublegetDesignatorSpotLocation ()
const Vector3DoublegetDesignatorSpotLocation () const
void setDesignatorSpotLocation (const Vector3Double &pX)
char getDeadReckoningAlgorithm () const
void setDeadReckoningAlgorithm (char pX)
unsigned short getPadding1 () const
void setPadding1 (unsigned short pX)
char getPadding2 () const
void setPadding2 (char pX)
Vector3FloatgetEntityLinearAcceleration ()
const Vector3FloatgetEntityLinearAcceleration () const
void setEntityLinearAcceleration (const Vector3Float &pX)
virtual int getMarshalledSize () const
bool operator== (const DesignatorPdu &rhs) const

Protected Attributes

EntityID _designatingEntityID
unsigned short _codeName
EntityID _designatedEntityID
unsigned short _designatorCode
float _designatorPower
float _designatorWavelength
Vector3Float _designatorSpotWrtDesignated
Vector3Double _designatorSpotLocation
char _deadReckoningAlgorithm
unsigned short _padding1
char _padding2
Vector3Float _entityLinearAcceleration
+


Detailed Description

+Section 5.3.7.2. Handles designating operations. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
DesignatorPdu::DesignatorPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
DesignatorPdu::~DesignatorPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned short DesignatorPdu::getCodeName (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
char DesignatorPdu::getDeadReckoningAlgorithm (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & DesignatorPdu::getDesignatedEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & DesignatorPdu::getDesignatedEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & DesignatorPdu::getDesignatingEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & DesignatorPdu::getDesignatingEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short DesignatorPdu::getDesignatorCode (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float DesignatorPdu::getDesignatorPower (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Vector3Double & DesignatorPdu::getDesignatorSpotLocation (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Double & DesignatorPdu::getDesignatorSpotLocation (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Vector3Float & DesignatorPdu::getDesignatorSpotWrtDesignated (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Float & DesignatorPdu::getDesignatorSpotWrtDesignated (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float DesignatorPdu::getDesignatorWavelength (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Vector3Float & DesignatorPdu::getEntityLinearAcceleration (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Float & DesignatorPdu::getEntityLinearAcceleration (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int DesignatorPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::DistributedEmissionsFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
unsigned short DesignatorPdu::getPadding1 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
char DesignatorPdu::getPadding2 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DesignatorPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::DistributedEmissionsFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool DesignatorPdu::operator== (const DesignatorPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DesignatorPdu::setCodeName (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DesignatorPdu::setDeadReckoningAlgorithm (char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DesignatorPdu::setDesignatedEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DesignatorPdu::setDesignatingEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DesignatorPdu::setDesignatorCode (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DesignatorPdu::setDesignatorPower (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DesignatorPdu::setDesignatorSpotLocation (const Vector3Double pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DesignatorPdu::setDesignatorSpotWrtDesignated (const Vector3Float pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DesignatorPdu::setDesignatorWavelength (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DesignatorPdu::setEntityLinearAcceleration (const Vector3Float pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DesignatorPdu::setPadding1 (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DesignatorPdu::setPadding2 (char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DesignatorPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::DistributedEmissionsFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned short DIS::DesignatorPdu::_codeName [protected]
+
+
+ +

+This field shall specify a unique emitter database number assigned to differentiate between otherwise similar or identical emitter beams within an emitter system. +

+

+ +

+
+ + + + +
char DIS::DesignatorPdu::_deadReckoningAlgorithm [protected]
+
+
+ +

+Dead reckoning algorithm +

+

+ +

+ +
+ +

+ID of the entity being designated +

+

+ +

+ +
+ +

+ID of the entity designating +

+

+ +

+
+ + + + +
unsigned short DIS::DesignatorPdu::_designatorCode [protected]
+
+
+ +

+This field shall identify the designator code being used by the designating entity +

+

+ +

+
+ + + + +
float DIS::DesignatorPdu::_designatorPower [protected]
+
+
+ +

+This field shall identify the designator output power in watts +

+

+ +

+ +
+ +

+designtor spot wrt the designated entity +

+

+ +

+ +
+ +

+designtor spot wrt the designated entity +

+

+ +

+
+ + + + +
float DIS::DesignatorPdu::_designatorWavelength [protected]
+
+
+ +

+This field shall identify the designator wavelength in units of microns +

+

+ +

+ +
+ +

+linear accelleration of entity +

+

+ +

+
+ + + + +
unsigned short DIS::DesignatorPdu::_padding1 [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
char DIS::DesignatorPdu::_padding2 [protected]
+
+
+ +

+padding +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_designator_pdu.png b/cpp/docs/html/class_d_i_s_1_1_designator_pdu.png new file mode 100644 index 00000000..c55e3ae9 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_designator_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_detonation_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_detonation_pdu-members.html new file mode 100644 index 00000000..6b39acc1 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_detonation_pdu-members.html @@ -0,0 +1,109 @@ + + +open-dis: Member List + + + + + +
+

DIS::DetonationPdu Member List

This is the complete list of members for DIS::DetonationPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_articulationParametersDIS::DetonationPdu [protected]
_burstDescriptorDIS::DetonationPdu [protected]
_detonationResultDIS::DetonationPdu [protected]
_eventIDDIS::DetonationPdu [protected]
_exerciseIDDIS::Pdu [protected]
_firingEntityIDDIS::WarfareFamilyPdu [protected]
_lengthDIS::Pdu [protected]
_locationInEntityCoordinatesDIS::DetonationPdu [protected]
_locationInWorldCoordinatesDIS::DetonationPdu [protected]
_munitionIDDIS::DetonationPdu [protected]
_numberOfArticulationParametersDIS::DetonationPdu [protected]
_padDIS::DetonationPdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_targetEntityIDDIS::WarfareFamilyPdu [protected]
_timestampDIS::Pdu [protected]
_velocityDIS::DetonationPdu [protected]
DetonationPdu()DIS::DetonationPdu
getArticulationParameters()DIS::DetonationPdu
getArticulationParameters() const DIS::DetonationPdu
getBurstDescriptor()DIS::DetonationPdu
getBurstDescriptor() const DIS::DetonationPdu
getDetonationResult() const DIS::DetonationPdu
getEventID()DIS::DetonationPdu
getEventID() const DIS::DetonationPdu
getExerciseID() const DIS::Pdu
getFiringEntityID()DIS::WarfareFamilyPdu
getFiringEntityID() const DIS::WarfareFamilyPdu
getLength() const DIS::Pdu
getLocationInEntityCoordinates()DIS::DetonationPdu
getLocationInEntityCoordinates() const DIS::DetonationPdu
getLocationInWorldCoordinates()DIS::DetonationPdu
getLocationInWorldCoordinates() const DIS::DetonationPdu
getMarshalledSize() const DIS::DetonationPdu [virtual]
getMunitionID()DIS::DetonationPdu
getMunitionID() const DIS::DetonationPdu
getNumberOfArticulationParameters() const DIS::DetonationPdu
getPad() const DIS::DetonationPdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getTargetEntityID()DIS::WarfareFamilyPdu
getTargetEntityID() const DIS::WarfareFamilyPdu
getTimestamp() const DIS::Pdu
getVelocity()DIS::DetonationPdu
getVelocity() const DIS::DetonationPdu
marshal(DataStream &dataStream) const DIS::DetonationPdu [virtual]
operator==(const DetonationPdu &rhs) const DIS::DetonationPdu
DIS::WarfareFamilyPdu::operator==(const WarfareFamilyPdu &rhs) const DIS::WarfareFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setArticulationParameters(const std::vector< ArticulationParameter > &pX)DIS::DetonationPdu
setBurstDescriptor(const BurstDescriptor &pX)DIS::DetonationPdu
setDetonationResult(unsigned char pX)DIS::DetonationPdu
setEventID(const EventID &pX)DIS::DetonationPdu
setExerciseID(unsigned char pX)DIS::Pdu
setFiringEntityID(const EntityID &pX)DIS::WarfareFamilyPdu
setLength(unsigned short pX)DIS::Pdu
setLocationInEntityCoordinates(const Vector3Float &pX)DIS::DetonationPdu
setLocationInWorldCoordinates(const Vector3Double &pX)DIS::DetonationPdu
setMunitionID(const EntityID &pX)DIS::DetonationPdu
setPad(short pX)DIS::DetonationPdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setTargetEntityID(const EntityID &pX)DIS::WarfareFamilyPdu
setTimestamp(unsigned int pX)DIS::Pdu
setVelocity(const Vector3Float &pX)DIS::DetonationPdu
unmarshal(DataStream &dataStream)DIS::DetonationPdu [virtual]
WarfareFamilyPdu()DIS::WarfareFamilyPdu
~DetonationPdu()DIS::DetonationPdu [virtual]
~Pdu()DIS::Pdu [virtual]
~WarfareFamilyPdu()DIS::WarfareFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_detonation_pdu.html b/cpp/docs/html/class_d_i_s_1_1_detonation_pdu.html new file mode 100644 index 00000000..be8d0e37 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_detonation_pdu.html @@ -0,0 +1,924 @@ + + +open-dis: DIS::DetonationPdu Class Reference + + + + + +
+

DIS::DetonationPdu Class Reference

#include <DetonationPdu.h> +

+

+Inheritance diagram for DIS::DetonationPdu:
+
+ +

+ +DIS::WarfareFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 DetonationPdu ()
virtual ~DetonationPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetMunitionID ()
const EntityIDgetMunitionID () const
void setMunitionID (const EntityID &pX)
EventIDgetEventID ()
const EventIDgetEventID () const
void setEventID (const EventID &pX)
Vector3FloatgetVelocity ()
const Vector3FloatgetVelocity () const
void setVelocity (const Vector3Float &pX)
Vector3DoublegetLocationInWorldCoordinates ()
const Vector3DoublegetLocationInWorldCoordinates () const
void setLocationInWorldCoordinates (const Vector3Double &pX)
BurstDescriptorgetBurstDescriptor ()
const BurstDescriptorgetBurstDescriptor () const
void setBurstDescriptor (const BurstDescriptor &pX)
Vector3FloatgetLocationInEntityCoordinates ()
const Vector3FloatgetLocationInEntityCoordinates () const
void setLocationInEntityCoordinates (const Vector3Float &pX)
unsigned char getDetonationResult () const
void setDetonationResult (unsigned char pX)
unsigned char getNumberOfArticulationParameters () const
short getPad () const
void setPad (short pX)
std::vector
+< ArticulationParameter > & 
getArticulationParameters ()
const std::vector
+< ArticulationParameter > & 
getArticulationParameters () const
void setArticulationParameters (const std::vector< ArticulationParameter > &pX)
virtual int getMarshalledSize () const
bool operator== (const DetonationPdu &rhs) const

Protected Attributes

EntityID _munitionID
EventID _eventID
Vector3Float _velocity
Vector3Double _locationInWorldCoordinates
BurstDescriptor _burstDescriptor
Vector3Float _locationInEntityCoordinates
unsigned char _detonationResult
unsigned char _numberOfArticulationParameters
short _pad
std::vector
+< ArticulationParameter
_articulationParameters
+


Detailed Description

+Section 5.3.4.2. Information about stuff exploding. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
DetonationPdu::DetonationPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
DetonationPdu::~DetonationPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const std::vector< ArticulationParameter > & DetonationPdu::getArticulationParameters (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< ArticulationParameter > & DetonationPdu::getArticulationParameters (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const BurstDescriptor & DetonationPdu::getBurstDescriptor (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
BurstDescriptor & DetonationPdu::getBurstDescriptor (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char DetonationPdu::getDetonationResult (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EventID & DetonationPdu::getEventID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EventID & DetonationPdu::getEventID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Vector3Float & DetonationPdu::getLocationInEntityCoordinates (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Float & DetonationPdu::getLocationInEntityCoordinates (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Vector3Double & DetonationPdu::getLocationInWorldCoordinates (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Double & DetonationPdu::getLocationInWorldCoordinates (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int DetonationPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::WarfareFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
const EntityID & DetonationPdu::getMunitionID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & DetonationPdu::getMunitionID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char DetonationPdu::getNumberOfArticulationParameters (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
short DetonationPdu::getPad (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Vector3Float & DetonationPdu::getVelocity (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Float & DetonationPdu::getVelocity (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DetonationPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::WarfareFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool DetonationPdu::operator== (const DetonationPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DetonationPdu::setArticulationParameters (const std::vector< ArticulationParameter > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DetonationPdu::setBurstDescriptor (const BurstDescriptor pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DetonationPdu::setDetonationResult (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DetonationPdu::setEventID (const EventID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DetonationPdu::setLocationInEntityCoordinates (const Vector3Float pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DetonationPdu::setLocationInWorldCoordinates (const Vector3Double pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DetonationPdu::setMunitionID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DetonationPdu::setPad (short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DetonationPdu::setVelocity (const Vector3Float pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DetonationPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::WarfareFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+ +
+ +

+ +

+

+ +

+ +
+ +

+Describes munition used +

+

+ +

+
+ + + + +
unsigned char DIS::DetonationPdu::_detonationResult [protected]
+
+
+ +

+result of the explosion +

+

+ +

+
+ + + + +
EventID DIS::DetonationPdu::_eventID [protected]
+
+
+ +

+ID firing event +

+

+ +

+ +
+ +

+location of the detonation or impact in the target entity's coordinate system. This information should be used for damage assessment. +

+

+ +

+ +
+ +

+where the detonation is, in world coordinates +

+

+ +

+
+ + + + +
EntityID DIS::DetonationPdu::_munitionID [protected]
+
+
+ +

+ID of muntion that was fired +

+

+ +

+
+ + + + +
unsigned char DIS::DetonationPdu::_numberOfArticulationParameters [protected]
+
+
+ +

+How many articulation parameters we have +

+

+ +

+
+ + + + +
short DIS::DetonationPdu::_pad [protected]
+
+
+ +

+padding +

+

+ +

+ +
+ +

+ID firing event +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_detonation_pdu.png b/cpp/docs/html/class_d_i_s_1_1_detonation_pdu.png new file mode 100644 index 00000000..c11a02a7 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_detonation_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_distributed_emissions_family_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_distributed_emissions_family_pdu-members.html new file mode 100644 index 00000000..9016c2c3 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_distributed_emissions_family_pdu-members.html @@ -0,0 +1,62 @@ + + +open-dis: Member List + + + + + +
+

DIS::DistributedEmissionsFamilyPdu Member List

This is the complete list of members for DIS::DistributedEmissionsFamilyPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_timestampDIS::Pdu [protected]
DistributedEmissionsFamilyPdu()DIS::DistributedEmissionsFamilyPdu
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::DistributedEmissionsFamilyPdu [virtual]
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::DistributedEmissionsFamilyPdu [virtual]
operator==(const DistributedEmissionsFamilyPdu &rhs) const DIS::DistributedEmissionsFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setTimestamp(unsigned int pX)DIS::Pdu
unmarshal(DataStream &dataStream)DIS::DistributedEmissionsFamilyPdu [virtual]
~DistributedEmissionsFamilyPdu()DIS::DistributedEmissionsFamilyPdu [virtual]
~Pdu()DIS::Pdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_distributed_emissions_family_pdu.html b/cpp/docs/html/class_d_i_s_1_1_distributed_emissions_family_pdu.html new file mode 100644 index 00000000..faeb3dec --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_distributed_emissions_family_pdu.html @@ -0,0 +1,205 @@ + + +open-dis: DIS::DistributedEmissionsFamilyPdu Class Reference + + + + + +
+

DIS::DistributedEmissionsFamilyPdu Class Reference

#include <DistributedEmissionsFamilyPdu.h> +

+

+Inheritance diagram for DIS::DistributedEmissionsFamilyPdu:
+
+ +

+ +DIS::Pdu +DIS::DesignatorPdu +DIS::ElectronicEmissionsPdu +DIS::IffAtcNavAidsLayer1Pdu +DIS::SeesPdu +DIS::UaPdu +DIS::IffAtcNavAidsLayer2Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + +

Public Member Functions

 DistributedEmissionsFamilyPdu ()
virtual ~DistributedEmissionsFamilyPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
virtual int getMarshalledSize () const
bool operator== (const DistributedEmissionsFamilyPdu &rhs) const
+


Detailed Description

+Section 5.3.7. Electronic Emissions. Abstract superclass for distirubted emissions PDU

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
DistributedEmissionsFamilyPdu::DistributedEmissionsFamilyPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
DistributedEmissionsFamilyPdu::~DistributedEmissionsFamilyPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int DistributedEmissionsFamilyPdu::getMarshalledSize (  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + + +
void DistributedEmissionsFamilyPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + + +
bool DistributedEmissionsFamilyPdu::operator== (const DistributedEmissionsFamilyPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void DistributedEmissionsFamilyPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+ +

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_distributed_emissions_family_pdu.png b/cpp/docs/html/class_d_i_s_1_1_distributed_emissions_family_pdu.png new file mode 100644 index 00000000..8437ae90 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_distributed_emissions_family_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_eight_byte_chunk-members.html b/cpp/docs/html/class_d_i_s_1_1_eight_byte_chunk-members.html new file mode 100644 index 00000000..bd526000 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_eight_byte_chunk-members.html @@ -0,0 +1,42 @@ + + +open-dis: Member List + + + + + +
+

DIS::EightByteChunk Member List

This is the complete list of members for DIS::EightByteChunk, including all inherited members.

+ + + + + + + + + + +
_otherParametersDIS::EightByteChunk [protected]
EightByteChunk()DIS::EightByteChunk
getMarshalledSize() const DIS::EightByteChunk [virtual]
getOtherParameters()DIS::EightByteChunk
getOtherParameters() const DIS::EightByteChunk
marshal(DataStream &dataStream) const DIS::EightByteChunk [virtual]
operator==(const EightByteChunk &rhs) const DIS::EightByteChunk
setOtherParameters(const char *pX)DIS::EightByteChunk
unmarshal(DataStream &dataStream)DIS::EightByteChunk [virtual]
~EightByteChunk()DIS::EightByteChunk [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_eight_byte_chunk.html b/cpp/docs/html/class_d_i_s_1_1_eight_byte_chunk.html new file mode 100644 index 00000000..c650dec7 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_eight_byte_chunk.html @@ -0,0 +1,261 @@ + + +open-dis: DIS::EightByteChunk Class Reference + + + + + +
+

DIS::EightByteChunk Class Reference

#include <EightByteChunk.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 EightByteChunk ()
virtual ~EightByteChunk ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
char * getOtherParameters ()
const char * getOtherParameters () const
void setOtherParameters (const char *pX)
virtual int getMarshalledSize () const
bool operator== (const EightByteChunk &rhs) const

Protected Attributes

char _otherParameters [8]
+


Detailed Description

+64 bit piece of data

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
EightByteChunk::EightByteChunk (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EightByteChunk::~EightByteChunk (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int EightByteChunk::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const char * EightByteChunk::getOtherParameters (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
char * EightByteChunk::getOtherParameters (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EightByteChunk::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool EightByteChunk::operator== (const EightByteChunk rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EightByteChunk::setOtherParameters (const char *  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EightByteChunk::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
char DIS::EightByteChunk::_otherParameters[8] [protected]
+
+
+ +

+Eight bytes of arbitrary data +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_electronic_emission_beam_data-members.html b/cpp/docs/html/class_d_i_s_1_1_electronic_emission_beam_data-members.html new file mode 100644 index 00000000..8d933a37 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_electronic_emission_beam_data-members.html @@ -0,0 +1,69 @@ + + +open-dis: Member List + + + + + +
+

DIS::ElectronicEmissionBeamData Member List

This is the complete list of members for DIS::ElectronicEmissionBeamData, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_beamDataLengthDIS::ElectronicEmissionBeamData [protected]
_beamFunctionDIS::ElectronicEmissionBeamData [protected]
_beamIDNumberDIS::ElectronicEmissionBeamData [protected]
_beamParameterIndexDIS::ElectronicEmissionBeamData [protected]
_fundamentalParameterDataDIS::ElectronicEmissionBeamData [protected]
_highDensityTrackJamDIS::ElectronicEmissionBeamData [protected]
_jammingModeSequenceDIS::ElectronicEmissionBeamData [protected]
_numberOfTrackJamTargetsDIS::ElectronicEmissionBeamData [protected]
_pad4DIS::ElectronicEmissionBeamData [protected]
_trackJamTargetsDIS::ElectronicEmissionBeamData [protected]
ElectronicEmissionBeamData()DIS::ElectronicEmissionBeamData
getBeamDataLength() const DIS::ElectronicEmissionBeamData
getBeamFunction() const DIS::ElectronicEmissionBeamData
getBeamIDNumber() const DIS::ElectronicEmissionBeamData
getBeamParameterIndex() const DIS::ElectronicEmissionBeamData
getFundamentalParameterData()DIS::ElectronicEmissionBeamData
getFundamentalParameterData() const DIS::ElectronicEmissionBeamData
getHighDensityTrackJam() const DIS::ElectronicEmissionBeamData
getJammingModeSequence() const DIS::ElectronicEmissionBeamData
getMarshalledSize() const DIS::ElectronicEmissionBeamData [virtual]
getNumberOfTrackJamTargets() const DIS::ElectronicEmissionBeamData
getPad4() const DIS::ElectronicEmissionBeamData
getTrackJamTargets()DIS::ElectronicEmissionBeamData
getTrackJamTargets() const DIS::ElectronicEmissionBeamData
marshal(DataStream &dataStream) const DIS::ElectronicEmissionBeamData [virtual]
operator==(const ElectronicEmissionBeamData &rhs) const DIS::ElectronicEmissionBeamData
setBeamDataLength(unsigned char pX)DIS::ElectronicEmissionBeamData
setBeamFunction(unsigned char pX)DIS::ElectronicEmissionBeamData
setBeamIDNumber(unsigned char pX)DIS::ElectronicEmissionBeamData
setBeamParameterIndex(unsigned short pX)DIS::ElectronicEmissionBeamData
setFundamentalParameterData(const FundamentalParameterData &pX)DIS::ElectronicEmissionBeamData
setHighDensityTrackJam(unsigned char pX)DIS::ElectronicEmissionBeamData
setJammingModeSequence(unsigned int pX)DIS::ElectronicEmissionBeamData
setPad4(unsigned char pX)DIS::ElectronicEmissionBeamData
setTrackJamTargets(const std::vector< TrackJamTarget > &pX)DIS::ElectronicEmissionBeamData
unmarshal(DataStream &dataStream)DIS::ElectronicEmissionBeamData [virtual]
~ElectronicEmissionBeamData()DIS::ElectronicEmissionBeamData [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_electronic_emission_beam_data.html b/cpp/docs/html/class_d_i_s_1_1_electronic_emission_beam_data.html new file mode 100644 index 00000000..1876d789 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_electronic_emission_beam_data.html @@ -0,0 +1,801 @@ + + +open-dis: DIS::ElectronicEmissionBeamData Class Reference + + + + + +
+

DIS::ElectronicEmissionBeamData Class Reference

#include <ElectronicEmissionBeamData.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 ElectronicEmissionBeamData ()
virtual ~ElectronicEmissionBeamData ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned char getBeamDataLength () const
void setBeamDataLength (unsigned char pX)
unsigned char getBeamIDNumber () const
void setBeamIDNumber (unsigned char pX)
unsigned short getBeamParameterIndex () const
void setBeamParameterIndex (unsigned short pX)
FundamentalParameterDatagetFundamentalParameterData ()
const FundamentalParameterDatagetFundamentalParameterData () const
void setFundamentalParameterData (const FundamentalParameterData &pX)
unsigned char getBeamFunction () const
void setBeamFunction (unsigned char pX)
unsigned char getNumberOfTrackJamTargets () const
unsigned char getHighDensityTrackJam () const
void setHighDensityTrackJam (unsigned char pX)
unsigned char getPad4 () const
void setPad4 (unsigned char pX)
unsigned int getJammingModeSequence () const
void setJammingModeSequence (unsigned int pX)
std::vector< TrackJamTarget > & getTrackJamTargets ()
const std::vector
+< TrackJamTarget > & 
getTrackJamTargets () const
void setTrackJamTargets (const std::vector< TrackJamTarget > &pX)
virtual int getMarshalledSize () const
bool operator== (const ElectronicEmissionBeamData &rhs) const

Protected Attributes

unsigned char _beamDataLength
unsigned char _beamIDNumber
unsigned short _beamParameterIndex
FundamentalParameterData _fundamentalParameterData
unsigned char _beamFunction
unsigned char _numberOfTrackJamTargets
unsigned char _highDensityTrackJam
unsigned char _pad4
unsigned int _jammingModeSequence
std::vector< TrackJamTarget_trackJamTargets
+


Detailed Description

+Description of one electronic emission beam

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
ElectronicEmissionBeamData::ElectronicEmissionBeamData (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
ElectronicEmissionBeamData::~ElectronicEmissionBeamData (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned char ElectronicEmissionBeamData::getBeamDataLength (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char ElectronicEmissionBeamData::getBeamFunction (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char ElectronicEmissionBeamData::getBeamIDNumber (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short ElectronicEmissionBeamData::getBeamParameterIndex (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const FundamentalParameterData & ElectronicEmissionBeamData::getFundamentalParameterData (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
FundamentalParameterData & ElectronicEmissionBeamData::getFundamentalParameterData (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char ElectronicEmissionBeamData::getHighDensityTrackJam (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int ElectronicEmissionBeamData::getJammingModeSequence (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int ElectronicEmissionBeamData::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char ElectronicEmissionBeamData::getNumberOfTrackJamTargets (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char ElectronicEmissionBeamData::getPad4 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< TrackJamTarget > & ElectronicEmissionBeamData::getTrackJamTargets (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< TrackJamTarget > & ElectronicEmissionBeamData::getTrackJamTargets (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ElectronicEmissionBeamData::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool ElectronicEmissionBeamData::operator== (const ElectronicEmissionBeamData rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ElectronicEmissionBeamData::setBeamDataLength (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ElectronicEmissionBeamData::setBeamFunction (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ElectronicEmissionBeamData::setBeamIDNumber (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ElectronicEmissionBeamData::setBeamParameterIndex (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ElectronicEmissionBeamData::setFundamentalParameterData (const FundamentalParameterData pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ElectronicEmissionBeamData::setHighDensityTrackJam (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ElectronicEmissionBeamData::setJammingModeSequence (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ElectronicEmissionBeamData::setPad4 (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ElectronicEmissionBeamData::setTrackJamTargets (const std::vector< TrackJamTarget > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ElectronicEmissionBeamData::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned char DIS::ElectronicEmissionBeamData::_beamDataLength [protected]
+
+
+ +

+This field shall specify the length of this beams data in 32 bit words +

+

+ +

+
+ + + + +
unsigned char DIS::ElectronicEmissionBeamData::_beamFunction [protected]
+
+
+ +

+beam function of a particular beam +

+

+ +

+
+ + + + +
unsigned char DIS::ElectronicEmissionBeamData::_beamIDNumber [protected]
+
+
+ +

+This field shall specify a unique emitter database number assigned to differentiate between otherwise similar or identical emitter beams within an emitter system. +

+

+ +

+
+ + + + +
unsigned short DIS::ElectronicEmissionBeamData::_beamParameterIndex [protected]
+
+
+ +

+This field shall specify a Beam Parameter Index number that shall be used by receiving entities in conjunction with the Emitter Name field to provide a pointer to the stored database parameters required to regenerate the beam. +

+

+ +

+ +
+ +

+Fundamental parameter data such as frequency range, beam sweep, etc. +

+

+ +

+
+ + + + +
unsigned char DIS::ElectronicEmissionBeamData::_highDensityTrackJam [protected]
+
+
+ +

+wheher or not the receiving simulation apps can assume all the targets in the scan pattern are being tracked/jammed +

+

+ +

+
+ + + + +
unsigned int DIS::ElectronicEmissionBeamData::_jammingModeSequence [protected]
+
+
+ +

+identify jamming techniques used +

+

+ +

+
+ + + + +
unsigned char DIS::ElectronicEmissionBeamData::_numberOfTrackJamTargets [protected]
+
+
+ +

+Number of track/jam targets +

+

+ +

+
+ + + + +
unsigned char DIS::ElectronicEmissionBeamData::_pad4 [protected]
+
+
+ +

+padding +

+

+ +

+ +
+ +

+variable length list of track/jam targets +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_electronic_emission_system_data-members.html b/cpp/docs/html/class_d_i_s_1_1_electronic_emission_system_data-members.html new file mode 100644 index 00000000..6da9599d --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_electronic_emission_system_data-members.html @@ -0,0 +1,58 @@ + + +open-dis: Member List + + + + + +
+

DIS::ElectronicEmissionSystemData Member List

This is the complete list of members for DIS::ElectronicEmissionSystemData, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
_beamDataRecordsDIS::ElectronicEmissionSystemData [protected]
_emissionsPadding2DIS::ElectronicEmissionSystemData [protected]
_emitterSystemDIS::ElectronicEmissionSystemData [protected]
_locationDIS::ElectronicEmissionSystemData [protected]
_numberOfBeamsDIS::ElectronicEmissionSystemData [protected]
_systemDataLengthDIS::ElectronicEmissionSystemData [protected]
ElectronicEmissionSystemData()DIS::ElectronicEmissionSystemData
getBeamDataRecords()DIS::ElectronicEmissionSystemData
getBeamDataRecords() const DIS::ElectronicEmissionSystemData
getEmissionsPadding2() const DIS::ElectronicEmissionSystemData
getEmitterSystem()DIS::ElectronicEmissionSystemData
getEmitterSystem() const DIS::ElectronicEmissionSystemData
getLocation()DIS::ElectronicEmissionSystemData
getLocation() const DIS::ElectronicEmissionSystemData
getMarshalledSize() const DIS::ElectronicEmissionSystemData [virtual]
getNumberOfBeams() const DIS::ElectronicEmissionSystemData
getSystemDataLength() const DIS::ElectronicEmissionSystemData
marshal(DataStream &dataStream) const DIS::ElectronicEmissionSystemData [virtual]
operator==(const ElectronicEmissionSystemData &rhs) const DIS::ElectronicEmissionSystemData
setBeamDataRecords(const std::vector< ElectronicEmissionBeamData > &pX)DIS::ElectronicEmissionSystemData
setEmissionsPadding2(unsigned short pX)DIS::ElectronicEmissionSystemData
setEmitterSystem(const EmitterSystem &pX)DIS::ElectronicEmissionSystemData
setLocation(const Vector3Float &pX)DIS::ElectronicEmissionSystemData
setSystemDataLength(unsigned char pX)DIS::ElectronicEmissionSystemData
unmarshal(DataStream &dataStream)DIS::ElectronicEmissionSystemData [virtual]
~ElectronicEmissionSystemData()DIS::ElectronicEmissionSystemData [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_electronic_emission_system_data.html b/cpp/docs/html/class_d_i_s_1_1_electronic_emission_system_data.html new file mode 100644 index 00000000..e1ccbcae --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_electronic_emission_system_data.html @@ -0,0 +1,584 @@ + + +open-dis: DIS::ElectronicEmissionSystemData Class Reference + + + + + +
+

DIS::ElectronicEmissionSystemData Class Reference

#include <ElectronicEmissionSystemData.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 ElectronicEmissionSystemData ()
virtual ~ElectronicEmissionSystemData ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned char getSystemDataLength () const
void setSystemDataLength (unsigned char pX)
unsigned char getNumberOfBeams () const
unsigned short getEmissionsPadding2 () const
void setEmissionsPadding2 (unsigned short pX)
EmitterSystemgetEmitterSystem ()
const EmitterSystemgetEmitterSystem () const
void setEmitterSystem (const EmitterSystem &pX)
Vector3FloatgetLocation ()
const Vector3FloatgetLocation () const
void setLocation (const Vector3Float &pX)
std::vector
+< ElectronicEmissionBeamData > & 
getBeamDataRecords ()
const std::vector
+< ElectronicEmissionBeamData > & 
getBeamDataRecords () const
void setBeamDataRecords (const std::vector< ElectronicEmissionBeamData > &pX)
virtual int getMarshalledSize () const
bool operator== (const ElectronicEmissionSystemData &rhs) const

Protected Attributes

unsigned char _systemDataLength
unsigned char _numberOfBeams
unsigned short _emissionsPadding2
EmitterSystem _emitterSystem
Vector3Float _location
std::vector
+< ElectronicEmissionBeamData
_beamDataRecords
+


Detailed Description

+Data about one electronic system

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
ElectronicEmissionSystemData::ElectronicEmissionSystemData (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
ElectronicEmissionSystemData::~ElectronicEmissionSystemData (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const std::vector< ElectronicEmissionBeamData > & ElectronicEmissionSystemData::getBeamDataRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< ElectronicEmissionBeamData > & ElectronicEmissionSystemData::getBeamDataRecords (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short ElectronicEmissionSystemData::getEmissionsPadding2 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EmitterSystem & ElectronicEmissionSystemData::getEmitterSystem (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EmitterSystem & ElectronicEmissionSystemData::getEmitterSystem (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Vector3Float & ElectronicEmissionSystemData::getLocation (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Float & ElectronicEmissionSystemData::getLocation (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int ElectronicEmissionSystemData::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char ElectronicEmissionSystemData::getNumberOfBeams (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char ElectronicEmissionSystemData::getSystemDataLength (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ElectronicEmissionSystemData::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool ElectronicEmissionSystemData::operator== (const ElectronicEmissionSystemData rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ElectronicEmissionSystemData::setBeamDataRecords (const std::vector< ElectronicEmissionBeamData > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ElectronicEmissionSystemData::setEmissionsPadding2 (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ElectronicEmissionSystemData::setEmitterSystem (const EmitterSystem pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ElectronicEmissionSystemData::setLocation (const Vector3Float pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ElectronicEmissionSystemData::setSystemDataLength (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ElectronicEmissionSystemData::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+ +
+ +

+variable length list of beam data records +

+

+ +

+
+ + + + +
unsigned short DIS::ElectronicEmissionSystemData::_emissionsPadding2 [protected]
+
+
+ +

+padding. +

+

+ +

+ +
+ +

+This field shall specify information about a particular emitter system +

+

+ +

+ +
+ +

+Location with respect to the entity +

+

+ +

+
+ + + + +
unsigned char DIS::ElectronicEmissionSystemData::_numberOfBeams [protected]
+
+
+ +

+This field shall specify the number of beams being described in the current PDU for the system being described. +

+

+ +

+
+ + + + +
unsigned char DIS::ElectronicEmissionSystemData::_systemDataLength [protected]
+
+
+ +

+This field shall specify the length of this emitter system?s data (including beam data and its track/jam information) in 32-bit words. The length shall include the System Data Length field. +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_electronic_emissions_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_electronic_emissions_pdu-members.html new file mode 100644 index 00000000..294dd002 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_electronic_emissions_pdu-members.html @@ -0,0 +1,85 @@ + + +open-dis: Member List + + + + + +
+

DIS::ElectronicEmissionsPdu Member List

This is the complete list of members for DIS::ElectronicEmissionsPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_emittingEntityIDDIS::ElectronicEmissionsPdu [protected]
_eventIDDIS::ElectronicEmissionsPdu [protected]
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_numberOfSystemsDIS::ElectronicEmissionsPdu [protected]
_paddingDIS::Pdu [protected]
_paddingForEmissionsPduDIS::ElectronicEmissionsPdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_stateUpdateIndicatorDIS::ElectronicEmissionsPdu [protected]
_systemsDIS::ElectronicEmissionsPdu [protected]
_timestampDIS::Pdu [protected]
DistributedEmissionsFamilyPdu()DIS::DistributedEmissionsFamilyPdu
ElectronicEmissionsPdu()DIS::ElectronicEmissionsPdu
getEmittingEntityID()DIS::ElectronicEmissionsPdu
getEmittingEntityID() const DIS::ElectronicEmissionsPdu
getEventID()DIS::ElectronicEmissionsPdu
getEventID() const DIS::ElectronicEmissionsPdu
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::ElectronicEmissionsPdu [virtual]
getNumberOfSystems() const DIS::ElectronicEmissionsPdu
getPadding() const DIS::Pdu
getPaddingForEmissionsPdu() const DIS::ElectronicEmissionsPdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getStateUpdateIndicator() const DIS::ElectronicEmissionsPdu
getSystems()DIS::ElectronicEmissionsPdu
getSystems() const DIS::ElectronicEmissionsPdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::ElectronicEmissionsPdu [virtual]
operator==(const ElectronicEmissionsPdu &rhs) const DIS::ElectronicEmissionsPdu
DIS::DistributedEmissionsFamilyPdu::operator==(const DistributedEmissionsFamilyPdu &rhs) const DIS::DistributedEmissionsFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setEmittingEntityID(const EntityID &pX)DIS::ElectronicEmissionsPdu
setEventID(const EventID &pX)DIS::ElectronicEmissionsPdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setPadding(short pX)DIS::Pdu
setPaddingForEmissionsPdu(unsigned short pX)DIS::ElectronicEmissionsPdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setStateUpdateIndicator(unsigned char pX)DIS::ElectronicEmissionsPdu
setSystems(const std::vector< ElectronicEmissionSystemData > &pX)DIS::ElectronicEmissionsPdu
setTimestamp(unsigned int pX)DIS::Pdu
unmarshal(DataStream &dataStream)DIS::ElectronicEmissionsPdu [virtual]
~DistributedEmissionsFamilyPdu()DIS::DistributedEmissionsFamilyPdu [virtual]
~ElectronicEmissionsPdu()DIS::ElectronicEmissionsPdu [virtual]
~Pdu()DIS::Pdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_electronic_emissions_pdu.html b/cpp/docs/html/class_d_i_s_1_1_electronic_emissions_pdu.html new file mode 100644 index 00000000..bc8f2a6b --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_electronic_emissions_pdu.html @@ -0,0 +1,600 @@ + + +open-dis: DIS::ElectronicEmissionsPdu Class Reference + + + + + +
+

DIS::ElectronicEmissionsPdu Class Reference

#include <ElectronicEmissionsPdu.h> +

+

+Inheritance diagram for DIS::ElectronicEmissionsPdu:
+
+ +

+ +DIS::DistributedEmissionsFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 ElectronicEmissionsPdu ()
virtual ~ElectronicEmissionsPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetEmittingEntityID ()
const EntityIDgetEmittingEntityID () const
void setEmittingEntityID (const EntityID &pX)
EventIDgetEventID ()
const EventIDgetEventID () const
void setEventID (const EventID &pX)
unsigned char getStateUpdateIndicator () const
void setStateUpdateIndicator (unsigned char pX)
unsigned char getNumberOfSystems () const
unsigned short getPaddingForEmissionsPdu () const
void setPaddingForEmissionsPdu (unsigned short pX)
std::vector
+< ElectronicEmissionSystemData > & 
getSystems ()
const std::vector
+< ElectronicEmissionSystemData > & 
getSystems () const
void setSystems (const std::vector< ElectronicEmissionSystemData > &pX)
virtual int getMarshalledSize () const
bool operator== (const ElectronicEmissionsPdu &rhs) const

Protected Attributes

EntityID _emittingEntityID
EventID _eventID
unsigned char _stateUpdateIndicator
unsigned char _numberOfSystems
unsigned short _paddingForEmissionsPdu
std::vector
+< ElectronicEmissionSystemData
_systems
+


Detailed Description

+Section 5.3.7.1. Information about active electronic warfare (EW) emissions and active EW countermeasures shall be communicated using an Electromagnetic Emission PDU. COMPLETE (I think)

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
ElectronicEmissionsPdu::ElectronicEmissionsPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
ElectronicEmissionsPdu::~ElectronicEmissionsPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const EntityID & ElectronicEmissionsPdu::getEmittingEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & ElectronicEmissionsPdu::getEmittingEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EventID & ElectronicEmissionsPdu::getEventID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EventID & ElectronicEmissionsPdu::getEventID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int ElectronicEmissionsPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::DistributedEmissionsFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
unsigned char ElectronicEmissionsPdu::getNumberOfSystems (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short ElectronicEmissionsPdu::getPaddingForEmissionsPdu (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char ElectronicEmissionsPdu::getStateUpdateIndicator (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< ElectronicEmissionSystemData > & ElectronicEmissionsPdu::getSystems (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< ElectronicEmissionSystemData > & ElectronicEmissionsPdu::getSystems (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ElectronicEmissionsPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::DistributedEmissionsFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool ElectronicEmissionsPdu::operator== (const ElectronicEmissionsPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ElectronicEmissionsPdu::setEmittingEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ElectronicEmissionsPdu::setEventID (const EventID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ElectronicEmissionsPdu::setPaddingForEmissionsPdu (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ElectronicEmissionsPdu::setStateUpdateIndicator (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ElectronicEmissionsPdu::setSystems (const std::vector< ElectronicEmissionSystemData > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ElectronicEmissionsPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::DistributedEmissionsFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+ +
+ +

+ID of the entity emitting +

+

+ +

+ +
+ +

+ID of event +

+

+ +

+
+ + + + +
unsigned char DIS::ElectronicEmissionsPdu::_numberOfSystems [protected]
+
+
+ +

+This field shall specify the number of emission systems being described in the current PDU. +

+

+ +

+
+ + + + +
unsigned short DIS::ElectronicEmissionsPdu::_paddingForEmissionsPdu [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
unsigned char DIS::ElectronicEmissionsPdu::_stateUpdateIndicator [protected]
+
+
+ +

+This field shall be used to indicate if the data in the PDU represents a state update or just data that has changed since issuance of the last Electromagnetic Emission PDU [relative to the identified entity and emission system(s)]. +

+

+ +

+ +
+ +

+Electronic emmissions systems +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_electronic_emissions_pdu.png b/cpp/docs/html/class_d_i_s_1_1_electronic_emissions_pdu.png new file mode 100644 index 00000000..3dfeba9a Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_electronic_emissions_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_emitter_system-members.html b/cpp/docs/html/class_d_i_s_1_1_emitter_system-members.html new file mode 100644 index 00000000..9ec476ad --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_emitter_system-members.html @@ -0,0 +1,47 @@ + + +open-dis: Member List + + + + + +
+

DIS::EmitterSystem Member List

This is the complete list of members for DIS::EmitterSystem, including all inherited members.

+ + + + + + + + + + + + + + + +
_emitterIdNumberDIS::EmitterSystem [protected]
_emitterNameDIS::EmitterSystem [protected]
_functionDIS::EmitterSystem [protected]
EmitterSystem()DIS::EmitterSystem
getEmitterIdNumber() const DIS::EmitterSystem
getEmitterName() const DIS::EmitterSystem
getFunction() const DIS::EmitterSystem
getMarshalledSize() const DIS::EmitterSystem [virtual]
marshal(DataStream &dataStream) const DIS::EmitterSystem [virtual]
operator==(const EmitterSystem &rhs) const DIS::EmitterSystem
setEmitterIdNumber(unsigned char pX)DIS::EmitterSystem
setEmitterName(unsigned short pX)DIS::EmitterSystem
setFunction(unsigned char pX)DIS::EmitterSystem
unmarshal(DataStream &dataStream)DIS::EmitterSystem [virtual]
~EmitterSystem()DIS::EmitterSystem [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_emitter_system.html b/cpp/docs/html/class_d_i_s_1_1_emitter_system.html new file mode 100644 index 00000000..3c1c1fcf --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_emitter_system.html @@ -0,0 +1,360 @@ + + +open-dis: DIS::EmitterSystem Class Reference + + + + + +
+

DIS::EmitterSystem Class Reference

#include <EmitterSystem.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 EmitterSystem ()
virtual ~EmitterSystem ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned short getEmitterName () const
void setEmitterName (unsigned short pX)
unsigned char getFunction () const
void setFunction (unsigned char pX)
unsigned char getEmitterIdNumber () const
void setEmitterIdNumber (unsigned char pX)
virtual int getMarshalledSize () const
bool operator== (const EmitterSystem &rhs) const

Protected Attributes

unsigned short _emitterName
unsigned char _function
unsigned char _emitterIdNumber
+


Detailed Description

+Section 5.2.11. This field shall specify information about a particular emitter system

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
EmitterSystem::EmitterSystem (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EmitterSystem::~EmitterSystem (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned char EmitterSystem::getEmitterIdNumber (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short EmitterSystem::getEmitterName (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char EmitterSystem::getFunction (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int EmitterSystem::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EmitterSystem::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool EmitterSystem::operator== (const EmitterSystem rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EmitterSystem::setEmitterIdNumber (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EmitterSystem::setEmitterName (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EmitterSystem::setFunction (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EmitterSystem::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned char DIS::EmitterSystem::_emitterIdNumber [protected]
+
+
+ +

+emitter ID, 8 bit enumeration +

+

+ +

+
+ + + + +
unsigned short DIS::EmitterSystem::_emitterName [protected]
+
+
+ +

+Name of the emitter, 16 bit enumeration +

+

+ +

+
+ + + + +
unsigned char DIS::EmitterSystem::_function [protected]
+
+
+ +

+function of the emitter, 8 bit enumeration +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_entity_i_d-members.html b/cpp/docs/html/class_d_i_s_1_1_entity_i_d-members.html new file mode 100644 index 00000000..27b43b78 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_entity_i_d-members.html @@ -0,0 +1,47 @@ + + +open-dis: Member List + + + + + +
+

DIS::EntityID Member List

This is the complete list of members for DIS::EntityID, including all inherited members.

+ + + + + + + + + + + + + + + +
_applicationDIS::EntityID [protected]
_entityDIS::EntityID [protected]
_siteDIS::EntityID [protected]
EntityID()DIS::EntityID
getApplication() const DIS::EntityID
getEntity() const DIS::EntityID
getMarshalledSize() const DIS::EntityID [virtual]
getSite() const DIS::EntityID
marshal(DataStream &dataStream) const DIS::EntityID [virtual]
operator==(const EntityID &rhs) const DIS::EntityID
setApplication(unsigned short pX)DIS::EntityID
setEntity(unsigned short pX)DIS::EntityID
setSite(unsigned short pX)DIS::EntityID
unmarshal(DataStream &dataStream)DIS::EntityID [virtual]
~EntityID()DIS::EntityID [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_entity_i_d.html b/cpp/docs/html/class_d_i_s_1_1_entity_i_d.html new file mode 100644 index 00000000..c65145c2 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_entity_i_d.html @@ -0,0 +1,360 @@ + + +open-dis: DIS::EntityID Class Reference + + + + + +
+

DIS::EntityID Class Reference

#include <EntityID.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 EntityID ()
virtual ~EntityID ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned short getSite () const
void setSite (unsigned short pX)
unsigned short getApplication () const
void setApplication (unsigned short pX)
unsigned short getEntity () const
void setEntity (unsigned short pX)
virtual int getMarshalledSize () const
bool operator== (const EntityID &rhs) const

Protected Attributes

unsigned short _site
unsigned short _application
unsigned short _entity
+


Detailed Description

+Each entity in a given DIS simulation application shall be given an entity identifier number unique to all other entities in that application. This identifier number is valid for the duration of the exercise; however, entity identifier numbers may be reused when all possible numbers have been exhausted. No entity shall have an entity identifier number of NO_ENTITY, ALL_ENTITIES, or RQST_ASSIGN_ID. The entity iden- tifier number need not be registered or retained for future exercises. The entity identifier number shall be specified by a 16-bit unsigned integer. An entity identifier number equal to zero with valid site and application identification shall address a simulation application. An entity identifier number equal to ALL_ENTITIES shall mean all entities within the specified site and application. An entity identifier number equal to RQST_ASSIGN_ID allows the receiver of the create entity to define the entity identifier number of the new entity.

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
EntityID::EntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID::~EntityID (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned short EntityID::getApplication (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short EntityID::getEntity (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int EntityID::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short EntityID::getSite (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityID::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool EntityID::operator== (const EntityID rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityID::setApplication (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityID::setEntity (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityID::setSite (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityID::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned short DIS::EntityID::_application [protected]
+
+
+ +

+The application ID +

+

+ +

+
+ + + + +
unsigned short DIS::EntityID::_entity [protected]
+
+
+ +

+the entity ID +

+

+ +

+
+ + + + +
unsigned short DIS::EntityID::_site [protected]
+
+
+ +

+The site ID +

+

+


The documentation for this class was generated from the following files:
    +
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityID.h
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityID.cpp
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_entity_information_family_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_entity_information_family_pdu-members.html new file mode 100644 index 00000000..920ca2e7 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_entity_information_family_pdu-members.html @@ -0,0 +1,62 @@ + + +open-dis: Member List + + + + + +
+

DIS::EntityInformationFamilyPdu Member List

This is the complete list of members for DIS::EntityInformationFamilyPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_timestampDIS::Pdu [protected]
EntityInformationFamilyPdu()DIS::EntityInformationFamilyPdu
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::EntityInformationFamilyPdu [virtual]
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::EntityInformationFamilyPdu [virtual]
operator==(const EntityInformationFamilyPdu &rhs) const DIS::EntityInformationFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setTimestamp(unsigned int pX)DIS::Pdu
unmarshal(DataStream &dataStream)DIS::EntityInformationFamilyPdu [virtual]
~EntityInformationFamilyPdu()DIS::EntityInformationFamilyPdu [virtual]
~Pdu()DIS::Pdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_entity_information_family_pdu.html b/cpp/docs/html/class_d_i_s_1_1_entity_information_family_pdu.html new file mode 100644 index 00000000..ad8709ba --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_entity_information_family_pdu.html @@ -0,0 +1,204 @@ + + +open-dis: DIS::EntityInformationFamilyPdu Class Reference + + + + + +
+

DIS::EntityInformationFamilyPdu Class Reference

#include <EntityInformationFamilyPdu.h> +

+

+Inheritance diagram for DIS::EntityInformationFamilyPdu:
+
+ +

+ +DIS::Pdu +DIS::CollisionElasticPdu +DIS::CollisionPdu +DIS::EntityStatePdu +DIS::EntityStateUpdatePdu +DIS::FastEntityStatePdu + +
+ +

+List of all members. + + + + + + + + + + + + + + +

Public Member Functions

 EntityInformationFamilyPdu ()
virtual ~EntityInformationFamilyPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
virtual int getMarshalledSize () const
bool operator== (const EntityInformationFamilyPdu &rhs) const
+


Detailed Description

+Section 5.3.3. Common superclass for EntityState, Collision, collision-elastic, and entity state update PDUs. This should be abstract. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
EntityInformationFamilyPdu::EntityInformationFamilyPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityInformationFamilyPdu::~EntityInformationFamilyPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int EntityInformationFamilyPdu::getMarshalledSize (  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + + +
void EntityInformationFamilyPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + + +
bool EntityInformationFamilyPdu::operator== (const EntityInformationFamilyPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityInformationFamilyPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+ +

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_entity_information_family_pdu.png b/cpp/docs/html/class_d_i_s_1_1_entity_information_family_pdu.png new file mode 100644 index 00000000..5d6c3ee2 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_entity_information_family_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_entity_management_family_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_entity_management_family_pdu-members.html new file mode 100644 index 00000000..9589b598 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_entity_management_family_pdu-members.html @@ -0,0 +1,62 @@ + + +open-dis: Member List + + + + + +
+

DIS::EntityManagementFamilyPdu Member List

This is the complete list of members for DIS::EntityManagementFamilyPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_timestampDIS::Pdu [protected]
EntityManagementFamilyPdu()DIS::EntityManagementFamilyPdu
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::EntityManagementFamilyPdu [virtual]
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::EntityManagementFamilyPdu [virtual]
operator==(const EntityManagementFamilyPdu &rhs) const DIS::EntityManagementFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setTimestamp(unsigned int pX)DIS::Pdu
unmarshal(DataStream &dataStream)DIS::EntityManagementFamilyPdu [virtual]
~EntityManagementFamilyPdu()DIS::EntityManagementFamilyPdu [virtual]
~Pdu()DIS::Pdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_entity_management_family_pdu.html b/cpp/docs/html/class_d_i_s_1_1_entity_management_family_pdu.html new file mode 100644 index 00000000..f1b97a13 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_entity_management_family_pdu.html @@ -0,0 +1,203 @@ + + +open-dis: DIS::EntityManagementFamilyPdu Class Reference + + + + + +
+

DIS::EntityManagementFamilyPdu Class Reference

#include <EntityManagementFamilyPdu.h> +

+

+Inheritance diagram for DIS::EntityManagementFamilyPdu:
+
+ +

+ +DIS::Pdu +DIS::AggregateStatePdu +DIS::IsGroupOfPdu +DIS::IsPartOfPdu +DIS::TransferControlRequestPdu + +
+ +

+List of all members. + + + + + + + + + + + + + + +

Public Member Functions

 EntityManagementFamilyPdu ()
virtual ~EntityManagementFamilyPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
virtual int getMarshalledSize () const
bool operator== (const EntityManagementFamilyPdu &rhs) const
+


Detailed Description

+Section 5.3.9. Common superclass for EntityManagment PDUs, including aggregate state, isGroupOf, TransferControLRequest, and isPartOf

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
EntityManagementFamilyPdu::EntityManagementFamilyPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityManagementFamilyPdu::~EntityManagementFamilyPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int EntityManagementFamilyPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::Pdu.

+ +

Reimplemented in DIS::AggregateStatePdu, DIS::IsGroupOfPdu, DIS::IsPartOfPdu, and DIS::TransferControlRequestPdu.

+ +
+

+ +

+
+ + + + + + + + + +
void EntityManagementFamilyPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::Pdu.

+ +

Reimplemented in DIS::AggregateStatePdu, DIS::IsGroupOfPdu, DIS::IsPartOfPdu, and DIS::TransferControlRequestPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool EntityManagementFamilyPdu::operator== (const EntityManagementFamilyPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityManagementFamilyPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::Pdu.

+ +

Reimplemented in DIS::AggregateStatePdu, DIS::IsGroupOfPdu, DIS::IsPartOfPdu, and DIS::TransferControlRequestPdu.

+ +
+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_entity_management_family_pdu.png b/cpp/docs/html/class_d_i_s_1_1_entity_management_family_pdu.png new file mode 100644 index 00000000..63a015eb Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_entity_management_family_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_entity_state_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_entity_state_pdu-members.html new file mode 100644 index 00000000..d7b08538 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_entity_state_pdu-members.html @@ -0,0 +1,112 @@ + + +open-dis: Member List + + + + + +
+

DIS::EntityStatePdu Member List

This is the complete list of members for DIS::EntityStatePdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_alternativeEntityTypeDIS::EntityStatePdu [protected]
_articulationParametersDIS::EntityStatePdu [protected]
_capabilitiesDIS::EntityStatePdu [protected]
_deadReckoningParametersDIS::EntityStatePdu [protected]
_entityAppearanceDIS::EntityStatePdu [protected]
_entityIDDIS::EntityStatePdu [protected]
_entityLinearVelocityDIS::EntityStatePdu [protected]
_entityLocationDIS::EntityStatePdu [protected]
_entityOrientationDIS::EntityStatePdu [protected]
_entityTypeDIS::EntityStatePdu [protected]
_exerciseIDDIS::Pdu [protected]
_forceIdDIS::EntityStatePdu [protected]
_lengthDIS::Pdu [protected]
_markingDIS::EntityStatePdu [protected]
_numberOfArticulationParametersDIS::EntityStatePdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_timestampDIS::Pdu [protected]
EntityInformationFamilyPdu()DIS::EntityInformationFamilyPdu
EntityStatePdu()DIS::EntityStatePdu
getAlternativeEntityType()DIS::EntityStatePdu
getAlternativeEntityType() const DIS::EntityStatePdu
getArticulationParameters()DIS::EntityStatePdu
getArticulationParameters() const DIS::EntityStatePdu
getCapabilities() const DIS::EntityStatePdu
getDeadReckoningParameters()DIS::EntityStatePdu
getDeadReckoningParameters() const DIS::EntityStatePdu
getEntityAppearance() const DIS::EntityStatePdu
getEntityID()DIS::EntityStatePdu
getEntityID() const DIS::EntityStatePdu
getEntityLinearVelocity()DIS::EntityStatePdu
getEntityLinearVelocity() const DIS::EntityStatePdu
getEntityLocation()DIS::EntityStatePdu
getEntityLocation() const DIS::EntityStatePdu
getEntityOrientation()DIS::EntityStatePdu
getEntityOrientation() const DIS::EntityStatePdu
getEntityType()DIS::EntityStatePdu
getEntityType() const DIS::EntityStatePdu
getExerciseID() const DIS::Pdu
getForceId() const DIS::EntityStatePdu
getLength() const DIS::Pdu
getMarking()DIS::EntityStatePdu
getMarking() const DIS::EntityStatePdu
getMarshalledSize() const DIS::EntityStatePdu [virtual]
getNumberOfArticulationParameters() const DIS::EntityStatePdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::EntityStatePdu [virtual]
operator==(const EntityStatePdu &rhs) const DIS::EntityStatePdu
DIS::EntityInformationFamilyPdu::operator==(const EntityInformationFamilyPdu &rhs) const DIS::EntityInformationFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setAlternativeEntityType(const EntityType &pX)DIS::EntityStatePdu
setArticulationParameters(const std::vector< ArticulationParameter > &pX)DIS::EntityStatePdu
setCapabilities(int pX)DIS::EntityStatePdu
setDeadReckoningParameters(const DeadReckoningParameter &pX)DIS::EntityStatePdu
setEntityAppearance(int pX)DIS::EntityStatePdu
setEntityID(const EntityID &pX)DIS::EntityStatePdu
setEntityLinearVelocity(const Vector3Float &pX)DIS::EntityStatePdu
setEntityLocation(const Vector3Double &pX)DIS::EntityStatePdu
setEntityOrientation(const Orientation &pX)DIS::EntityStatePdu
setEntityType(const EntityType &pX)DIS::EntityStatePdu
setExerciseID(unsigned char pX)DIS::Pdu
setForceId(unsigned char pX)DIS::EntityStatePdu
setLength(unsigned short pX)DIS::Pdu
setMarking(const Marking &pX)DIS::EntityStatePdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setTimestamp(unsigned int pX)DIS::Pdu
unmarshal(DataStream &dataStream)DIS::EntityStatePdu [virtual]
~EntityInformationFamilyPdu()DIS::EntityInformationFamilyPdu [virtual]
~EntityStatePdu()DIS::EntityStatePdu [virtual]
~Pdu()DIS::Pdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_entity_state_pdu.html b/cpp/docs/html/class_d_i_s_1_1_entity_state_pdu.html new file mode 100644 index 00000000..eb44ccb7 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_entity_state_pdu.html @@ -0,0 +1,1146 @@ + + +open-dis: DIS::EntityStatePdu Class Reference + + + + + +
+

DIS::EntityStatePdu Class Reference

#include <EntityStatePdu.h> +

+

+Inheritance diagram for DIS::EntityStatePdu:
+
+ +

+ +DIS::EntityInformationFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 EntityStatePdu ()
virtual ~EntityStatePdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetEntityID ()
const EntityIDgetEntityID () const
void setEntityID (const EntityID &pX)
unsigned char getForceId () const
void setForceId (unsigned char pX)
char getNumberOfArticulationParameters () const
EntityTypegetEntityType ()
const EntityTypegetEntityType () const
void setEntityType (const EntityType &pX)
EntityTypegetAlternativeEntityType ()
const EntityTypegetAlternativeEntityType () const
void setAlternativeEntityType (const EntityType &pX)
Vector3FloatgetEntityLinearVelocity ()
const Vector3FloatgetEntityLinearVelocity () const
void setEntityLinearVelocity (const Vector3Float &pX)
Vector3DoublegetEntityLocation ()
const Vector3DoublegetEntityLocation () const
void setEntityLocation (const Vector3Double &pX)
OrientationgetEntityOrientation ()
const OrientationgetEntityOrientation () const
void setEntityOrientation (const Orientation &pX)
int getEntityAppearance () const
void setEntityAppearance (int pX)
DeadReckoningParametergetDeadReckoningParameters ()
const DeadReckoningParametergetDeadReckoningParameters () const
void setDeadReckoningParameters (const DeadReckoningParameter &pX)
MarkinggetMarking ()
const MarkinggetMarking () const
void setMarking (const Marking &pX)
int getCapabilities () const
void setCapabilities (int pX)
std::vector
+< ArticulationParameter > & 
getArticulationParameters ()
const std::vector
+< ArticulationParameter > & 
getArticulationParameters () const
void setArticulationParameters (const std::vector< ArticulationParameter > &pX)
virtual int getMarshalledSize () const
bool operator== (const EntityStatePdu &rhs) const

Protected Attributes

EntityID _entityID
unsigned char _forceId
char _numberOfArticulationParameters
EntityType _entityType
EntityType _alternativeEntityType
Vector3Float _entityLinearVelocity
Vector3Double _entityLocation
Orientation _entityOrientation
int _entityAppearance
DeadReckoningParameter _deadReckoningParameters
Marking _marking
int _capabilities
std::vector
+< ArticulationParameter
_articulationParameters
+


Detailed Description

+Section 5.3.3.1. Represents the postion and state of one entity in the world. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
EntityStatePdu::EntityStatePdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityStatePdu::~EntityStatePdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const EntityType & EntityStatePdu::getAlternativeEntityType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityType & EntityStatePdu::getAlternativeEntityType (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< ArticulationParameter > & EntityStatePdu::getArticulationParameters (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< ArticulationParameter > & EntityStatePdu::getArticulationParameters (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int EntityStatePdu::getCapabilities (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const DeadReckoningParameter & EntityStatePdu::getDeadReckoningParameters (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
DeadReckoningParameter & EntityStatePdu::getDeadReckoningParameters (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int EntityStatePdu::getEntityAppearance (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & EntityStatePdu::getEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & EntityStatePdu::getEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Vector3Float & EntityStatePdu::getEntityLinearVelocity (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Float & EntityStatePdu::getEntityLinearVelocity (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Vector3Double & EntityStatePdu::getEntityLocation (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Double & EntityStatePdu::getEntityLocation (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Orientation & EntityStatePdu::getEntityOrientation (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Orientation & EntityStatePdu::getEntityOrientation (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityType & EntityStatePdu::getEntityType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityType & EntityStatePdu::getEntityType (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char EntityStatePdu::getForceId (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Marking & EntityStatePdu::getMarking (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Marking & EntityStatePdu::getMarking (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int EntityStatePdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::EntityInformationFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
char EntityStatePdu::getNumberOfArticulationParameters (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityStatePdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::EntityInformationFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool EntityStatePdu::operator== (const EntityStatePdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityStatePdu::setAlternativeEntityType (const EntityType pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityStatePdu::setArticulationParameters (const std::vector< ArticulationParameter > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityStatePdu::setCapabilities (int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityStatePdu::setDeadReckoningParameters (const DeadReckoningParameter pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityStatePdu::setEntityAppearance (int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityStatePdu::setEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityStatePdu::setEntityLinearVelocity (const Vector3Float pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityStatePdu::setEntityLocation (const Vector3Double pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityStatePdu::setEntityOrientation (const Orientation pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityStatePdu::setEntityType (const EntityType pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityStatePdu::setForceId (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityStatePdu::setMarking (const Marking pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityStatePdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::EntityInformationFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+ +
+ +

+ +

+

+ +

+ +
+ +

+variable length list of articulation parameters +

+

+ +

+
+ + + + +
int DIS::EntityStatePdu::_capabilities [protected]
+
+
+ +

+a series of bit flags +

+

+ +

+ +
+ +

+parameters used for dead reckoning +

+

+ +

+
+ + + + +
int DIS::EntityStatePdu::_entityAppearance [protected]
+
+
+ +

+a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc. +

+

+ +

+
+ + + + +
EntityID DIS::EntityStatePdu::_entityID [protected]
+
+
+ +

+Unique ID for an entity that is tied to this state information +

+

+ +

+ +
+ +

+Describes the speed of the entity in the world +

+

+ +

+ +
+ +

+describes the location of the entity in the world +

+

+ +

+ +
+ +

+describes the orientation of the entity, in euler angles +

+

+ +

+ +
+ +

+Describes the type of entity in the world +

+

+ +

+
+ + + + +
unsigned char DIS::EntityStatePdu::_forceId [protected]
+
+
+ +

+What force this entity is affiliated with, eg red, blue, neutral, etc +

+

+ +

+
+ + + + +
Marking DIS::EntityStatePdu::_marking [protected]
+
+
+ +

+characters that can be used for debugging, or to draw unique strings on the side of entities in the world +

+

+ +

+ +
+ +

+How many articulation parameters are in the variable length list +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_entity_state_pdu.png b/cpp/docs/html/class_d_i_s_1_1_entity_state_pdu.png new file mode 100644 index 00000000..a4fccd56 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_entity_state_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_entity_state_update_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_entity_state_update_pdu-members.html new file mode 100644 index 00000000..0b2321d4 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_entity_state_update_pdu-members.html @@ -0,0 +1,93 @@ + + +open-dis: Member List + + + + + +
+

DIS::EntityStateUpdatePdu Member List

This is the complete list of members for DIS::EntityStateUpdatePdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_articulationParametersDIS::EntityStateUpdatePdu [protected]
_entityAppearanceDIS::EntityStateUpdatePdu [protected]
_entityIDDIS::EntityStateUpdatePdu [protected]
_entityLinearVelocityDIS::EntityStateUpdatePdu [protected]
_entityLocationDIS::EntityStateUpdatePdu [protected]
_entityOrientationDIS::EntityStateUpdatePdu [protected]
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_numberOfArticulationParametersDIS::EntityStateUpdatePdu [protected]
_paddingDIS::Pdu [protected]
_padding1DIS::EntityStateUpdatePdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_timestampDIS::Pdu [protected]
EntityInformationFamilyPdu()DIS::EntityInformationFamilyPdu
EntityStateUpdatePdu()DIS::EntityStateUpdatePdu
getArticulationParameters()DIS::EntityStateUpdatePdu
getArticulationParameters() const DIS::EntityStateUpdatePdu
getEntityAppearance() const DIS::EntityStateUpdatePdu
getEntityID()DIS::EntityStateUpdatePdu
getEntityID() const DIS::EntityStateUpdatePdu
getEntityLinearVelocity()DIS::EntityStateUpdatePdu
getEntityLinearVelocity() const DIS::EntityStateUpdatePdu
getEntityLocation()DIS::EntityStateUpdatePdu
getEntityLocation() const DIS::EntityStateUpdatePdu
getEntityOrientation()DIS::EntityStateUpdatePdu
getEntityOrientation() const DIS::EntityStateUpdatePdu
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::EntityStateUpdatePdu [virtual]
getNumberOfArticulationParameters() const DIS::EntityStateUpdatePdu
getPadding() const DIS::Pdu
getPadding1() const DIS::EntityStateUpdatePdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::EntityStateUpdatePdu [virtual]
operator==(const EntityStateUpdatePdu &rhs) const DIS::EntityStateUpdatePdu
DIS::EntityInformationFamilyPdu::operator==(const EntityInformationFamilyPdu &rhs) const DIS::EntityInformationFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setArticulationParameters(const std::vector< ArticulationParameter > &pX)DIS::EntityStateUpdatePdu
setEntityAppearance(int pX)DIS::EntityStateUpdatePdu
setEntityID(const EntityID &pX)DIS::EntityStateUpdatePdu
setEntityLinearVelocity(const Vector3Float &pX)DIS::EntityStateUpdatePdu
setEntityLocation(const Vector3Double &pX)DIS::EntityStateUpdatePdu
setEntityOrientation(const Orientation &pX)DIS::EntityStateUpdatePdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setPadding(short pX)DIS::Pdu
setPadding1(char pX)DIS::EntityStateUpdatePdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setTimestamp(unsigned int pX)DIS::Pdu
unmarshal(DataStream &dataStream)DIS::EntityStateUpdatePdu [virtual]
~EntityInformationFamilyPdu()DIS::EntityInformationFamilyPdu [virtual]
~EntityStateUpdatePdu()DIS::EntityStateUpdatePdu [virtual]
~Pdu()DIS::Pdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_entity_state_update_pdu.html b/cpp/docs/html/class_d_i_s_1_1_entity_state_update_pdu.html new file mode 100644 index 00000000..1e4203da --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_entity_state_update_pdu.html @@ -0,0 +1,762 @@ + + +open-dis: DIS::EntityStateUpdatePdu Class Reference + + + + + +
+

DIS::EntityStateUpdatePdu Class Reference

#include <EntityStateUpdatePdu.h> +

+

+Inheritance diagram for DIS::EntityStateUpdatePdu:
+
+ +

+ +DIS::EntityInformationFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 EntityStateUpdatePdu ()
virtual ~EntityStateUpdatePdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetEntityID ()
const EntityIDgetEntityID () const
void setEntityID (const EntityID &pX)
char getPadding1 () const
void setPadding1 (char pX)
unsigned char getNumberOfArticulationParameters () const
Vector3FloatgetEntityLinearVelocity ()
const Vector3FloatgetEntityLinearVelocity () const
void setEntityLinearVelocity (const Vector3Float &pX)
Vector3DoublegetEntityLocation ()
const Vector3DoublegetEntityLocation () const
void setEntityLocation (const Vector3Double &pX)
OrientationgetEntityOrientation ()
const OrientationgetEntityOrientation () const
void setEntityOrientation (const Orientation &pX)
int getEntityAppearance () const
void setEntityAppearance (int pX)
std::vector
+< ArticulationParameter > & 
getArticulationParameters ()
const std::vector
+< ArticulationParameter > & 
getArticulationParameters () const
void setArticulationParameters (const std::vector< ArticulationParameter > &pX)
virtual int getMarshalledSize () const
bool operator== (const EntityStateUpdatePdu &rhs) const

Protected Attributes

EntityID _entityID
char _padding1
unsigned char _numberOfArticulationParameters
Vector3Float _entityLinearVelocity
Vector3Double _entityLocation
Orientation _entityOrientation
int _entityAppearance
std::vector
+< ArticulationParameter
_articulationParameters
+


Detailed Description

+5.3.3.4. Nonstatic information about a particular entity may be communicated by issuing an Entity State Update PDU. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
EntityStateUpdatePdu::EntityStateUpdatePdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityStateUpdatePdu::~EntityStateUpdatePdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const std::vector< ArticulationParameter > & EntityStateUpdatePdu::getArticulationParameters (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< ArticulationParameter > & EntityStateUpdatePdu::getArticulationParameters (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int EntityStateUpdatePdu::getEntityAppearance (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & EntityStateUpdatePdu::getEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & EntityStateUpdatePdu::getEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Vector3Float & EntityStateUpdatePdu::getEntityLinearVelocity (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Float & EntityStateUpdatePdu::getEntityLinearVelocity (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Vector3Double & EntityStateUpdatePdu::getEntityLocation (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Double & EntityStateUpdatePdu::getEntityLocation (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Orientation & EntityStateUpdatePdu::getEntityOrientation (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Orientation & EntityStateUpdatePdu::getEntityOrientation (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int EntityStateUpdatePdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::EntityInformationFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
unsigned char EntityStateUpdatePdu::getNumberOfArticulationParameters (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
char EntityStateUpdatePdu::getPadding1 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityStateUpdatePdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::EntityInformationFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool EntityStateUpdatePdu::operator== (const EntityStateUpdatePdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityStateUpdatePdu::setArticulationParameters (const std::vector< ArticulationParameter > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityStateUpdatePdu::setEntityAppearance (int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityStateUpdatePdu::setEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityStateUpdatePdu::setEntityLinearVelocity (const Vector3Float pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityStateUpdatePdu::setEntityLocation (const Vector3Double pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityStateUpdatePdu::setEntityOrientation (const Orientation pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityStateUpdatePdu::setPadding1 (char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityStateUpdatePdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::EntityInformationFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+ +
+ +

+ +

+

+ +

+ +
+ +

+a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc. +

+

+ +

+ +
+ +

+This field shall identify the entity issuing the PDU +

+

+ +

+ +
+ +

+Describes the speed of the entity in the world +

+

+ +

+ +
+ +

+describes the location of the entity in the world +

+

+ +

+ +
+ +

+describes the orientation of the entity, in euler angles +

+

+ +

+
+ + + + +
unsigned char DIS::EntityStateUpdatePdu::_numberOfArticulationParameters [protected]
+
+
+ +

+How many articulation parameters are in the variable length list +

+

+ +

+
+ + + + +
char DIS::EntityStateUpdatePdu::_padding1 [protected]
+
+
+ +

+Padding +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_entity_state_update_pdu.png b/cpp/docs/html/class_d_i_s_1_1_entity_state_update_pdu.png new file mode 100644 index 00000000..36ef22c4 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_entity_state_update_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_entity_type-members.html b/cpp/docs/html/class_d_i_s_1_1_entity_type-members.html new file mode 100644 index 00000000..0cb954ff --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_entity_type-members.html @@ -0,0 +1,59 @@ + + +open-dis: Member List + + + + + +
+

DIS::EntityType Member List

This is the complete list of members for DIS::EntityType, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
_categoryDIS::EntityType [protected]
_countryDIS::EntityType [protected]
_domainDIS::EntityType [protected]
_entityKindDIS::EntityType [protected]
_extraDIS::EntityType [protected]
_specificDIS::EntityType [protected]
_subcategoryDIS::EntityType [protected]
EntityType()DIS::EntityType
getCategory() const DIS::EntityType
getCountry() const DIS::EntityType
getDomain() const DIS::EntityType
getEntityKind() const DIS::EntityType
getExtra() const DIS::EntityType
getMarshalledSize() const DIS::EntityType [virtual]
getSpecific() const DIS::EntityType
getSubcategory() const DIS::EntityType
marshal(DataStream &dataStream) const DIS::EntityType [virtual]
operator==(const EntityType &rhs) const DIS::EntityType
setCategory(unsigned char pX)DIS::EntityType
setCountry(unsigned short pX)DIS::EntityType
setDomain(unsigned char pX)DIS::EntityType
setEntityKind(unsigned char pX)DIS::EntityType
setExtra(unsigned char pX)DIS::EntityType
setSpecific(unsigned char pX)DIS::EntityType
setSubcategory(unsigned char pX)DIS::EntityType
unmarshal(DataStream &dataStream)DIS::EntityType [virtual]
~EntityType()DIS::EntityType [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_entity_type.html b/cpp/docs/html/class_d_i_s_1_1_entity_type.html new file mode 100644 index 00000000..c942e78c --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_entity_type.html @@ -0,0 +1,600 @@ + + +open-dis: DIS::EntityType Class Reference + + + + + +
+

DIS::EntityType Class Reference

#include <EntityType.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 EntityType ()
virtual ~EntityType ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned char getEntityKind () const
void setEntityKind (unsigned char pX)
unsigned char getDomain () const
void setDomain (unsigned char pX)
unsigned short getCountry () const
void setCountry (unsigned short pX)
unsigned char getCategory () const
void setCategory (unsigned char pX)
unsigned char getSubcategory () const
void setSubcategory (unsigned char pX)
unsigned char getSpecific () const
void setSpecific (unsigned char pX)
unsigned char getExtra () const
void setExtra (unsigned char pX)
virtual int getMarshalledSize () const
bool operator== (const EntityType &rhs) const

Protected Attributes

unsigned char _entityKind
unsigned char _domain
unsigned short _country
unsigned char _category
unsigned char _subcategory
unsigned char _specific
unsigned char _extra
+


Detailed Description

+Section 5.2.16. Identifies the type of entity, including kind of entity, domain (surface, subsurface, air, etc) country, category, etc.

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
EntityType::EntityType (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityType::~EntityType (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned char EntityType::getCategory (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short EntityType::getCountry (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char EntityType::getDomain (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char EntityType::getEntityKind (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char EntityType::getExtra (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int EntityType::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char EntityType::getSpecific (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char EntityType::getSubcategory (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityType::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool EntityType::operator== (const EntityType rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityType::setCategory (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityType::setCountry (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityType::setDomain (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityType::setEntityKind (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityType::setExtra (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityType::setSpecific (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityType::setSubcategory (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EntityType::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned char DIS::EntityType::_category [protected]
+
+
+ +

+category of entity +

+

+ +

+
+ + + + +
unsigned short DIS::EntityType::_country [protected]
+
+
+ +

+country to which the design of the entity is attributed +

+

+ +

+
+ + + + +
unsigned char DIS::EntityType::_domain [protected]
+
+
+ +

+Domain of entity (air, surface, subsurface, space, etc) +

+

+ +

+
+ + + + +
unsigned char DIS::EntityType::_entityKind [protected]
+
+
+ +

+Kind of entity +

+

+ +

+
+ + + + +
unsigned char DIS::EntityType::_extra [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + +
unsigned char DIS::EntityType::_specific [protected]
+
+
+ +

+specific info based on subcategory field +

+

+ +

+
+ + + + +
unsigned char DIS::EntityType::_subcategory [protected]
+
+
+ +

+subcategory of entity +

+

+


The documentation for this class was generated from the following files:
    +
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityType.h
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityType.cpp
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_environment-members.html b/cpp/docs/html/class_d_i_s_1_1_environment-members.html new file mode 100644 index 00000000..b465347e --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_environment-members.html @@ -0,0 +1,56 @@ + + +open-dis: Member List + + + + + +
+

DIS::Environment Member List

This is the complete list of members for DIS::Environment, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + +
_environmentTypeDIS::Environment [protected]
_geometryDIS::Environment [protected]
_indexDIS::Environment [protected]
_lengthDIS::Environment [protected]
_padding1DIS::Environment [protected]
_padding2DIS::Environment [protected]
Environment()DIS::Environment
getEnvironmentType() const DIS::Environment
getGeometry() const DIS::Environment
getIndex() const DIS::Environment
getLength() const DIS::Environment
getMarshalledSize() const DIS::Environment [virtual]
getPadding1() const DIS::Environment
getPadding2() const DIS::Environment
marshal(DataStream &dataStream) const DIS::Environment [virtual]
operator==(const Environment &rhs) const DIS::Environment
setEnvironmentType(unsigned int pX)DIS::Environment
setGeometry(unsigned char pX)DIS::Environment
setIndex(unsigned char pX)DIS::Environment
setLength(unsigned char pX)DIS::Environment
setPadding1(unsigned char pX)DIS::Environment
setPadding2(unsigned char pX)DIS::Environment
unmarshal(DataStream &dataStream)DIS::Environment [virtual]
~Environment()DIS::Environment [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_environment.html b/cpp/docs/html/class_d_i_s_1_1_environment.html new file mode 100644 index 00000000..a8bb426e --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_environment.html @@ -0,0 +1,540 @@ + + +open-dis: DIS::Environment Class Reference + + + + + +
+

DIS::Environment Class Reference

#include <Environment.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 Environment ()
virtual ~Environment ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned int getEnvironmentType () const
void setEnvironmentType (unsigned int pX)
unsigned char getLength () const
void setLength (unsigned char pX)
unsigned char getIndex () const
void setIndex (unsigned char pX)
unsigned char getPadding1 () const
void setPadding1 (unsigned char pX)
unsigned char getGeometry () const
void setGeometry (unsigned char pX)
unsigned char getPadding2 () const
void setPadding2 (unsigned char pX)
virtual int getMarshalledSize () const
bool operator== (const Environment &rhs) const

Protected Attributes

unsigned int _environmentType
unsigned char _length
unsigned char _index
unsigned char _padding1
unsigned char _geometry
unsigned char _padding2
+


Detailed Description

+Section 5.2.40. Information about a geometry, a state associated with a geometry, a bounding volume, or an associated entity ID. NOTE: this class requires hand coding.

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
Environment::Environment (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Environment::~Environment (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned int Environment::getEnvironmentType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char Environment::getGeometry (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char Environment::getIndex (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char Environment::getLength (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int Environment::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char Environment::getPadding1 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char Environment::getPadding2 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Environment::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool Environment::operator== (const Environment rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Environment::setEnvironmentType (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Environment::setGeometry (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Environment::setIndex (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Environment::setLength (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Environment::setPadding1 (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Environment::setPadding2 (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Environment::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned int DIS::Environment::_environmentType [protected]
+
+
+ +

+Record type +

+

+ +

+
+ + + + +
unsigned char DIS::Environment::_geometry [protected]
+
+
+ +

+Geometry or state record +

+

+ +

+
+ + + + +
unsigned char DIS::Environment::_index [protected]
+
+
+ +

+Identify the sequentially numbered record index +

+

+ +

+
+ + + + +
unsigned char DIS::Environment::_length [protected]
+
+
+ +

+length, in bits +

+

+ +

+
+ + + + +
unsigned char DIS::Environment::_padding1 [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
unsigned char DIS::Environment::_padding2 [protected]
+
+
+ +

+padding to bring the total size up to a 64 bit boundry +

+

+


The documentation for this class was generated from the following files:
    +
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Environment.h
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Environment.cpp
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_environmental_process_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_environmental_process_pdu-members.html new file mode 100644 index 00000000..7f5529d3 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_environmental_process_pdu-members.html @@ -0,0 +1,88 @@ + + +open-dis: Member List + + + + + +
+

DIS::EnvironmentalProcessPdu Member List

This is the complete list of members for DIS::EnvironmentalProcessPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_environementalProcessIDDIS::EnvironmentalProcessPdu [protected]
_environmentRecordsDIS::EnvironmentalProcessPdu [protected]
_environmentStatusDIS::EnvironmentalProcessPdu [protected]
_environmentTypeDIS::EnvironmentalProcessPdu [protected]
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_modelTypeDIS::EnvironmentalProcessPdu [protected]
_numberOfEnvironmentRecordsDIS::EnvironmentalProcessPdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_sequenceNumberDIS::EnvironmentalProcessPdu [protected]
_timestampDIS::Pdu [protected]
EnvironmentalProcessPdu()DIS::EnvironmentalProcessPdu
getEnvironementalProcessID()DIS::EnvironmentalProcessPdu
getEnvironementalProcessID() const DIS::EnvironmentalProcessPdu
getEnvironmentRecords()DIS::EnvironmentalProcessPdu
getEnvironmentRecords() const DIS::EnvironmentalProcessPdu
getEnvironmentStatus() const DIS::EnvironmentalProcessPdu
getEnvironmentType()DIS::EnvironmentalProcessPdu
getEnvironmentType() const DIS::EnvironmentalProcessPdu
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::EnvironmentalProcessPdu [virtual]
getModelType() const DIS::EnvironmentalProcessPdu
getNumberOfEnvironmentRecords() const DIS::EnvironmentalProcessPdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getSequenceNumber() const DIS::EnvironmentalProcessPdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::EnvironmentalProcessPdu [virtual]
operator==(const EnvironmentalProcessPdu &rhs) const DIS::EnvironmentalProcessPdu
DIS::SyntheticEnvironmentFamilyPdu::operator==(const SyntheticEnvironmentFamilyPdu &rhs) const DIS::SyntheticEnvironmentFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setEnvironementalProcessID(const EntityID &pX)DIS::EnvironmentalProcessPdu
setEnvironmentRecords(const std::vector< Environment > &pX)DIS::EnvironmentalProcessPdu
setEnvironmentStatus(unsigned char pX)DIS::EnvironmentalProcessPdu
setEnvironmentType(const EntityType &pX)DIS::EnvironmentalProcessPdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setModelType(unsigned char pX)DIS::EnvironmentalProcessPdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setSequenceNumber(unsigned short pX)DIS::EnvironmentalProcessPdu
setTimestamp(unsigned int pX)DIS::Pdu
SyntheticEnvironmentFamilyPdu()DIS::SyntheticEnvironmentFamilyPdu
unmarshal(DataStream &dataStream)DIS::EnvironmentalProcessPdu [virtual]
~EnvironmentalProcessPdu()DIS::EnvironmentalProcessPdu [virtual]
~Pdu()DIS::Pdu [virtual]
~SyntheticEnvironmentFamilyPdu()DIS::SyntheticEnvironmentFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_environmental_process_pdu.html b/cpp/docs/html/class_d_i_s_1_1_environmental_process_pdu.html new file mode 100644 index 00000000..5cc1e1fa --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_environmental_process_pdu.html @@ -0,0 +1,657 @@ + + +open-dis: DIS::EnvironmentalProcessPdu Class Reference + + + + + +
+

DIS::EnvironmentalProcessPdu Class Reference

#include <EnvironmentalProcessPdu.h> +

+

+Inheritance diagram for DIS::EnvironmentalProcessPdu:
+
+ +

+ +DIS::SyntheticEnvironmentFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 EnvironmentalProcessPdu ()
virtual ~EnvironmentalProcessPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetEnvironementalProcessID ()
const EntityIDgetEnvironementalProcessID () const
void setEnvironementalProcessID (const EntityID &pX)
EntityTypegetEnvironmentType ()
const EntityTypegetEnvironmentType () const
void setEnvironmentType (const EntityType &pX)
unsigned char getModelType () const
void setModelType (unsigned char pX)
unsigned char getEnvironmentStatus () const
void setEnvironmentStatus (unsigned char pX)
unsigned char getNumberOfEnvironmentRecords () const
unsigned short getSequenceNumber () const
void setSequenceNumber (unsigned short pX)
std::vector< Environment > & getEnvironmentRecords ()
const std::vector< Environment > & getEnvironmentRecords () const
void setEnvironmentRecords (const std::vector< Environment > &pX)
virtual int getMarshalledSize () const
bool operator== (const EnvironmentalProcessPdu &rhs) const

Protected Attributes

EntityID _environementalProcessID
EntityType _environmentType
unsigned char _modelType
unsigned char _environmentStatus
unsigned char _numberOfEnvironmentRecords
unsigned short _sequenceNumber
std::vector< Environment_environmentRecords
+


Detailed Description

+Section 5.3.11.1: Information about environmental effects and processes. This requires manual cleanup. the environmental record is variable, as is the padding. UNFINISHED

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
EnvironmentalProcessPdu::EnvironmentalProcessPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EnvironmentalProcessPdu::~EnvironmentalProcessPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const EntityID & EnvironmentalProcessPdu::getEnvironementalProcessID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & EnvironmentalProcessPdu::getEnvironementalProcessID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< Environment > & EnvironmentalProcessPdu::getEnvironmentRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< Environment > & EnvironmentalProcessPdu::getEnvironmentRecords (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char EnvironmentalProcessPdu::getEnvironmentStatus (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityType & EnvironmentalProcessPdu::getEnvironmentType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityType & EnvironmentalProcessPdu::getEnvironmentType (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int EnvironmentalProcessPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SyntheticEnvironmentFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
unsigned char EnvironmentalProcessPdu::getModelType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char EnvironmentalProcessPdu::getNumberOfEnvironmentRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short EnvironmentalProcessPdu::getSequenceNumber (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EnvironmentalProcessPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SyntheticEnvironmentFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool EnvironmentalProcessPdu::operator== (const EnvironmentalProcessPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EnvironmentalProcessPdu::setEnvironementalProcessID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EnvironmentalProcessPdu::setEnvironmentRecords (const std::vector< Environment > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EnvironmentalProcessPdu::setEnvironmentStatus (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EnvironmentalProcessPdu::setEnvironmentType (const EntityType pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EnvironmentalProcessPdu::setModelType (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EnvironmentalProcessPdu::setSequenceNumber (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EnvironmentalProcessPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SyntheticEnvironmentFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+ +
+ +

+Environmental process ID +

+

+ +

+ +
+ +

+environemt records +

+

+ +

+
+ + + + +
unsigned char DIS::EnvironmentalProcessPdu::_environmentStatus [protected]
+
+
+ +

+Environment status +

+

+ +

+ +
+ +

+Environment type +

+

+ +

+
+ + + + +
unsigned char DIS::EnvironmentalProcessPdu::_modelType [protected]
+
+
+ +

+model type +

+

+ +

+
+ + + + +
unsigned char DIS::EnvironmentalProcessPdu::_numberOfEnvironmentRecords [protected]
+
+
+ +

+number of environment records +

+

+ +

+
+ + + + +
unsigned short DIS::EnvironmentalProcessPdu::_sequenceNumber [protected]
+
+
+ +

+PDU sequence number for the environmentla process if pdu sequencing required +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_environmental_process_pdu.png b/cpp/docs/html/class_d_i_s_1_1_environmental_process_pdu.png new file mode 100644 index 00000000..3068eae0 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_environmental_process_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_event_i_d-members.html b/cpp/docs/html/class_d_i_s_1_1_event_i_d-members.html new file mode 100644 index 00000000..11a2f13a --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_event_i_d-members.html @@ -0,0 +1,47 @@ + + +open-dis: Member List + + + + + +
+

DIS::EventID Member List

This is the complete list of members for DIS::EventID, including all inherited members.

+ + + + + + + + + + + + + + + +
_applicationDIS::EventID [protected]
_eventNumberDIS::EventID [protected]
_siteDIS::EventID [protected]
EventID()DIS::EventID
getApplication() const DIS::EventID
getEventNumber() const DIS::EventID
getMarshalledSize() const DIS::EventID [virtual]
getSite() const DIS::EventID
marshal(DataStream &dataStream) const DIS::EventID [virtual]
operator==(const EventID &rhs) const DIS::EventID
setApplication(unsigned short pX)DIS::EventID
setEventNumber(unsigned short pX)DIS::EventID
setSite(unsigned short pX)DIS::EventID
unmarshal(DataStream &dataStream)DIS::EventID [virtual]
~EventID()DIS::EventID [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_event_i_d.html b/cpp/docs/html/class_d_i_s_1_1_event_i_d.html new file mode 100644 index 00000000..e3d973cd --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_event_i_d.html @@ -0,0 +1,360 @@ + + +open-dis: DIS::EventID Class Reference + + + + + +
+

DIS::EventID Class Reference

#include <EventID.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 EventID ()
virtual ~EventID ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned short getSite () const
void setSite (unsigned short pX)
unsigned short getApplication () const
void setApplication (unsigned short pX)
unsigned short getEventNumber () const
void setEventNumber (unsigned short pX)
virtual int getMarshalledSize () const
bool operator== (const EventID &rhs) const

Protected Attributes

unsigned short _site
unsigned short _application
unsigned short _eventNumber
+


Detailed Description

+Section 5.2.18. Identifies a unique event in a simulation via the combination of three values

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
EventID::EventID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EventID::~EventID (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned short EventID::getApplication (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short EventID::getEventNumber (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int EventID::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short EventID::getSite (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EventID::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool EventID::operator== (const EventID rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EventID::setApplication (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EventID::setEventNumber (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EventID::setSite (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EventID::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned short DIS::EventID::_application [protected]
+
+
+ +

+The application ID +

+

+ +

+
+ + + + +
unsigned short DIS::EventID::_eventNumber [protected]
+
+
+ +

+the number of the event +

+

+ +

+
+ + + + +
unsigned short DIS::EventID::_site [protected]
+
+
+ +

+The site ID +

+

+


The documentation for this class was generated from the following files:
    +
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EventID.h
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EventID.cpp
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_event_report_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_event_report_pdu-members.html new file mode 100644 index 00000000..8faa290c --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_event_report_pdu-members.html @@ -0,0 +1,91 @@ + + +open-dis: Member List + + + + + +
+

DIS::EventReportPdu Member List

This is the complete list of members for DIS::EventReportPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_eventTypeDIS::EventReportPdu [protected]
_exerciseIDDIS::Pdu [protected]
_fixedDatumsDIS::EventReportPdu [protected]
_lengthDIS::Pdu [protected]
_numberOfFixedDatumRecordsDIS::EventReportPdu [protected]
_numberOfVariableDatumRecordsDIS::EventReportPdu [protected]
_originatingEntityIDDIS::SimulationManagementFamilyPdu [protected]
_paddingDIS::Pdu [protected]
_padding1DIS::EventReportPdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingEntityIDDIS::SimulationManagementFamilyPdu [protected]
_timestampDIS::Pdu [protected]
_variableDatumsDIS::EventReportPdu [protected]
EventReportPdu()DIS::EventReportPdu
getEventType() const DIS::EventReportPdu
getExerciseID() const DIS::Pdu
getFixedDatums()DIS::EventReportPdu
getFixedDatums() const DIS::EventReportPdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::EventReportPdu [virtual]
getNumberOfFixedDatumRecords() const DIS::EventReportPdu
getNumberOfVariableDatumRecords() const DIS::EventReportPdu
getOriginatingEntityID()DIS::SimulationManagementFamilyPdu
getOriginatingEntityID() const DIS::SimulationManagementFamilyPdu
getPadding() const DIS::Pdu
getPadding1() const DIS::EventReportPdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingEntityID()DIS::SimulationManagementFamilyPdu
getReceivingEntityID() const DIS::SimulationManagementFamilyPdu
getTimestamp() const DIS::Pdu
getVariableDatums()DIS::EventReportPdu
getVariableDatums() const DIS::EventReportPdu
marshal(DataStream &dataStream) const DIS::EventReportPdu [virtual]
operator==(const EventReportPdu &rhs) const DIS::EventReportPdu
DIS::SimulationManagementFamilyPdu::operator==(const SimulationManagementFamilyPdu &rhs) const DIS::SimulationManagementFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setEventType(unsigned int pX)DIS::EventReportPdu
setExerciseID(unsigned char pX)DIS::Pdu
setFixedDatums(const std::vector< FixedDatum > &pX)DIS::EventReportPdu
setLength(unsigned short pX)DIS::Pdu
setOriginatingEntityID(const EntityID &pX)DIS::SimulationManagementFamilyPdu
setPadding(short pX)DIS::Pdu
setPadding1(unsigned int pX)DIS::EventReportPdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingEntityID(const EntityID &pX)DIS::SimulationManagementFamilyPdu
setTimestamp(unsigned int pX)DIS::Pdu
setVariableDatums(const std::vector< VariableDatum > &pX)DIS::EventReportPdu
SimulationManagementFamilyPdu()DIS::SimulationManagementFamilyPdu
unmarshal(DataStream &dataStream)DIS::EventReportPdu [virtual]
~EventReportPdu()DIS::EventReportPdu [virtual]
~Pdu()DIS::Pdu [virtual]
~SimulationManagementFamilyPdu()DIS::SimulationManagementFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_event_report_pdu.html b/cpp/docs/html/class_d_i_s_1_1_event_report_pdu.html new file mode 100644 index 00000000..d07284de --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_event_report_pdu.html @@ -0,0 +1,555 @@ + + +open-dis: DIS::EventReportPdu Class Reference + + + + + +
+

DIS::EventReportPdu Class Reference

#include <EventReportPdu.h> +

+

+Inheritance diagram for DIS::EventReportPdu:
+
+ +

+ +DIS::SimulationManagementFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 EventReportPdu ()
virtual ~EventReportPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned int getEventType () const
void setEventType (unsigned int pX)
unsigned int getPadding1 () const
void setPadding1 (unsigned int pX)
unsigned int getNumberOfFixedDatumRecords () const
unsigned int getNumberOfVariableDatumRecords () const
std::vector< FixedDatum > & getFixedDatums ()
const std::vector< FixedDatum > & getFixedDatums () const
void setFixedDatums (const std::vector< FixedDatum > &pX)
std::vector< VariableDatum > & getVariableDatums ()
const std::vector
+< VariableDatum > & 
getVariableDatums () const
void setVariableDatums (const std::vector< VariableDatum > &pX)
virtual int getMarshalledSize () const
bool operator== (const EventReportPdu &rhs) const

Protected Attributes

unsigned int _eventType
unsigned int _padding1
unsigned int _numberOfFixedDatumRecords
unsigned int _numberOfVariableDatumRecords
std::vector< FixedDatum_fixedDatums
std::vector< VariableDatum_variableDatums
+


Detailed Description

+Section 5.3.6.11. Reports occurance of a significant event to the simulation manager. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
EventReportPdu::EventReportPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EventReportPdu::~EventReportPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned int EventReportPdu::getEventType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< FixedDatum > & EventReportPdu::getFixedDatums (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< FixedDatum > & EventReportPdu::getFixedDatums (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int EventReportPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
unsigned int EventReportPdu::getNumberOfFixedDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int EventReportPdu::getNumberOfVariableDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int EventReportPdu::getPadding1 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< VariableDatum > & EventReportPdu::getVariableDatums (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< VariableDatum > & EventReportPdu::getVariableDatums (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EventReportPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool EventReportPdu::operator== (const EventReportPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EventReportPdu::setEventType (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EventReportPdu::setFixedDatums (const std::vector< FixedDatum > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EventReportPdu::setPadding1 (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EventReportPdu::setVariableDatums (const std::vector< VariableDatum > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EventReportPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned int DIS::EventReportPdu::_eventType [protected]
+
+
+ +

+Type of event +

+

+ +

+
+ + + + +
std::vector<FixedDatum> DIS::EventReportPdu::_fixedDatums [protected]
+
+
+ +

+variable length list of fixed datums +

+

+ +

+
+ + + + +
unsigned int DIS::EventReportPdu::_numberOfFixedDatumRecords [protected]
+
+
+ +

+Number of fixed datum records +

+

+ +

+
+ + + + +
unsigned int DIS::EventReportPdu::_numberOfVariableDatumRecords [protected]
+
+
+ +

+Number of variable datum records +

+

+ +

+
+ + + + +
unsigned int DIS::EventReportPdu::_padding1 [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
std::vector<VariableDatum> DIS::EventReportPdu::_variableDatums [protected]
+
+
+ +

+variable length list of variable length datums +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_event_report_pdu.png b/cpp/docs/html/class_d_i_s_1_1_event_report_pdu.png new file mode 100644 index 00000000..7833220a Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_event_report_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_event_report_reliable_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_event_report_reliable_pdu-members.html new file mode 100644 index 00000000..05f757ce --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_event_report_reliable_pdu-members.html @@ -0,0 +1,91 @@ + + +open-dis: Member List + + + + + +
+

DIS::EventReportReliablePdu Member List

This is the complete list of members for DIS::EventReportReliablePdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_eventTypeDIS::EventReportReliablePdu [protected]
_exerciseIDDIS::Pdu [protected]
_fixedDatumRecordsDIS::EventReportReliablePdu [protected]
_lengthDIS::Pdu [protected]
_numberOfFixedDatumRecordsDIS::EventReportReliablePdu [protected]
_numberOfVariableDatumRecordsDIS::EventReportReliablePdu [protected]
_originatingEntityIDDIS::SimulationManagementWithReliabilityFamilyPdu [protected]
_pad1DIS::EventReportReliablePdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingEntityIDDIS::SimulationManagementWithReliabilityFamilyPdu [protected]
_timestampDIS::Pdu [protected]
_variableDatumRecordsDIS::EventReportReliablePdu [protected]
EventReportReliablePdu()DIS::EventReportReliablePdu
getEventType() const DIS::EventReportReliablePdu
getExerciseID() const DIS::Pdu
getFixedDatumRecords()DIS::EventReportReliablePdu
getFixedDatumRecords() const DIS::EventReportReliablePdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::EventReportReliablePdu [virtual]
getNumberOfFixedDatumRecords() const DIS::EventReportReliablePdu
getNumberOfVariableDatumRecords() const DIS::EventReportReliablePdu
getOriginatingEntityID()DIS::SimulationManagementWithReliabilityFamilyPdu
getOriginatingEntityID() const DIS::SimulationManagementWithReliabilityFamilyPdu
getPad1() const DIS::EventReportReliablePdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingEntityID()DIS::SimulationManagementWithReliabilityFamilyPdu
getReceivingEntityID() const DIS::SimulationManagementWithReliabilityFamilyPdu
getTimestamp() const DIS::Pdu
getVariableDatumRecords()DIS::EventReportReliablePdu
getVariableDatumRecords() const DIS::EventReportReliablePdu
marshal(DataStream &dataStream) const DIS::EventReportReliablePdu [virtual]
operator==(const EventReportReliablePdu &rhs) const DIS::EventReportReliablePdu
DIS::SimulationManagementWithReliabilityFamilyPdu::operator==(const SimulationManagementWithReliabilityFamilyPdu &rhs) const DIS::SimulationManagementWithReliabilityFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setEventType(unsigned short pX)DIS::EventReportReliablePdu
setExerciseID(unsigned char pX)DIS::Pdu
setFixedDatumRecords(const std::vector< FixedDatum > &pX)DIS::EventReportReliablePdu
setLength(unsigned short pX)DIS::Pdu
setOriginatingEntityID(const EntityID &pX)DIS::SimulationManagementWithReliabilityFamilyPdu
setPad1(unsigned int pX)DIS::EventReportReliablePdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingEntityID(const EntityID &pX)DIS::SimulationManagementWithReliabilityFamilyPdu
setTimestamp(unsigned int pX)DIS::Pdu
setVariableDatumRecords(const std::vector< VariableDatum > &pX)DIS::EventReportReliablePdu
SimulationManagementWithReliabilityFamilyPdu()DIS::SimulationManagementWithReliabilityFamilyPdu
unmarshal(DataStream &dataStream)DIS::EventReportReliablePdu [virtual]
~EventReportReliablePdu()DIS::EventReportReliablePdu [virtual]
~Pdu()DIS::Pdu [virtual]
~SimulationManagementWithReliabilityFamilyPdu()DIS::SimulationManagementWithReliabilityFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_event_report_reliable_pdu.html b/cpp/docs/html/class_d_i_s_1_1_event_report_reliable_pdu.html new file mode 100644 index 00000000..c20f327c --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_event_report_reliable_pdu.html @@ -0,0 +1,555 @@ + + +open-dis: DIS::EventReportReliablePdu Class Reference + + + + + +
+

DIS::EventReportReliablePdu Class Reference

#include <EventReportReliablePdu.h> +

+

+Inheritance diagram for DIS::EventReportReliablePdu:
+
+ +

+ +DIS::SimulationManagementWithReliabilityFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 EventReportReliablePdu ()
virtual ~EventReportReliablePdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned short getEventType () const
void setEventType (unsigned short pX)
unsigned int getPad1 () const
void setPad1 (unsigned int pX)
unsigned int getNumberOfFixedDatumRecords () const
unsigned int getNumberOfVariableDatumRecords () const
std::vector< FixedDatum > & getFixedDatumRecords ()
const std::vector< FixedDatum > & getFixedDatumRecords () const
void setFixedDatumRecords (const std::vector< FixedDatum > &pX)
std::vector< VariableDatum > & getVariableDatumRecords ()
const std::vector
+< VariableDatum > & 
getVariableDatumRecords () const
void setVariableDatumRecords (const std::vector< VariableDatum > &pX)
virtual int getMarshalledSize () const
bool operator== (const EventReportReliablePdu &rhs) const

Protected Attributes

unsigned short _eventType
unsigned int _pad1
unsigned int _numberOfFixedDatumRecords
unsigned int _numberOfVariableDatumRecords
std::vector< FixedDatum_fixedDatumRecords
std::vector< VariableDatum_variableDatumRecords
+


Detailed Description

+Section 5.3.12.11: reports the occurance of a significatnt event to the simulation manager. Needs manual intervention to fix padding in variable datums. UNFINISHED.

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
EventReportReliablePdu::EventReportReliablePdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EventReportReliablePdu::~EventReportReliablePdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned short EventReportReliablePdu::getEventType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< FixedDatum > & EventReportReliablePdu::getFixedDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< FixedDatum > & EventReportReliablePdu::getFixedDatumRecords (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int EventReportReliablePdu::getMarshalledSize (  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + +
unsigned int EventReportReliablePdu::getNumberOfFixedDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int EventReportReliablePdu::getNumberOfVariableDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int EventReportReliablePdu::getPad1 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< VariableDatum > & EventReportReliablePdu::getVariableDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< VariableDatum > & EventReportReliablePdu::getVariableDatumRecords (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EventReportReliablePdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + + +
bool EventReportReliablePdu::operator== (const EventReportReliablePdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EventReportReliablePdu::setEventType (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EventReportReliablePdu::setFixedDatumRecords (const std::vector< FixedDatum > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EventReportReliablePdu::setPad1 (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EventReportReliablePdu::setVariableDatumRecords (const std::vector< VariableDatum > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void EventReportReliablePdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+ +

+


Member Data Documentation

+ +
+
+ + + + +
unsigned short DIS::EventReportReliablePdu::_eventType [protected]
+
+
+ +

+Event type +

+

+ +

+
+ + + + +
std::vector<FixedDatum> DIS::EventReportReliablePdu::_fixedDatumRecords [protected]
+
+
+ +

+Fixed datum records +

+

+ +

+
+ + + + +
unsigned int DIS::EventReportReliablePdu::_numberOfFixedDatumRecords [protected]
+
+
+ +

+Fixed datum record count +

+

+ +

+ +
+ +

+variable datum record count +

+

+ +

+
+ + + + +
unsigned int DIS::EventReportReliablePdu::_pad1 [protected]
+
+
+ +

+padding +

+

+ +

+ +
+ +

+Variable datum records +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_event_report_reliable_pdu.png b/cpp/docs/html/class_d_i_s_1_1_event_report_reliable_pdu.png new file mode 100644 index 00000000..7325b8e0 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_event_report_reliable_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_fast_entity_state_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_fast_entity_state_pdu-members.html new file mode 100644 index 00000000..24593fe7 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_fast_entity_state_pdu-members.html @@ -0,0 +1,188 @@ + + +open-dis: Member List + + + + + +
+

DIS::FastEntityStatePdu Member List

This is the complete list of members for DIS::FastEntityStatePdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_altCategoryDIS::FastEntityStatePdu [protected]
_altCountryDIS::FastEntityStatePdu [protected]
_altDomainDIS::FastEntityStatePdu [protected]
_altEntityKindDIS::FastEntityStatePdu [protected]
_altExtraDIS::FastEntityStatePdu [protected]
_altSpecificDIS::FastEntityStatePdu [protected]
_altSubcategoryDIS::FastEntityStatePdu [protected]
_applicationDIS::FastEntityStatePdu [protected]
_articulationParametersDIS::FastEntityStatePdu [protected]
_capabilitiesDIS::FastEntityStatePdu [protected]
_categoryDIS::FastEntityStatePdu [protected]
_countryDIS::FastEntityStatePdu [protected]
_deadReckoningAlgorithmDIS::FastEntityStatePdu [protected]
_domainDIS::FastEntityStatePdu [protected]
_entityDIS::FastEntityStatePdu [protected]
_entityAppearanceDIS::FastEntityStatePdu [protected]
_entityKindDIS::FastEntityStatePdu [protected]
_exerciseIDDIS::Pdu [protected]
_extraDIS::FastEntityStatePdu [protected]
_forceIdDIS::FastEntityStatePdu [protected]
_lengthDIS::Pdu [protected]
_markingDIS::FastEntityStatePdu [protected]
_numberOfArticulationParametersDIS::FastEntityStatePdu [protected]
_otherParametersDIS::FastEntityStatePdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_phiDIS::FastEntityStatePdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_psiDIS::FastEntityStatePdu [protected]
_siteDIS::FastEntityStatePdu [protected]
_specificDIS::FastEntityStatePdu [protected]
_subcategoryDIS::FastEntityStatePdu [protected]
_thetaDIS::FastEntityStatePdu [protected]
_timestampDIS::Pdu [protected]
_xAccelerationDIS::FastEntityStatePdu [protected]
_xAngularVelocityDIS::FastEntityStatePdu [protected]
_xLocationDIS::FastEntityStatePdu [protected]
_xVelocityDIS::FastEntityStatePdu [protected]
_yAccelerationDIS::FastEntityStatePdu [protected]
_yAngularVelocityDIS::FastEntityStatePdu [protected]
_yLocationDIS::FastEntityStatePdu [protected]
_yVelocityDIS::FastEntityStatePdu [protected]
_zAccelerationDIS::FastEntityStatePdu [protected]
_zAngularVelocityDIS::FastEntityStatePdu [protected]
_zLocationDIS::FastEntityStatePdu [protected]
_zVelocityDIS::FastEntityStatePdu [protected]
EntityInformationFamilyPdu()DIS::EntityInformationFamilyPdu
FastEntityStatePdu()DIS::FastEntityStatePdu
getAltCategory() const DIS::FastEntityStatePdu
getAltCountry() const DIS::FastEntityStatePdu
getAltDomain() const DIS::FastEntityStatePdu
getAltEntityKind() const DIS::FastEntityStatePdu
getAltExtra() const DIS::FastEntityStatePdu
getAltSpecific() const DIS::FastEntityStatePdu
getAltSubcategory() const DIS::FastEntityStatePdu
getApplication() const DIS::FastEntityStatePdu
getArticulationParameters()DIS::FastEntityStatePdu
getArticulationParameters() const DIS::FastEntityStatePdu
getCapabilities() const DIS::FastEntityStatePdu
getCategory() const DIS::FastEntityStatePdu
getCountry() const DIS::FastEntityStatePdu
getDeadReckoningAlgorithm() const DIS::FastEntityStatePdu
getDomain() const DIS::FastEntityStatePdu
getEntity() const DIS::FastEntityStatePdu
getEntityAppearance() const DIS::FastEntityStatePdu
getEntityKind() const DIS::FastEntityStatePdu
getExerciseID() const DIS::Pdu
getExtra() const DIS::FastEntityStatePdu
getForceId() const DIS::FastEntityStatePdu
getLength() const DIS::Pdu
getMarking()DIS::FastEntityStatePdu
getMarking() const DIS::FastEntityStatePdu
getMarshalledSize() const DIS::FastEntityStatePdu [virtual]
getNumberOfArticulationParameters() const DIS::FastEntityStatePdu
getOtherParameters()DIS::FastEntityStatePdu
getOtherParameters() const DIS::FastEntityStatePdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getPhi() const DIS::FastEntityStatePdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getPsi() const DIS::FastEntityStatePdu
getSite() const DIS::FastEntityStatePdu
getSpecific() const DIS::FastEntityStatePdu
getSubcategory() const DIS::FastEntityStatePdu
getTheta() const DIS::FastEntityStatePdu
getTimestamp() const DIS::Pdu
getXAcceleration() const DIS::FastEntityStatePdu
getXAngularVelocity() const DIS::FastEntityStatePdu
getXLocation() const DIS::FastEntityStatePdu
getXVelocity() const DIS::FastEntityStatePdu
getYAcceleration() const DIS::FastEntityStatePdu
getYAngularVelocity() const DIS::FastEntityStatePdu
getYLocation() const DIS::FastEntityStatePdu
getYVelocity() const DIS::FastEntityStatePdu
getZAcceleration() const DIS::FastEntityStatePdu
getZAngularVelocity() const DIS::FastEntityStatePdu
getZLocation() const DIS::FastEntityStatePdu
getZVelocity() const DIS::FastEntityStatePdu
marshal(DataStream &dataStream) const DIS::FastEntityStatePdu [virtual]
operator==(const FastEntityStatePdu &rhs) const DIS::FastEntityStatePdu
DIS::EntityInformationFamilyPdu::operator==(const EntityInformationFamilyPdu &rhs) const DIS::EntityInformationFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setAltCategory(unsigned char pX)DIS::FastEntityStatePdu
setAltCountry(unsigned short pX)DIS::FastEntityStatePdu
setAltDomain(unsigned char pX)DIS::FastEntityStatePdu
setAltEntityKind(unsigned char pX)DIS::FastEntityStatePdu
setAltExtra(unsigned char pX)DIS::FastEntityStatePdu
setAltSpecific(unsigned char pX)DIS::FastEntityStatePdu
setAltSubcategory(unsigned char pX)DIS::FastEntityStatePdu
setApplication(unsigned short pX)DIS::FastEntityStatePdu
setArticulationParameters(const std::vector< ArticulationParameter > &pX)DIS::FastEntityStatePdu
setByStringMarking(const char *pX)DIS::FastEntityStatePdu
setCapabilities(int pX)DIS::FastEntityStatePdu
setCategory(unsigned char pX)DIS::FastEntityStatePdu
setCountry(unsigned short pX)DIS::FastEntityStatePdu
setDeadReckoningAlgorithm(unsigned char pX)DIS::FastEntityStatePdu
setDomain(unsigned char pX)DIS::FastEntityStatePdu
setEntity(unsigned short pX)DIS::FastEntityStatePdu
setEntityAppearance(int pX)DIS::FastEntityStatePdu
setEntityKind(unsigned char pX)DIS::FastEntityStatePdu
setExerciseID(unsigned char pX)DIS::Pdu
setExtra(unsigned char pX)DIS::FastEntityStatePdu
setForceId(unsigned char pX)DIS::FastEntityStatePdu
setLength(unsigned short pX)DIS::Pdu
setMarking(const char *pX)DIS::FastEntityStatePdu
setOtherParameters(const char *pX)DIS::FastEntityStatePdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setPhi(float pX)DIS::FastEntityStatePdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setPsi(float pX)DIS::FastEntityStatePdu
setSite(unsigned short pX)DIS::FastEntityStatePdu
setSpecific(unsigned char pX)DIS::FastEntityStatePdu
setSubcategory(unsigned char pX)DIS::FastEntityStatePdu
setTheta(float pX)DIS::FastEntityStatePdu
setTimestamp(unsigned int pX)DIS::Pdu
setXAcceleration(float pX)DIS::FastEntityStatePdu
setXAngularVelocity(float pX)DIS::FastEntityStatePdu
setXLocation(double pX)DIS::FastEntityStatePdu
setXVelocity(float pX)DIS::FastEntityStatePdu
setYAcceleration(float pX)DIS::FastEntityStatePdu
setYAngularVelocity(float pX)DIS::FastEntityStatePdu
setYLocation(double pX)DIS::FastEntityStatePdu
setYVelocity(float pX)DIS::FastEntityStatePdu
setZAcceleration(float pX)DIS::FastEntityStatePdu
setZAngularVelocity(float pX)DIS::FastEntityStatePdu
setZLocation(double pX)DIS::FastEntityStatePdu
setZVelocity(float pX)DIS::FastEntityStatePdu
unmarshal(DataStream &dataStream)DIS::FastEntityStatePdu [virtual]
~EntityInformationFamilyPdu()DIS::EntityInformationFamilyPdu [virtual]
~FastEntityStatePdu()DIS::FastEntityStatePdu [virtual]
~Pdu()DIS::Pdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_fast_entity_state_pdu.html b/cpp/docs/html/class_d_i_s_1_1_fast_entity_state_pdu.html new file mode 100644 index 00000000..083f7b3e --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_fast_entity_state_pdu.html @@ -0,0 +1,2662 @@ + + +open-dis: DIS::FastEntityStatePdu Class Reference + + + + + +
+

DIS::FastEntityStatePdu Class Reference

#include <FastEntityStatePdu.h> +

+

+Inheritance diagram for DIS::FastEntityStatePdu:
+
+ +

+ +DIS::EntityInformationFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 FastEntityStatePdu ()
virtual ~FastEntityStatePdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned short getSite () const
void setSite (unsigned short pX)
unsigned short getApplication () const
void setApplication (unsigned short pX)
unsigned short getEntity () const
void setEntity (unsigned short pX)
unsigned char getForceId () const
void setForceId (unsigned char pX)
char getNumberOfArticulationParameters () const
unsigned char getEntityKind () const
void setEntityKind (unsigned char pX)
unsigned char getDomain () const
void setDomain (unsigned char pX)
unsigned short getCountry () const
void setCountry (unsigned short pX)
unsigned char getCategory () const
void setCategory (unsigned char pX)
unsigned char getSubcategory () const
void setSubcategory (unsigned char pX)
unsigned char getSpecific () const
void setSpecific (unsigned char pX)
unsigned char getExtra () const
void setExtra (unsigned char pX)
unsigned char getAltEntityKind () const
void setAltEntityKind (unsigned char pX)
unsigned char getAltDomain () const
void setAltDomain (unsigned char pX)
unsigned short getAltCountry () const
void setAltCountry (unsigned short pX)
unsigned char getAltCategory () const
void setAltCategory (unsigned char pX)
unsigned char getAltSubcategory () const
void setAltSubcategory (unsigned char pX)
unsigned char getAltSpecific () const
void setAltSpecific (unsigned char pX)
unsigned char getAltExtra () const
void setAltExtra (unsigned char pX)
float getXVelocity () const
void setXVelocity (float pX)
float getYVelocity () const
void setYVelocity (float pX)
float getZVelocity () const
void setZVelocity (float pX)
double getXLocation () const
void setXLocation (double pX)
double getYLocation () const
void setYLocation (double pX)
double getZLocation () const
void setZLocation (double pX)
float getPsi () const
void setPsi (float pX)
float getTheta () const
void setTheta (float pX)
float getPhi () const
void setPhi (float pX)
int getEntityAppearance () const
void setEntityAppearance (int pX)
unsigned char getDeadReckoningAlgorithm () const
void setDeadReckoningAlgorithm (unsigned char pX)
char * getOtherParameters ()
const char * getOtherParameters () const
void setOtherParameters (const char *pX)
float getXAcceleration () const
void setXAcceleration (float pX)
float getYAcceleration () const
void setYAcceleration (float pX)
float getZAcceleration () const
void setZAcceleration (float pX)
float getXAngularVelocity () const
void setXAngularVelocity (float pX)
float getYAngularVelocity () const
void setYAngularVelocity (float pX)
float getZAngularVelocity () const
void setZAngularVelocity (float pX)
char * getMarking ()
const char * getMarking () const
void setMarking (const char *pX)
void setByStringMarking (const char *pX)
int getCapabilities () const
void setCapabilities (int pX)
std::vector
+< ArticulationParameter > & 
getArticulationParameters ()
const std::vector
+< ArticulationParameter > & 
getArticulationParameters () const
void setArticulationParameters (const std::vector< ArticulationParameter > &pX)
virtual int getMarshalledSize () const
bool operator== (const FastEntityStatePdu &rhs) const

Protected Attributes

unsigned short _site
unsigned short _application
unsigned short _entity
unsigned char _forceId
char _numberOfArticulationParameters
unsigned char _entityKind
unsigned char _domain
unsigned short _country
unsigned char _category
unsigned char _subcategory
unsigned char _specific
unsigned char _extra
unsigned char _altEntityKind
unsigned char _altDomain
unsigned short _altCountry
unsigned char _altCategory
unsigned char _altSubcategory
unsigned char _altSpecific
unsigned char _altExtra
float _xVelocity
float _yVelocity
float _zVelocity
double _xLocation
double _yLocation
double _zLocation
float _psi
float _theta
float _phi
int _entityAppearance
unsigned char _deadReckoningAlgorithm
char _otherParameters [15]
float _xAcceleration
float _yAcceleration
float _zAcceleration
float _xAngularVelocity
float _yAngularVelocity
float _zAngularVelocity
char _marking [12]
int _capabilities
std::vector
+< ArticulationParameter
_articulationParameters
+


Detailed Description

+Section 5.3.3.1. Represents the postion and state of one entity in the world. This is identical in function to entity state pdu, but generates less garbage to collect in the Java world. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
FastEntityStatePdu::FastEntityStatePdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
FastEntityStatePdu::~FastEntityStatePdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned char FastEntityStatePdu::getAltCategory (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short FastEntityStatePdu::getAltCountry (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char FastEntityStatePdu::getAltDomain (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char FastEntityStatePdu::getAltEntityKind (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char FastEntityStatePdu::getAltExtra (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char FastEntityStatePdu::getAltSpecific (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char FastEntityStatePdu::getAltSubcategory (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short FastEntityStatePdu::getApplication (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< ArticulationParameter > & FastEntityStatePdu::getArticulationParameters (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< ArticulationParameter > & FastEntityStatePdu::getArticulationParameters (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int FastEntityStatePdu::getCapabilities (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char FastEntityStatePdu::getCategory (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short FastEntityStatePdu::getCountry (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char FastEntityStatePdu::getDeadReckoningAlgorithm (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char FastEntityStatePdu::getDomain (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short FastEntityStatePdu::getEntity (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int FastEntityStatePdu::getEntityAppearance (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char FastEntityStatePdu::getEntityKind (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char FastEntityStatePdu::getExtra (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char FastEntityStatePdu::getForceId (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const char * FastEntityStatePdu::getMarking (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
char * FastEntityStatePdu::getMarking (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int FastEntityStatePdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::EntityInformationFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
char FastEntityStatePdu::getNumberOfArticulationParameters (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const char * FastEntityStatePdu::getOtherParameters (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
char * FastEntityStatePdu::getOtherParameters (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float FastEntityStatePdu::getPhi (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float FastEntityStatePdu::getPsi (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short FastEntityStatePdu::getSite (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char FastEntityStatePdu::getSpecific (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char FastEntityStatePdu::getSubcategory (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float FastEntityStatePdu::getTheta (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float FastEntityStatePdu::getXAcceleration (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float FastEntityStatePdu::getXAngularVelocity (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
double FastEntityStatePdu::getXLocation (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float FastEntityStatePdu::getXVelocity (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float FastEntityStatePdu::getYAcceleration (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float FastEntityStatePdu::getYAngularVelocity (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
double FastEntityStatePdu::getYLocation (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float FastEntityStatePdu::getYVelocity (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float FastEntityStatePdu::getZAcceleration (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float FastEntityStatePdu::getZAngularVelocity (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
double FastEntityStatePdu::getZLocation (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float FastEntityStatePdu::getZVelocity (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::EntityInformationFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool FastEntityStatePdu::operator== (const FastEntityStatePdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setAltCategory (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setAltCountry (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setAltDomain (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setAltEntityKind (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setAltExtra (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setAltSpecific (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setAltSubcategory (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setApplication (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setArticulationParameters (const std::vector< ArticulationParameter > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setByStringMarking (const char *  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setCapabilities (int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setCategory (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setCountry (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setDeadReckoningAlgorithm (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setDomain (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setEntity (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setEntityAppearance (int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setEntityKind (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setExtra (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setForceId (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setMarking (const char *  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setOtherParameters (const char *  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setPhi (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setPsi (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setSite (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setSpecific (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setSubcategory (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setTheta (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setXAcceleration (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setXAngularVelocity (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setXLocation (double  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setXVelocity (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setYAcceleration (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setYAngularVelocity (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setYLocation (double  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setYVelocity (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setZAcceleration (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setZAngularVelocity (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setZLocation (double  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::setZVelocity (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FastEntityStatePdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::EntityInformationFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned char DIS::FastEntityStatePdu::_altCategory [protected]
+
+
+ +

+category of entity +

+

+ +

+
+ + + + +
unsigned short DIS::FastEntityStatePdu::_altCountry [protected]
+
+
+ +

+country to which the design of the entity is attributed +

+

+ +

+
+ + + + +
unsigned char DIS::FastEntityStatePdu::_altDomain [protected]
+
+
+ +

+Domain of entity (air, surface, subsurface, space, etc) +

+

+ +

+
+ + + + +
unsigned char DIS::FastEntityStatePdu::_altEntityKind [protected]
+
+
+ +

+Kind of entity +

+

+ +

+
+ + + + +
unsigned char DIS::FastEntityStatePdu::_altExtra [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + +
unsigned char DIS::FastEntityStatePdu::_altSpecific [protected]
+
+
+ +

+specific info based on subcategory field +

+

+ +

+
+ + + + +
unsigned char DIS::FastEntityStatePdu::_altSubcategory [protected]
+
+
+ +

+subcategory of entity +

+

+ +

+
+ + + + +
unsigned short DIS::FastEntityStatePdu::_application [protected]
+
+
+ +

+The application ID +

+

+ +

+ +
+ +

+variable length list of articulation parameters +

+

+ +

+
+ + + + +
int DIS::FastEntityStatePdu::_capabilities [protected]
+
+
+ +

+a series of bit flags +

+

+ +

+
+ + + + +
unsigned char DIS::FastEntityStatePdu::_category [protected]
+
+
+ +

+category of entity +

+

+ +

+
+ + + + +
unsigned short DIS::FastEntityStatePdu::_country [protected]
+
+
+ +

+country to which the design of the entity is attributed +

+

+ +

+
+ + + + +
unsigned char DIS::FastEntityStatePdu::_deadReckoningAlgorithm [protected]
+
+
+ +

+enumeration of what dead reckoning algorighm to use +

+

+ +

+
+ + + + +
unsigned char DIS::FastEntityStatePdu::_domain [protected]
+
+
+ +

+Domain of entity (air, surface, subsurface, space, etc) +

+

+ +

+
+ + + + +
unsigned short DIS::FastEntityStatePdu::_entity [protected]
+
+
+ +

+the entity ID +

+

+ +

+
+ + + + +
int DIS::FastEntityStatePdu::_entityAppearance [protected]
+
+
+ +

+a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc. +

+

+ +

+
+ + + + +
unsigned char DIS::FastEntityStatePdu::_entityKind [protected]
+
+
+ +

+Kind of entity +

+

+ +

+
+ + + + +
unsigned char DIS::FastEntityStatePdu::_extra [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + +
unsigned char DIS::FastEntityStatePdu::_forceId [protected]
+
+
+ +

+what force this entity is affiliated with, eg red, blue, neutral, etc +

+

+ +

+
+ + + + +
char DIS::FastEntityStatePdu::_marking[12] [protected]
+
+
+ +

+characters that can be used for debugging, or to draw unique strings on the side of entities in the world +

+

+ +

+ +
+ +

+How many articulation parameters are in the variable length list +

+

+ +

+
+ + + + +
char DIS::FastEntityStatePdu::_otherParameters[15] [protected]
+
+
+ +

+other parameters to use in the dead reckoning algorithm +

+

+ +

+
+ + + + +
float DIS::FastEntityStatePdu::_phi [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + +
float DIS::FastEntityStatePdu::_psi [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + +
unsigned short DIS::FastEntityStatePdu::_site [protected]
+
+
+ +

+The site ID +

+

+ +

+
+ + + + +
unsigned char DIS::FastEntityStatePdu::_specific [protected]
+
+
+ +

+specific info based on subcategory field +

+

+ +

+
+ + + + +
unsigned char DIS::FastEntityStatePdu::_subcategory [protected]
+
+
+ +

+subcategory of entity +

+

+ +

+
+ + + + +
float DIS::FastEntityStatePdu::_theta [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + +
float DIS::FastEntityStatePdu::_xAcceleration [protected]
+
+
+ +

+X value +

+

+ +

+
+ + + + +
float DIS::FastEntityStatePdu::_xAngularVelocity [protected]
+
+
+ +

+X value +

+

+ +

+
+ + + + +
double DIS::FastEntityStatePdu::_xLocation [protected]
+
+
+ +

+X value +

+

+ +

+
+ + + + +
float DIS::FastEntityStatePdu::_xVelocity [protected]
+
+
+ +

+X velo +

+

+ +

+
+ + + + +
float DIS::FastEntityStatePdu::_yAcceleration [protected]
+
+
+ +

+y Value +

+

+ +

+
+ + + + +
float DIS::FastEntityStatePdu::_yAngularVelocity [protected]
+
+
+ +

+y Value +

+

+ +

+
+ + + + +
double DIS::FastEntityStatePdu::_yLocation [protected]
+
+
+ +

+y Value +

+

+ +

+
+ + + + +
float DIS::FastEntityStatePdu::_yVelocity [protected]
+
+
+ +

+y Value +

+

+ +

+
+ + + + +
float DIS::FastEntityStatePdu::_zAcceleration [protected]
+
+
+ +

+Z value +

+

+ +

+
+ + + + +
float DIS::FastEntityStatePdu::_zAngularVelocity [protected]
+
+
+ +

+Z value +

+

+ +

+
+ + + + +
double DIS::FastEntityStatePdu::_zLocation [protected]
+
+
+ +

+Z value +

+

+ +

+
+ + + + +
float DIS::FastEntityStatePdu::_zVelocity [protected]
+
+
+ +

+Z value +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_fast_entity_state_pdu.png b/cpp/docs/html/class_d_i_s_1_1_fast_entity_state_pdu.png new file mode 100644 index 00000000..544e574a Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_fast_entity_state_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_fire_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_fire_pdu-members.html new file mode 100644 index 00000000..c1134362 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_fire_pdu-members.html @@ -0,0 +1,99 @@ + + +open-dis: Member List + + + + + +
+

DIS::FirePdu Member List

This is the complete list of members for DIS::FirePdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_burstDescriptorDIS::FirePdu [protected]
_eventIDDIS::FirePdu [protected]
_exerciseIDDIS::Pdu [protected]
_fireMissionIndexDIS::FirePdu [protected]
_firingEntityIDDIS::WarfareFamilyPdu [protected]
_lengthDIS::Pdu [protected]
_locationInWorldCoordinatesDIS::FirePdu [protected]
_munitionIDDIS::FirePdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_rangeDIS::FirePdu [protected]
_targetEntityIDDIS::WarfareFamilyPdu [protected]
_timestampDIS::Pdu [protected]
_velocityDIS::FirePdu [protected]
FirePdu()DIS::FirePdu
getBurstDescriptor()DIS::FirePdu
getBurstDescriptor() const DIS::FirePdu
getEventID()DIS::FirePdu
getEventID() const DIS::FirePdu
getExerciseID() const DIS::Pdu
getFireMissionIndex() const DIS::FirePdu
getFiringEntityID()DIS::WarfareFamilyPdu
getFiringEntityID() const DIS::WarfareFamilyPdu
getLength() const DIS::Pdu
getLocationInWorldCoordinates()DIS::FirePdu
getLocationInWorldCoordinates() const DIS::FirePdu
getMarshalledSize() const DIS::FirePdu [virtual]
getMunitionID()DIS::FirePdu
getMunitionID() const DIS::FirePdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getRange() const DIS::FirePdu
getTargetEntityID()DIS::WarfareFamilyPdu
getTargetEntityID() const DIS::WarfareFamilyPdu
getTimestamp() const DIS::Pdu
getVelocity()DIS::FirePdu
getVelocity() const DIS::FirePdu
marshal(DataStream &dataStream) const DIS::FirePdu [virtual]
operator==(const FirePdu &rhs) const DIS::FirePdu
DIS::WarfareFamilyPdu::operator==(const WarfareFamilyPdu &rhs) const DIS::WarfareFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setBurstDescriptor(const BurstDescriptor &pX)DIS::FirePdu
setEventID(const EventID &pX)DIS::FirePdu
setExerciseID(unsigned char pX)DIS::Pdu
setFireMissionIndex(int pX)DIS::FirePdu
setFiringEntityID(const EntityID &pX)DIS::WarfareFamilyPdu
setLength(unsigned short pX)DIS::Pdu
setLocationInWorldCoordinates(const Vector3Double &pX)DIS::FirePdu
setMunitionID(const EntityID &pX)DIS::FirePdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setRange(float pX)DIS::FirePdu
setTargetEntityID(const EntityID &pX)DIS::WarfareFamilyPdu
setTimestamp(unsigned int pX)DIS::Pdu
setVelocity(const Vector3Float &pX)DIS::FirePdu
unmarshal(DataStream &dataStream)DIS::FirePdu [virtual]
WarfareFamilyPdu()DIS::WarfareFamilyPdu
~FirePdu()DIS::FirePdu [virtual]
~Pdu()DIS::Pdu [virtual]
~WarfareFamilyPdu()DIS::WarfareFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_fire_pdu.html b/cpp/docs/html/class_d_i_s_1_1_fire_pdu.html new file mode 100644 index 00000000..9665fc06 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_fire_pdu.html @@ -0,0 +1,721 @@ + + +open-dis: DIS::FirePdu Class Reference + + + + + +
+

DIS::FirePdu Class Reference

#include <FirePdu.h> +

+

+Inheritance diagram for DIS::FirePdu:
+
+ +

+ +DIS::WarfareFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 FirePdu ()
virtual ~FirePdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetMunitionID ()
const EntityIDgetMunitionID () const
void setMunitionID (const EntityID &pX)
EventIDgetEventID ()
const EventIDgetEventID () const
void setEventID (const EventID &pX)
int getFireMissionIndex () const
void setFireMissionIndex (int pX)
Vector3DoublegetLocationInWorldCoordinates ()
const Vector3DoublegetLocationInWorldCoordinates () const
void setLocationInWorldCoordinates (const Vector3Double &pX)
BurstDescriptorgetBurstDescriptor ()
const BurstDescriptorgetBurstDescriptor () const
void setBurstDescriptor (const BurstDescriptor &pX)
Vector3FloatgetVelocity ()
const Vector3FloatgetVelocity () const
void setVelocity (const Vector3Float &pX)
float getRange () const
void setRange (float pX)
virtual int getMarshalledSize () const
bool operator== (const FirePdu &rhs) const

Protected Attributes

EntityID _munitionID
EventID _eventID
int _fireMissionIndex
Vector3Double _locationInWorldCoordinates
BurstDescriptor _burstDescriptor
Vector3Float _velocity
float _range
+


Detailed Description

+Sectioin 5.3.4.1. Information about someone firing something. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
FirePdu::FirePdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
FirePdu::~FirePdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const BurstDescriptor & FirePdu::getBurstDescriptor (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
BurstDescriptor & FirePdu::getBurstDescriptor (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EventID & FirePdu::getEventID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EventID & FirePdu::getEventID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int FirePdu::getFireMissionIndex (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Vector3Double & FirePdu::getLocationInWorldCoordinates (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Double & FirePdu::getLocationInWorldCoordinates (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int FirePdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::WarfareFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
const EntityID & FirePdu::getMunitionID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & FirePdu::getMunitionID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float FirePdu::getRange (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Vector3Float & FirePdu::getVelocity (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Float & FirePdu::getVelocity (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FirePdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::WarfareFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool FirePdu::operator== (const FirePdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FirePdu::setBurstDescriptor (const BurstDescriptor pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FirePdu::setEventID (const EventID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FirePdu::setFireMissionIndex (int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FirePdu::setLocationInWorldCoordinates (const Vector3Double pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FirePdu::setMunitionID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FirePdu::setRange (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FirePdu::setVelocity (const Vector3Float pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FirePdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::WarfareFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+ +
+ +

+Describes munitions used in the firing event +

+

+ +

+
+ + + + +
EventID DIS::FirePdu::_eventID [protected]
+
+
+ +

+ID of event +

+

+ +

+
+ + + + +
int DIS::FirePdu::_fireMissionIndex [protected]
+
+
+ +

+ +

+

+ +

+ +
+ +

+location of the firing event +

+

+ +

+
+ + + + +
EntityID DIS::FirePdu::_munitionID [protected]
+
+
+ +

+ID of the munition that is being shot +

+

+ +

+
+ + + + +
float DIS::FirePdu::_range [protected]
+
+
+ +

+range to the target +

+

+ +

+
+ + + + +
Vector3Float DIS::FirePdu::_velocity [protected]
+
+
+ +

+Velocity of the ammunition +

+

+


The documentation for this class was generated from the following files:
    +
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FirePdu.h
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FirePdu.cpp
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_fire_pdu.png b/cpp/docs/html/class_d_i_s_1_1_fire_pdu.png new file mode 100644 index 00000000..f4cd3ef1 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_fire_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_fixed_datum-members.html b/cpp/docs/html/class_d_i_s_1_1_fixed_datum-members.html new file mode 100644 index 00000000..9897408c --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_fixed_datum-members.html @@ -0,0 +1,44 @@ + + +open-dis: Member List + + + + + +
+

DIS::FixedDatum Member List

This is the complete list of members for DIS::FixedDatum, including all inherited members.

+ + + + + + + + + + + + +
_fixedDatumIDDIS::FixedDatum [protected]
_fixedDatumValueDIS::FixedDatum [protected]
FixedDatum()DIS::FixedDatum
getFixedDatumID() const DIS::FixedDatum
getFixedDatumValue() const DIS::FixedDatum
getMarshalledSize() const DIS::FixedDatum [virtual]
marshal(DataStream &dataStream) const DIS::FixedDatum [virtual]
operator==(const FixedDatum &rhs) const DIS::FixedDatum
setFixedDatumID(unsigned int pX)DIS::FixedDatum
setFixedDatumValue(unsigned int pX)DIS::FixedDatum
unmarshal(DataStream &dataStream)DIS::FixedDatum [virtual]
~FixedDatum()DIS::FixedDatum [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_fixed_datum.html b/cpp/docs/html/class_d_i_s_1_1_fixed_datum.html new file mode 100644 index 00000000..d2fbfb26 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_fixed_datum.html @@ -0,0 +1,300 @@ + + +open-dis: DIS::FixedDatum Class Reference + + + + + +
+

DIS::FixedDatum Class Reference

#include <FixedDatum.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 FixedDatum ()
virtual ~FixedDatum ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned int getFixedDatumID () const
void setFixedDatumID (unsigned int pX)
unsigned int getFixedDatumValue () const
void setFixedDatumValue (unsigned int pX)
virtual int getMarshalledSize () const
bool operator== (const FixedDatum &rhs) const

Protected Attributes

unsigned int _fixedDatumID
unsigned int _fixedDatumValue
+


Detailed Description

+Section 5.2.18. Fixed Datum Record

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
FixedDatum::FixedDatum (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
FixedDatum::~FixedDatum (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned int FixedDatum::getFixedDatumID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int FixedDatum::getFixedDatumValue (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int FixedDatum::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FixedDatum::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool FixedDatum::operator== (const FixedDatum rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FixedDatum::setFixedDatumID (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FixedDatum::setFixedDatumValue (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FixedDatum::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned int DIS::FixedDatum::_fixedDatumID [protected]
+
+
+ +

+ID of the fixed datum +

+

+ +

+
+ + + + +
unsigned int DIS::FixedDatum::_fixedDatumValue [protected]
+
+
+ +

+Value for the fixed datum +

+

+


The documentation for this class was generated from the following files:
    +
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FixedDatum.h
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FixedDatum.cpp
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_four_byte_chunk-members.html b/cpp/docs/html/class_d_i_s_1_1_four_byte_chunk-members.html new file mode 100644 index 00000000..5a6d8f7b --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_four_byte_chunk-members.html @@ -0,0 +1,42 @@ + + +open-dis: Member List + + + + + +
+

DIS::FourByteChunk Member List

This is the complete list of members for DIS::FourByteChunk, including all inherited members.

+ + + + + + + + + + +
_otherParametersDIS::FourByteChunk [protected]
FourByteChunk()DIS::FourByteChunk
getMarshalledSize() const DIS::FourByteChunk [virtual]
getOtherParameters()DIS::FourByteChunk
getOtherParameters() const DIS::FourByteChunk
marshal(DataStream &dataStream) const DIS::FourByteChunk [virtual]
operator==(const FourByteChunk &rhs) const DIS::FourByteChunk
setOtherParameters(const char *pX)DIS::FourByteChunk
unmarshal(DataStream &dataStream)DIS::FourByteChunk [virtual]
~FourByteChunk()DIS::FourByteChunk [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_four_byte_chunk.html b/cpp/docs/html/class_d_i_s_1_1_four_byte_chunk.html new file mode 100644 index 00000000..a8c7992e --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_four_byte_chunk.html @@ -0,0 +1,261 @@ + + +open-dis: DIS::FourByteChunk Class Reference + + + + + +
+

DIS::FourByteChunk Class Reference

#include <FourByteChunk.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 FourByteChunk ()
virtual ~FourByteChunk ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
char * getOtherParameters ()
const char * getOtherParameters () const
void setOtherParameters (const char *pX)
virtual int getMarshalledSize () const
bool operator== (const FourByteChunk &rhs) const

Protected Attributes

char _otherParameters [4]
+


Detailed Description

+32 bit piece of data

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
FourByteChunk::FourByteChunk (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
FourByteChunk::~FourByteChunk (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int FourByteChunk::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const char * FourByteChunk::getOtherParameters (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
char * FourByteChunk::getOtherParameters (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FourByteChunk::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool FourByteChunk::operator== (const FourByteChunk rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FourByteChunk::setOtherParameters (const char *  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FourByteChunk::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
char DIS::FourByteChunk::_otherParameters[4] [protected]
+
+
+ +

+four bytes of arbitrary data +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_fundamental_parameter_data-members.html b/cpp/docs/html/class_d_i_s_1_1_fundamental_parameter_data-members.html new file mode 100644 index 00000000..30929df7 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_fundamental_parameter_data-members.html @@ -0,0 +1,68 @@ + + +open-dis: Member List + + + + + +
+

DIS::FundamentalParameterData Member List

This is the complete list of members for DIS::FundamentalParameterData, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_beamAzimuthCenterDIS::FundamentalParameterData [protected]
_beamAzimuthSweepDIS::FundamentalParameterData [protected]
_beamElevationCenterDIS::FundamentalParameterData [protected]
_beamElevationSweepDIS::FundamentalParameterData [protected]
_beamSweepSyncDIS::FundamentalParameterData [protected]
_effectiveRadiatedPowerDIS::FundamentalParameterData [protected]
_frequencyDIS::FundamentalParameterData [protected]
_frequencyRangeDIS::FundamentalParameterData [protected]
_pulseRepetitionFrequencyDIS::FundamentalParameterData [protected]
_pulseWidthDIS::FundamentalParameterData [protected]
FundamentalParameterData()DIS::FundamentalParameterData
getBeamAzimuthCenter() const DIS::FundamentalParameterData
getBeamAzimuthSweep() const DIS::FundamentalParameterData
getBeamElevationCenter() const DIS::FundamentalParameterData
getBeamElevationSweep() const DIS::FundamentalParameterData
getBeamSweepSync() const DIS::FundamentalParameterData
getEffectiveRadiatedPower() const DIS::FundamentalParameterData
getFrequency() const DIS::FundamentalParameterData
getFrequencyRange() const DIS::FundamentalParameterData
getMarshalledSize() const DIS::FundamentalParameterData [virtual]
getPulseRepetitionFrequency() const DIS::FundamentalParameterData
getPulseWidth() const DIS::FundamentalParameterData
marshal(DataStream &dataStream) const DIS::FundamentalParameterData [virtual]
operator==(const FundamentalParameterData &rhs) const DIS::FundamentalParameterData
setBeamAzimuthCenter(float pX)DIS::FundamentalParameterData
setBeamAzimuthSweep(float pX)DIS::FundamentalParameterData
setBeamElevationCenter(float pX)DIS::FundamentalParameterData
setBeamElevationSweep(float pX)DIS::FundamentalParameterData
setBeamSweepSync(float pX)DIS::FundamentalParameterData
setEffectiveRadiatedPower(float pX)DIS::FundamentalParameterData
setFrequency(float pX)DIS::FundamentalParameterData
setFrequencyRange(float pX)DIS::FundamentalParameterData
setPulseRepetitionFrequency(float pX)DIS::FundamentalParameterData
setPulseWidth(float pX)DIS::FundamentalParameterData
unmarshal(DataStream &dataStream)DIS::FundamentalParameterData [virtual]
~FundamentalParameterData()DIS::FundamentalParameterData [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_fundamental_parameter_data.html b/cpp/docs/html/class_d_i_s_1_1_fundamental_parameter_data.html new file mode 100644 index 00000000..4cf83351 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_fundamental_parameter_data.html @@ -0,0 +1,780 @@ + + +open-dis: DIS::FundamentalParameterData Class Reference + + + + + +
+

DIS::FundamentalParameterData Class Reference

#include <FundamentalParameterData.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 FundamentalParameterData ()
virtual ~FundamentalParameterData ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
float getFrequency () const
void setFrequency (float pX)
float getFrequencyRange () const
void setFrequencyRange (float pX)
float getEffectiveRadiatedPower () const
void setEffectiveRadiatedPower (float pX)
float getPulseRepetitionFrequency () const
void setPulseRepetitionFrequency (float pX)
float getPulseWidth () const
void setPulseWidth (float pX)
float getBeamAzimuthCenter () const
void setBeamAzimuthCenter (float pX)
float getBeamAzimuthSweep () const
void setBeamAzimuthSweep (float pX)
float getBeamElevationCenter () const
void setBeamElevationCenter (float pX)
float getBeamElevationSweep () const
void setBeamElevationSweep (float pX)
float getBeamSweepSync () const
void setBeamSweepSync (float pX)
virtual int getMarshalledSize () const
bool operator== (const FundamentalParameterData &rhs) const

Protected Attributes

float _frequency
float _frequencyRange
float _effectiveRadiatedPower
float _pulseRepetitionFrequency
float _pulseWidth
float _beamAzimuthCenter
float _beamAzimuthSweep
float _beamElevationCenter
float _beamElevationSweep
float _beamSweepSync
+


Detailed Description

+Section 5.2.22. Contains electromagnetic emmision regineratin parameters that are variable throughout a scenario dependent on the actions of the participants in the simulation. Also provides basic parametric data that may be used to support low-fidelity simulations.

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
FundamentalParameterData::FundamentalParameterData (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
FundamentalParameterData::~FundamentalParameterData (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
float FundamentalParameterData::getBeamAzimuthCenter (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float FundamentalParameterData::getBeamAzimuthSweep (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float FundamentalParameterData::getBeamElevationCenter (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float FundamentalParameterData::getBeamElevationSweep (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float FundamentalParameterData::getBeamSweepSync (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float FundamentalParameterData::getEffectiveRadiatedPower (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float FundamentalParameterData::getFrequency (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float FundamentalParameterData::getFrequencyRange (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int FundamentalParameterData::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float FundamentalParameterData::getPulseRepetitionFrequency (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float FundamentalParameterData::getPulseWidth (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FundamentalParameterData::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool FundamentalParameterData::operator== (const FundamentalParameterData rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FundamentalParameterData::setBeamAzimuthCenter (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FundamentalParameterData::setBeamAzimuthSweep (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FundamentalParameterData::setBeamElevationCenter (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FundamentalParameterData::setBeamElevationSweep (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FundamentalParameterData::setBeamSweepSync (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FundamentalParameterData::setEffectiveRadiatedPower (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FundamentalParameterData::setFrequency (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FundamentalParameterData::setFrequencyRange (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FundamentalParameterData::setPulseRepetitionFrequency (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FundamentalParameterData::setPulseWidth (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FundamentalParameterData::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+ +
+ +

+Specifies the beam azimuth an elevation centers and corresponding half-angles to describe the scan volume +

+

+ +

+ +
+ +

+Specifies the beam azimuth sweep to determine scan volume +

+

+ +

+ +
+ +

+Specifies the beam elevation center to determine scan volume +

+

+ +

+ +
+ +

+Specifies the beam elevation sweep to determine scan volume +

+

+ +

+
+ + + + +
float DIS::FundamentalParameterData::_beamSweepSync [protected]
+
+
+ +

+allows receiver to synchronize its regenerated scan pattern to that of the emmitter. Specifies the percentage of time a scan is through its pattern from its origion. +

+

+ +

+ +
+ +

+Effective radiated power for the emission in DdBm. For a radar noise jammer, indicates the peak of the transmitted power. +

+

+ +

+
+ + + + +
float DIS::FundamentalParameterData::_frequency [protected]
+
+
+ +

+center frequency of the emission in hertz. +

+

+ +

+
+ + + + +
float DIS::FundamentalParameterData::_frequencyRange [protected]
+
+
+ +

+Bandwidth of the frequencies corresponding to the fequency field. +

+

+ +

+ +
+ +

+Average repetition frequency of the emission in hertz. +

+

+ +

+
+ + + + +
float DIS::FundamentalParameterData::_pulseWidth [protected]
+
+
+ +

+Average pulse width of the emission in microseconds. +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_fundamental_parameter_data_iff-members.html b/cpp/docs/html/class_d_i_s_1_1_fundamental_parameter_data_iff-members.html new file mode 100644 index 00000000..8cd9bf5d --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_fundamental_parameter_data_iff-members.html @@ -0,0 +1,62 @@ + + +open-dis: Member List + + + + + +
+

DIS::FundamentalParameterDataIff Member List

This is the complete list of members for DIS::FundamentalParameterDataIff, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_applicableModesDIS::FundamentalParameterDataIff [protected]
_burstLengthDIS::FundamentalParameterDataIff [protected]
_erpDIS::FundamentalParameterDataIff [protected]
_frequencyDIS::FundamentalParameterDataIff [protected]
_pad2DIS::FundamentalParameterDataIff [protected]
_pad3DIS::FundamentalParameterDataIff [protected]
_pgrfDIS::FundamentalParameterDataIff [protected]
_pulseWidthDIS::FundamentalParameterDataIff [protected]
FundamentalParameterDataIff()DIS::FundamentalParameterDataIff
getApplicableModes() const DIS::FundamentalParameterDataIff
getBurstLength() const DIS::FundamentalParameterDataIff
getErp() const DIS::FundamentalParameterDataIff
getFrequency() const DIS::FundamentalParameterDataIff
getMarshalledSize() const DIS::FundamentalParameterDataIff [virtual]
getPad2() const DIS::FundamentalParameterDataIff
getPad3() const DIS::FundamentalParameterDataIff
getPgrf() const DIS::FundamentalParameterDataIff
getPulseWidth() const DIS::FundamentalParameterDataIff
marshal(DataStream &dataStream) const DIS::FundamentalParameterDataIff [virtual]
operator==(const FundamentalParameterDataIff &rhs) const DIS::FundamentalParameterDataIff
setApplicableModes(unsigned char pX)DIS::FundamentalParameterDataIff
setBurstLength(unsigned int pX)DIS::FundamentalParameterDataIff
setErp(float pX)DIS::FundamentalParameterDataIff
setFrequency(float pX)DIS::FundamentalParameterDataIff
setPad2(unsigned short pX)DIS::FundamentalParameterDataIff
setPad3(unsigned char pX)DIS::FundamentalParameterDataIff
setPgrf(float pX)DIS::FundamentalParameterDataIff
setPulseWidth(float pX)DIS::FundamentalParameterDataIff
unmarshal(DataStream &dataStream)DIS::FundamentalParameterDataIff [virtual]
~FundamentalParameterDataIff()DIS::FundamentalParameterDataIff [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_fundamental_parameter_data_iff.html b/cpp/docs/html/class_d_i_s_1_1_fundamental_parameter_data_iff.html new file mode 100644 index 00000000..92332b8c --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_fundamental_parameter_data_iff.html @@ -0,0 +1,660 @@ + + +open-dis: DIS::FundamentalParameterDataIff Class Reference + + + + + +
+

DIS::FundamentalParameterDataIff Class Reference

#include <FundamentalParameterDataIff.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 FundamentalParameterDataIff ()
virtual ~FundamentalParameterDataIff ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
float getErp () const
void setErp (float pX)
float getFrequency () const
void setFrequency (float pX)
float getPgrf () const
void setPgrf (float pX)
float getPulseWidth () const
void setPulseWidth (float pX)
unsigned int getBurstLength () const
void setBurstLength (unsigned int pX)
unsigned char getApplicableModes () const
void setApplicableModes (unsigned char pX)
unsigned short getPad2 () const
void setPad2 (unsigned short pX)
unsigned char getPad3 () const
void setPad3 (unsigned char pX)
virtual int getMarshalledSize () const
bool operator== (const FundamentalParameterDataIff &rhs) const

Protected Attributes

float _erp
float _frequency
float _pgrf
float _pulseWidth
unsigned int _burstLength
unsigned char _applicableModes
unsigned short _pad2
unsigned char _pad3
+


Detailed Description

+5.2.45. Fundamental IFF atc data

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
FundamentalParameterDataIff::FundamentalParameterDataIff (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
FundamentalParameterDataIff::~FundamentalParameterDataIff (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned char FundamentalParameterDataIff::getApplicableModes (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int FundamentalParameterDataIff::getBurstLength (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float FundamentalParameterDataIff::getErp (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float FundamentalParameterDataIff::getFrequency (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int FundamentalParameterDataIff::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short FundamentalParameterDataIff::getPad2 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char FundamentalParameterDataIff::getPad3 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float FundamentalParameterDataIff::getPgrf (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float FundamentalParameterDataIff::getPulseWidth (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FundamentalParameterDataIff::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool FundamentalParameterDataIff::operator== (const FundamentalParameterDataIff rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FundamentalParameterDataIff::setApplicableModes (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FundamentalParameterDataIff::setBurstLength (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FundamentalParameterDataIff::setErp (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FundamentalParameterDataIff::setFrequency (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FundamentalParameterDataIff::setPad2 (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FundamentalParameterDataIff::setPad3 (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FundamentalParameterDataIff::setPgrf (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FundamentalParameterDataIff::setPulseWidth (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void FundamentalParameterDataIff::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned char DIS::FundamentalParameterDataIff::_applicableModes [protected]
+
+
+ +

+Applicable modes enumeration +

+

+ +

+
+ + + + +
unsigned int DIS::FundamentalParameterDataIff::_burstLength [protected]
+
+
+ +

+Burst length +

+

+ +

+
+ + + + +
float DIS::FundamentalParameterDataIff::_erp [protected]
+
+
+ +

+ERP +

+

+ +

+
+ + + + +
float DIS::FundamentalParameterDataIff::_frequency [protected]
+
+
+ +

+frequency +

+

+ +

+
+ + + + +
unsigned short DIS::FundamentalParameterDataIff::_pad2 [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
unsigned char DIS::FundamentalParameterDataIff::_pad3 [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
float DIS::FundamentalParameterDataIff::_pgrf [protected]
+
+
+ +

+pgrf +

+

+ +

+
+ + + + +
float DIS::FundamentalParameterDataIff::_pulseWidth [protected]
+
+
+ +

+Pulse width +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_grid_axis_record-members.html b/cpp/docs/html/class_d_i_s_1_1_grid_axis_record-members.html new file mode 100644 index 00000000..1ddb6a5f --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_grid_axis_record-members.html @@ -0,0 +1,44 @@ + + +open-dis: Member List + + + + + +
+

DIS::GridAxisRecord Member List

This is the complete list of members for DIS::GridAxisRecord, including all inherited members.

+ + + + + + + + + + + + +
_dataRepresentationDIS::GridAxisRecord [protected]
_sampleTypeDIS::GridAxisRecord [protected]
getDataRepresentation() const DIS::GridAxisRecord
getMarshalledSize() const DIS::GridAxisRecord [virtual]
getSampleType() const DIS::GridAxisRecord
GridAxisRecord()DIS::GridAxisRecord
marshal(DataStream &dataStream) const DIS::GridAxisRecord [virtual]
operator==(const GridAxisRecord &rhs) const DIS::GridAxisRecord
setDataRepresentation(unsigned short pX)DIS::GridAxisRecord
setSampleType(unsigned short pX)DIS::GridAxisRecord
unmarshal(DataStream &dataStream)DIS::GridAxisRecord [virtual]
~GridAxisRecord()DIS::GridAxisRecord [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_grid_axis_record.html b/cpp/docs/html/class_d_i_s_1_1_grid_axis_record.html new file mode 100644 index 00000000..03acfbfe --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_grid_axis_record.html @@ -0,0 +1,317 @@ + + +open-dis: DIS::GridAxisRecord Class Reference + + + + + +
+

DIS::GridAxisRecord Class Reference

#include <GridAxisRecord.h> +

+

+Inheritance diagram for DIS::GridAxisRecord:
+
+ +

+ +DIS::GridAxisRecordRepresentation0 +DIS::GridAxisRecordRepresentation1 +DIS::GridAxisRecordRepresentation2 + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 GridAxisRecord ()
virtual ~GridAxisRecord ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned short getSampleType () const
void setSampleType (unsigned short pX)
unsigned short getDataRepresentation () const
void setDataRepresentation (unsigned short pX)
virtual int getMarshalledSize () const
bool operator== (const GridAxisRecord &rhs) const

Protected Attributes

unsigned short _sampleType
unsigned short _dataRepresentation
+


Detailed Description

+5.2.44: Grid data record, a common abstract superclass for several subtypes

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
GridAxisRecord::GridAxisRecord (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
GridAxisRecord::~GridAxisRecord (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned short GridAxisRecord::getDataRepresentation (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int GridAxisRecord::getMarshalledSize (  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + +
unsigned short GridAxisRecord::getSampleType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void GridAxisRecord::marshal (DataStream &  dataStream  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + + +
bool GridAxisRecord::operator== (const GridAxisRecord rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void GridAxisRecord::setDataRepresentation (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void GridAxisRecord::setSampleType (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void GridAxisRecord::unmarshal (DataStream &  dataStream  )  [virtual]
+
+ +

+


Member Data Documentation

+ +
+
+ + + + +
unsigned short DIS::GridAxisRecord::_dataRepresentation [protected]
+
+
+ +

+value that describes data representation +

+

+ +

+
+ + + + +
unsigned short DIS::GridAxisRecord::_sampleType [protected]
+
+
+ +

+type of environmental sample +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_grid_axis_record.png b/cpp/docs/html/class_d_i_s_1_1_grid_axis_record.png new file mode 100644 index 00000000..01f3b65f Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_grid_axis_record.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_grid_axis_record_representation0-members.html b/cpp/docs/html/class_d_i_s_1_1_grid_axis_record_representation0-members.html new file mode 100644 index 00000000..82695050 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_grid_axis_record_representation0-members.html @@ -0,0 +1,53 @@ + + +open-dis: Member List + + + + + + +
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_grid_axis_record_representation0.html b/cpp/docs/html/class_d_i_s_1_1_grid_axis_record_representation0.html new file mode 100644 index 00000000..11fd18ce --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_grid_axis_record_representation0.html @@ -0,0 +1,314 @@ + + +open-dis: DIS::GridAxisRecordRepresentation0 Class Reference + + + + + +
+

DIS::GridAxisRecordRepresentation0 Class Reference

#include <GridAxisRecordRepresentation0.h> +

+

+Inheritance diagram for DIS::GridAxisRecordRepresentation0:
+
+ +

+ +DIS::GridAxisRecord + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 GridAxisRecordRepresentation0 ()
virtual ~GridAxisRecordRepresentation0 ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned short getNumberOfBytes () const
std::vector< OneByteChunk > & getDataValues ()
const std::vector< OneByteChunk > & getDataValues () const
void setDataValues (const std::vector< OneByteChunk > &pX)
virtual int getMarshalledSize () const
bool operator== (const GridAxisRecordRepresentation0 &rhs) const

Protected Attributes

unsigned short _numberOfBytes
std::vector< OneByteChunk_dataValues
+


Detailed Description

+5.2.44: Grid data record, representation 0

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
GridAxisRecordRepresentation0::GridAxisRecordRepresentation0 (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
GridAxisRecordRepresentation0::~GridAxisRecordRepresentation0 (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const std::vector< OneByteChunk > & GridAxisRecordRepresentation0::getDataValues (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< OneByteChunk > & GridAxisRecordRepresentation0::getDataValues (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int GridAxisRecordRepresentation0::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::GridAxisRecord.

+ +
+

+ +

+
+ + + + + + + + +
unsigned short GridAxisRecordRepresentation0::getNumberOfBytes (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void GridAxisRecordRepresentation0::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::GridAxisRecord.

+ +
+

+ +

+
+ + + + + + + + + +
bool GridAxisRecordRepresentation0::operator== (const GridAxisRecordRepresentation0 rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void GridAxisRecordRepresentation0::setDataValues (const std::vector< OneByteChunk > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void GridAxisRecordRepresentation0::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::GridAxisRecord.

+ +
+

+


Member Data Documentation

+ +
+ +
+ +

+variable length list of data parameters ^^^this is wrong--need padding as well +

+

+ +

+
+ + + + +
unsigned short DIS::GridAxisRecordRepresentation0::_numberOfBytes [protected]
+
+
+ +

+number of bytes of environmental state data +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_grid_axis_record_representation0.png b/cpp/docs/html/class_d_i_s_1_1_grid_axis_record_representation0.png new file mode 100644 index 00000000..a089ceb0 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_grid_axis_record_representation0.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_grid_axis_record_representation1-members.html b/cpp/docs/html/class_d_i_s_1_1_grid_axis_record_representation1-members.html new file mode 100644 index 00000000..ea6a2893 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_grid_axis_record_representation1-members.html @@ -0,0 +1,59 @@ + + +open-dis: Member List + + + + + +
+

DIS::GridAxisRecordRepresentation1 Member List

This is the complete list of members for DIS::GridAxisRecordRepresentation1, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
_dataRepresentationDIS::GridAxisRecord [protected]
_dataValuesDIS::GridAxisRecordRepresentation1 [protected]
_fieldOffsetDIS::GridAxisRecordRepresentation1 [protected]
_fieldScaleDIS::GridAxisRecordRepresentation1 [protected]
_numberOfValuesDIS::GridAxisRecordRepresentation1 [protected]
_sampleTypeDIS::GridAxisRecord [protected]
getDataRepresentation() const DIS::GridAxisRecord
getDataValues()DIS::GridAxisRecordRepresentation1
getDataValues() const DIS::GridAxisRecordRepresentation1
getFieldOffset() const DIS::GridAxisRecordRepresentation1
getFieldScale() const DIS::GridAxisRecordRepresentation1
getMarshalledSize() const DIS::GridAxisRecordRepresentation1 [virtual]
getNumberOfValues() const DIS::GridAxisRecordRepresentation1
getSampleType() const DIS::GridAxisRecord
GridAxisRecord()DIS::GridAxisRecord
GridAxisRecordRepresentation1()DIS::GridAxisRecordRepresentation1
marshal(DataStream &dataStream) const DIS::GridAxisRecordRepresentation1 [virtual]
operator==(const GridAxisRecordRepresentation1 &rhs) const DIS::GridAxisRecordRepresentation1
DIS::GridAxisRecord::operator==(const GridAxisRecord &rhs) const DIS::GridAxisRecord
setDataRepresentation(unsigned short pX)DIS::GridAxisRecord
setDataValues(const std::vector< TwoByteChunk > &pX)DIS::GridAxisRecordRepresentation1
setFieldOffset(float pX)DIS::GridAxisRecordRepresentation1
setFieldScale(float pX)DIS::GridAxisRecordRepresentation1
setSampleType(unsigned short pX)DIS::GridAxisRecord
unmarshal(DataStream &dataStream)DIS::GridAxisRecordRepresentation1 [virtual]
~GridAxisRecord()DIS::GridAxisRecord [virtual]
~GridAxisRecordRepresentation1()DIS::GridAxisRecordRepresentation1 [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_grid_axis_record_representation1.html b/cpp/docs/html/class_d_i_s_1_1_grid_axis_record_representation1.html new file mode 100644 index 00000000..1a5bc379 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_grid_axis_record_representation1.html @@ -0,0 +1,434 @@ + + +open-dis: DIS::GridAxisRecordRepresentation1 Class Reference + + + + + +
+

DIS::GridAxisRecordRepresentation1 Class Reference

#include <GridAxisRecordRepresentation1.h> +

+

+Inheritance diagram for DIS::GridAxisRecordRepresentation1:
+
+ +

+ +DIS::GridAxisRecord + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 GridAxisRecordRepresentation1 ()
virtual ~GridAxisRecordRepresentation1 ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
float getFieldScale () const
void setFieldScale (float pX)
float getFieldOffset () const
void setFieldOffset (float pX)
unsigned short getNumberOfValues () const
std::vector< TwoByteChunk > & getDataValues ()
const std::vector< TwoByteChunk > & getDataValues () const
void setDataValues (const std::vector< TwoByteChunk > &pX)
virtual int getMarshalledSize () const
bool operator== (const GridAxisRecordRepresentation1 &rhs) const

Protected Attributes

float _fieldScale
float _fieldOffset
unsigned short _numberOfValues
std::vector< TwoByteChunk_dataValues
+


Detailed Description

+5.2.44: Grid data record, representation 1

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
GridAxisRecordRepresentation1::GridAxisRecordRepresentation1 (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
GridAxisRecordRepresentation1::~GridAxisRecordRepresentation1 (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const std::vector< TwoByteChunk > & GridAxisRecordRepresentation1::getDataValues (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< TwoByteChunk > & GridAxisRecordRepresentation1::getDataValues (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float GridAxisRecordRepresentation1::getFieldOffset (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float GridAxisRecordRepresentation1::getFieldScale (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int GridAxisRecordRepresentation1::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::GridAxisRecord.

+ +
+

+ +

+
+ + + + + + + + +
unsigned short GridAxisRecordRepresentation1::getNumberOfValues (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void GridAxisRecordRepresentation1::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::GridAxisRecord.

+ +
+

+ +

+
+ + + + + + + + + +
bool GridAxisRecordRepresentation1::operator== (const GridAxisRecordRepresentation1 rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void GridAxisRecordRepresentation1::setDataValues (const std::vector< TwoByteChunk > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void GridAxisRecordRepresentation1::setFieldOffset (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void GridAxisRecordRepresentation1::setFieldScale (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void GridAxisRecordRepresentation1::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::GridAxisRecord.

+ +
+

+


Member Data Documentation

+ +
+ +
+ +

+variable length list of data parameters ^^^this is wrong--need padding as well +

+

+ +

+ +
+ +

+constant offset used to scale grid data +

+

+ +

+ +
+ +

+constant scale factor +

+

+ +

+
+ + + + +
unsigned short DIS::GridAxisRecordRepresentation1::_numberOfValues [protected]
+
+
+ +

+Number of data values +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_grid_axis_record_representation1.png b/cpp/docs/html/class_d_i_s_1_1_grid_axis_record_representation1.png new file mode 100644 index 00000000..587dfc27 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_grid_axis_record_representation1.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_grid_axis_record_representation2-members.html b/cpp/docs/html/class_d_i_s_1_1_grid_axis_record_representation2-members.html new file mode 100644 index 00000000..845cbd65 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_grid_axis_record_representation2-members.html @@ -0,0 +1,53 @@ + + +open-dis: Member List + + + + + + +
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_grid_axis_record_representation2.html b/cpp/docs/html/class_d_i_s_1_1_grid_axis_record_representation2.html new file mode 100644 index 00000000..6ea1cb24 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_grid_axis_record_representation2.html @@ -0,0 +1,315 @@ + + +open-dis: DIS::GridAxisRecordRepresentation2 Class Reference + + + + + +
+

DIS::GridAxisRecordRepresentation2 Class Reference

#include <GridAxisRecordRepresentation2.h> +

+

+Inheritance diagram for DIS::GridAxisRecordRepresentation2:
+
+ +

+ +DIS::GridAxisRecord + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 GridAxisRecordRepresentation2 ()
virtual ~GridAxisRecordRepresentation2 ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned short getNumberOfValues () const
std::vector< FourByteChunk > & getDataValues ()
const std::vector
+< FourByteChunk > & 
getDataValues () const
void setDataValues (const std::vector< FourByteChunk > &pX)
virtual int getMarshalledSize () const
bool operator== (const GridAxisRecordRepresentation2 &rhs) const

Protected Attributes

unsigned short _numberOfValues
std::vector< FourByteChunk_dataValues
+


Detailed Description

+5.2.44: Grid data record, representation 1

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
GridAxisRecordRepresentation2::GridAxisRecordRepresentation2 (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
GridAxisRecordRepresentation2::~GridAxisRecordRepresentation2 (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const std::vector< FourByteChunk > & GridAxisRecordRepresentation2::getDataValues (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< FourByteChunk > & GridAxisRecordRepresentation2::getDataValues (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int GridAxisRecordRepresentation2::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::GridAxisRecord.

+ +
+

+ +

+
+ + + + + + + + +
unsigned short GridAxisRecordRepresentation2::getNumberOfValues (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void GridAxisRecordRepresentation2::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::GridAxisRecord.

+ +
+

+ +

+
+ + + + + + + + + +
bool GridAxisRecordRepresentation2::operator== (const GridAxisRecordRepresentation2 rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void GridAxisRecordRepresentation2::setDataValues (const std::vector< FourByteChunk > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void GridAxisRecordRepresentation2::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::GridAxisRecord.

+ +
+

+


Member Data Documentation

+ +
+ +
+ +

+variable length list of data parameters ^^^this is wrong--need padding as well +

+

+ +

+
+ + + + +
unsigned short DIS::GridAxisRecordRepresentation2::_numberOfValues [protected]
+
+
+ +

+number of values +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_grid_axis_record_representation2.png b/cpp/docs/html/class_d_i_s_1_1_grid_axis_record_representation2.png new file mode 100644 index 00000000..16fcd26a Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_grid_axis_record_representation2.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_gridded_data_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_gridded_data_pdu-members.html new file mode 100644 index 00000000..3561daa2 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_gridded_data_pdu-members.html @@ -0,0 +1,113 @@ + + +open-dis: Member List + + + + + +
+

DIS::GriddedDataPdu Member List

This is the complete list of members for DIS::GriddedDataPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_constantGridDIS::GriddedDataPdu [protected]
_coordinateSystemDIS::GriddedDataPdu [protected]
_environmentalSimulationApplicationIDDIS::GriddedDataPdu [protected]
_environmentTypeDIS::GriddedDataPdu [protected]
_exerciseIDDIS::Pdu [protected]
_fieldNumberDIS::GriddedDataPdu [protected]
_gridDataListDIS::GriddedDataPdu [protected]
_lengthDIS::Pdu [protected]
_numberOfGridAxesDIS::GriddedDataPdu [protected]
_orientationDIS::GriddedDataPdu [protected]
_paddingDIS::Pdu [protected]
_padding1DIS::GriddedDataPdu [protected]
_padding2DIS::GriddedDataPdu [protected]
_pduNumberDIS::GriddedDataPdu [protected]
_pduTotalDIS::GriddedDataPdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_sampleTimeDIS::GriddedDataPdu [protected]
_timestampDIS::Pdu [protected]
_totalValuesDIS::GriddedDataPdu [protected]
_vectorDimensionDIS::GriddedDataPdu [protected]
getConstantGrid() const DIS::GriddedDataPdu
getCoordinateSystem() const DIS::GriddedDataPdu
getEnvironmentalSimulationApplicationID()DIS::GriddedDataPdu
getEnvironmentalSimulationApplicationID() const DIS::GriddedDataPdu
getEnvironmentType()DIS::GriddedDataPdu
getEnvironmentType() const DIS::GriddedDataPdu
getExerciseID() const DIS::Pdu
getFieldNumber() const DIS::GriddedDataPdu
getGridDataList()DIS::GriddedDataPdu
getGridDataList() const DIS::GriddedDataPdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::GriddedDataPdu [virtual]
getNumberOfGridAxes() const DIS::GriddedDataPdu
getOrientation()DIS::GriddedDataPdu
getOrientation() const DIS::GriddedDataPdu
getPadding() const DIS::Pdu
getPadding1() const DIS::GriddedDataPdu
getPadding2() const DIS::GriddedDataPdu
getPduNumber() const DIS::GriddedDataPdu
getPduTotal() const DIS::GriddedDataPdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getSampleTime() const DIS::GriddedDataPdu
getTimestamp() const DIS::Pdu
getTotalValues() const DIS::GriddedDataPdu
getVectorDimension() const DIS::GriddedDataPdu
GriddedDataPdu()DIS::GriddedDataPdu
marshal(DataStream &dataStream) const DIS::GriddedDataPdu [virtual]
operator==(const GriddedDataPdu &rhs) const DIS::GriddedDataPdu
DIS::SyntheticEnvironmentFamilyPdu::operator==(const SyntheticEnvironmentFamilyPdu &rhs) const DIS::SyntheticEnvironmentFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setConstantGrid(unsigned char pX)DIS::GriddedDataPdu
setCoordinateSystem(unsigned short pX)DIS::GriddedDataPdu
setEnvironmentalSimulationApplicationID(const EntityID &pX)DIS::GriddedDataPdu
setEnvironmentType(const EntityType &pX)DIS::GriddedDataPdu
setExerciseID(unsigned char pX)DIS::Pdu
setFieldNumber(unsigned short pX)DIS::GriddedDataPdu
setGridDataList(const std::vector< GridAxisRecord > &pX)DIS::GriddedDataPdu
setLength(unsigned short pX)DIS::Pdu
setOrientation(const Orientation &pX)DIS::GriddedDataPdu
setPadding(short pX)DIS::Pdu
setPadding1(unsigned short pX)DIS::GriddedDataPdu
setPadding2(unsigned char pX)DIS::GriddedDataPdu
setPduNumber(unsigned short pX)DIS::GriddedDataPdu
setPduTotal(unsigned short pX)DIS::GriddedDataPdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setSampleTime(long pX)DIS::GriddedDataPdu
setTimestamp(unsigned int pX)DIS::Pdu
setTotalValues(unsigned int pX)DIS::GriddedDataPdu
setVectorDimension(unsigned char pX)DIS::GriddedDataPdu
SyntheticEnvironmentFamilyPdu()DIS::SyntheticEnvironmentFamilyPdu
unmarshal(DataStream &dataStream)DIS::GriddedDataPdu [virtual]
~GriddedDataPdu()DIS::GriddedDataPdu [virtual]
~Pdu()DIS::Pdu [virtual]
~SyntheticEnvironmentFamilyPdu()DIS::SyntheticEnvironmentFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_gridded_data_pdu.html b/cpp/docs/html/class_d_i_s_1_1_gridded_data_pdu.html new file mode 100644 index 00000000..b4714ccd --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_gridded_data_pdu.html @@ -0,0 +1,1159 @@ + + +open-dis: DIS::GriddedDataPdu Class Reference + + + + + +
+

DIS::GriddedDataPdu Class Reference

#include <GriddedDataPdu.h> +

+

+Inheritance diagram for DIS::GriddedDataPdu:
+
+ +

+ +DIS::SyntheticEnvironmentFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 GriddedDataPdu ()
virtual ~GriddedDataPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetEnvironmentalSimulationApplicationID ()
const EntityIDgetEnvironmentalSimulationApplicationID () const
void setEnvironmentalSimulationApplicationID (const EntityID &pX)
unsigned short getFieldNumber () const
void setFieldNumber (unsigned short pX)
unsigned short getPduNumber () const
void setPduNumber (unsigned short pX)
unsigned short getPduTotal () const
void setPduTotal (unsigned short pX)
unsigned short getCoordinateSystem () const
void setCoordinateSystem (unsigned short pX)
unsigned char getNumberOfGridAxes () const
unsigned char getConstantGrid () const
void setConstantGrid (unsigned char pX)
EntityTypegetEnvironmentType ()
const EntityTypegetEnvironmentType () const
void setEnvironmentType (const EntityType &pX)
OrientationgetOrientation ()
const OrientationgetOrientation () const
void setOrientation (const Orientation &pX)
long getSampleTime () const
void setSampleTime (long pX)
unsigned int getTotalValues () const
void setTotalValues (unsigned int pX)
unsigned char getVectorDimension () const
void setVectorDimension (unsigned char pX)
unsigned short getPadding1 () const
void setPadding1 (unsigned short pX)
unsigned char getPadding2 () const
void setPadding2 (unsigned char pX)
std::vector< GridAxisRecord > & getGridDataList ()
const std::vector
+< GridAxisRecord > & 
getGridDataList () const
void setGridDataList (const std::vector< GridAxisRecord > &pX)
virtual int getMarshalledSize () const
bool operator== (const GriddedDataPdu &rhs) const

Protected Attributes

EntityID _environmentalSimulationApplicationID
unsigned short _fieldNumber
unsigned short _pduNumber
unsigned short _pduTotal
unsigned short _coordinateSystem
unsigned char _numberOfGridAxes
unsigned char _constantGrid
EntityType _environmentType
Orientation _orientation
long _sampleTime
unsigned int _totalValues
unsigned char _vectorDimension
unsigned short _padding1
unsigned char _padding2
std::vector< GridAxisRecord_gridDataList
+


Detailed Description

+Section 5.3.11.2: Information about globat, spatially varying enviornmental effects. This requires manual cleanup; the grid axis records are variable sized. UNFINISHED

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
GriddedDataPdu::GriddedDataPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
GriddedDataPdu::~GriddedDataPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned char GriddedDataPdu::getConstantGrid (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short GriddedDataPdu::getCoordinateSystem (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & GriddedDataPdu::getEnvironmentalSimulationApplicationID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & GriddedDataPdu::getEnvironmentalSimulationApplicationID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityType & GriddedDataPdu::getEnvironmentType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityType & GriddedDataPdu::getEnvironmentType (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short GriddedDataPdu::getFieldNumber (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< GridAxisRecord > & GriddedDataPdu::getGridDataList (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< GridAxisRecord > & GriddedDataPdu::getGridDataList (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int GriddedDataPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SyntheticEnvironmentFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
unsigned char GriddedDataPdu::getNumberOfGridAxes (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Orientation & GriddedDataPdu::getOrientation (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Orientation & GriddedDataPdu::getOrientation (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short GriddedDataPdu::getPadding1 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char GriddedDataPdu::getPadding2 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short GriddedDataPdu::getPduNumber (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short GriddedDataPdu::getPduTotal (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
long GriddedDataPdu::getSampleTime (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int GriddedDataPdu::getTotalValues (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char GriddedDataPdu::getVectorDimension (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void GriddedDataPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SyntheticEnvironmentFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool GriddedDataPdu::operator== (const GriddedDataPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void GriddedDataPdu::setConstantGrid (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void GriddedDataPdu::setCoordinateSystem (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void GriddedDataPdu::setEnvironmentalSimulationApplicationID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void GriddedDataPdu::setEnvironmentType (const EntityType pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void GriddedDataPdu::setFieldNumber (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void GriddedDataPdu::setGridDataList (const std::vector< GridAxisRecord > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void GriddedDataPdu::setOrientation (const Orientation pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void GriddedDataPdu::setPadding1 (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void GriddedDataPdu::setPadding2 (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void GriddedDataPdu::setPduNumber (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void GriddedDataPdu::setPduTotal (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void GriddedDataPdu::setSampleTime (long  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void GriddedDataPdu::setTotalValues (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void GriddedDataPdu::setVectorDimension (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void GriddedDataPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SyntheticEnvironmentFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned char DIS::GriddedDataPdu::_constantGrid [protected]
+
+
+ +

+are domain grid axes identidal to those of the priveious domain update? +

+

+ +

+
+ + + + +
unsigned short DIS::GriddedDataPdu::_coordinateSystem [protected]
+
+
+ +

+coordinate system of the grid +

+

+ +

+ +
+ +

+environmental simulation application ID +

+

+ +

+ +
+ +

+type of environment +

+

+ +

+
+ + + + +
unsigned short DIS::GriddedDataPdu::_fieldNumber [protected]
+
+
+ +

+unique identifier for each piece of enviornmental data +

+

+ +

+
+ + + + +
std::vector<GridAxisRecord> DIS::GriddedDataPdu::_gridDataList [protected]
+
+
+ +

+Grid data ^^^This is wrong +

+

+ +

+
+ + + + +
unsigned char DIS::GriddedDataPdu::_numberOfGridAxes [protected]
+
+
+ +

+number of grid axes for the environmental data +

+

+ +

+ +
+ +

+orientation of the data grid +

+

+ +

+
+ + + + +
unsigned short DIS::GriddedDataPdu::_padding1 [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
unsigned char DIS::GriddedDataPdu::_padding2 [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
unsigned short DIS::GriddedDataPdu::_pduNumber [protected]
+
+
+ +

+sequence number for the total set of PDUS used to transmit the data +

+

+ +

+
+ + + + +
unsigned short DIS::GriddedDataPdu::_pduTotal [protected]
+
+
+ +

+Total number of PDUS used to transmit the data +

+

+ +

+
+ + + + +
long DIS::GriddedDataPdu::_sampleTime [protected]
+
+
+ +

+valid time of the enviormental data sample, 64 bit unsigned int +

+

+ +

+
+ + + + +
unsigned int DIS::GriddedDataPdu::_totalValues [protected]
+
+
+ +

+total number of all data values for all pdus for an environmental sample +

+

+ +

+
+ + + + +
unsigned char DIS::GriddedDataPdu::_vectorDimension [protected]
+
+
+ +

+total number of data values at each grid point. +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_gridded_data_pdu.png b/cpp/docs/html/class_d_i_s_1_1_gridded_data_pdu.png new file mode 100644 index 00000000..4bc24354 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_gridded_data_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_iff_atc_nav_aids_layer1_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_iff_atc_nav_aids_layer1_pdu-members.html new file mode 100644 index 00000000..696e859b --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_iff_atc_nav_aids_layer1_pdu-members.html @@ -0,0 +1,88 @@ + + +open-dis: Member List + + + + + +
+

DIS::IffAtcNavAidsLayer1Pdu Member List

This is the complete list of members for DIS::IffAtcNavAidsLayer1Pdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_emittingEntityIdDIS::IffAtcNavAidsLayer1Pdu [protected]
_eventIDDIS::IffAtcNavAidsLayer1Pdu [protected]
_exerciseIDDIS::Pdu [protected]
_fundamentalParametersDIS::IffAtcNavAidsLayer1Pdu [protected]
_lengthDIS::Pdu [protected]
_locationDIS::IffAtcNavAidsLayer1Pdu [protected]
_pad2DIS::IffAtcNavAidsLayer1Pdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_systemIDDIS::IffAtcNavAidsLayer1Pdu [protected]
_timestampDIS::Pdu [protected]
DistributedEmissionsFamilyPdu()DIS::DistributedEmissionsFamilyPdu
getEmittingEntityId()DIS::IffAtcNavAidsLayer1Pdu
getEmittingEntityId() const DIS::IffAtcNavAidsLayer1Pdu
getEventID()DIS::IffAtcNavAidsLayer1Pdu
getEventID() const DIS::IffAtcNavAidsLayer1Pdu
getExerciseID() const DIS::Pdu
getFundamentalParameters()DIS::IffAtcNavAidsLayer1Pdu
getFundamentalParameters() const DIS::IffAtcNavAidsLayer1Pdu
getLength() const DIS::Pdu
getLocation()DIS::IffAtcNavAidsLayer1Pdu
getLocation() const DIS::IffAtcNavAidsLayer1Pdu
getMarshalledSize() const DIS::IffAtcNavAidsLayer1Pdu [virtual]
getPad2() const DIS::IffAtcNavAidsLayer1Pdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getSystemID()DIS::IffAtcNavAidsLayer1Pdu
getSystemID() const DIS::IffAtcNavAidsLayer1Pdu
getTimestamp() const DIS::Pdu
IffAtcNavAidsLayer1Pdu()DIS::IffAtcNavAidsLayer1Pdu
marshal(DataStream &dataStream) const DIS::IffAtcNavAidsLayer1Pdu [virtual]
operator==(const IffAtcNavAidsLayer1Pdu &rhs) const DIS::IffAtcNavAidsLayer1Pdu
DIS::DistributedEmissionsFamilyPdu::operator==(const DistributedEmissionsFamilyPdu &rhs) const DIS::DistributedEmissionsFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setEmittingEntityId(const EntityID &pX)DIS::IffAtcNavAidsLayer1Pdu
setEventID(const EventID &pX)DIS::IffAtcNavAidsLayer1Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setFundamentalParameters(const IffFundamentalData &pX)DIS::IffAtcNavAidsLayer1Pdu
setLength(unsigned short pX)DIS::Pdu
setLocation(const Vector3Float &pX)DIS::IffAtcNavAidsLayer1Pdu
setPad2(unsigned short pX)DIS::IffAtcNavAidsLayer1Pdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setSystemID(const SystemID &pX)DIS::IffAtcNavAidsLayer1Pdu
setTimestamp(unsigned int pX)DIS::Pdu
unmarshal(DataStream &dataStream)DIS::IffAtcNavAidsLayer1Pdu [virtual]
~DistributedEmissionsFamilyPdu()DIS::DistributedEmissionsFamilyPdu [virtual]
~IffAtcNavAidsLayer1Pdu()DIS::IffAtcNavAidsLayer1Pdu [virtual]
~Pdu()DIS::Pdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_iff_atc_nav_aids_layer1_pdu.html b/cpp/docs/html/class_d_i_s_1_1_iff_atc_nav_aids_layer1_pdu.html new file mode 100644 index 00000000..638176cf --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_iff_atc_nav_aids_layer1_pdu.html @@ -0,0 +1,668 @@ + + +open-dis: DIS::IffAtcNavAidsLayer1Pdu Class Reference + + + + + +
+

DIS::IffAtcNavAidsLayer1Pdu Class Reference

#include <IffAtcNavAidsLayer1Pdu.h> +

+

+Inheritance diagram for DIS::IffAtcNavAidsLayer1Pdu:
+
+ +

+ +DIS::DistributedEmissionsFamilyPdu +DIS::Pdu +DIS::IffAtcNavAidsLayer2Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 IffAtcNavAidsLayer1Pdu ()
virtual ~IffAtcNavAidsLayer1Pdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetEmittingEntityId ()
const EntityIDgetEmittingEntityId () const
void setEmittingEntityId (const EntityID &pX)
EventIDgetEventID ()
const EventIDgetEventID () const
void setEventID (const EventID &pX)
Vector3FloatgetLocation ()
const Vector3FloatgetLocation () const
void setLocation (const Vector3Float &pX)
SystemIDgetSystemID ()
const SystemIDgetSystemID () const
void setSystemID (const SystemID &pX)
unsigned short getPad2 () const
void setPad2 (unsigned short pX)
IffFundamentalDatagetFundamentalParameters ()
const IffFundamentalDatagetFundamentalParameters () const
void setFundamentalParameters (const IffFundamentalData &pX)
virtual int getMarshalledSize () const
bool operator== (const IffAtcNavAidsLayer1Pdu &rhs) const

Protected Attributes

EntityID _emittingEntityId
EventID _eventID
Vector3Float _location
SystemID _systemID
unsigned short _pad2
IffFundamentalData _fundamentalParameters
+


Detailed Description

+5.3.7.4.1: Navigational and IFF PDU. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
IffAtcNavAidsLayer1Pdu::IffAtcNavAidsLayer1Pdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
IffAtcNavAidsLayer1Pdu::~IffAtcNavAidsLayer1Pdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const EntityID & IffAtcNavAidsLayer1Pdu::getEmittingEntityId (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & IffAtcNavAidsLayer1Pdu::getEmittingEntityId (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EventID & IffAtcNavAidsLayer1Pdu::getEventID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EventID & IffAtcNavAidsLayer1Pdu::getEventID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const IffFundamentalData & IffAtcNavAidsLayer1Pdu::getFundamentalParameters (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
IffFundamentalData & IffAtcNavAidsLayer1Pdu::getFundamentalParameters (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Vector3Float & IffAtcNavAidsLayer1Pdu::getLocation (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Float & IffAtcNavAidsLayer1Pdu::getLocation (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int IffAtcNavAidsLayer1Pdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::DistributedEmissionsFamilyPdu.

+ +

Reimplemented in DIS::IffAtcNavAidsLayer2Pdu.

+ +
+

+ +

+
+ + + + + + + + +
unsigned short IffAtcNavAidsLayer1Pdu::getPad2 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const SystemID & IffAtcNavAidsLayer1Pdu::getSystemID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
SystemID & IffAtcNavAidsLayer1Pdu::getSystemID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IffAtcNavAidsLayer1Pdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::DistributedEmissionsFamilyPdu.

+ +

Reimplemented in DIS::IffAtcNavAidsLayer2Pdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool IffAtcNavAidsLayer1Pdu::operator== (const IffAtcNavAidsLayer1Pdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IffAtcNavAidsLayer1Pdu::setEmittingEntityId (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IffAtcNavAidsLayer1Pdu::setEventID (const EventID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IffAtcNavAidsLayer1Pdu::setFundamentalParameters (const IffFundamentalData pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IffAtcNavAidsLayer1Pdu::setLocation (const Vector3Float pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IffAtcNavAidsLayer1Pdu::setPad2 (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IffAtcNavAidsLayer1Pdu::setSystemID (const SystemID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IffAtcNavAidsLayer1Pdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::DistributedEmissionsFamilyPdu.

+ +

Reimplemented in DIS::IffAtcNavAidsLayer2Pdu.

+ +
+

+


Member Data Documentation

+ +
+ +
+ +

+ID of the entity that is the source of the emissions +

+

+ +

+ +
+ +

+Number generated by the issuing simulation to associate realted events. +

+

+ +

+ +
+ +

+fundamental parameters +

+

+ +

+ +
+ +

+Location wrt entity. There is some ambugiuity in the standard here, but this is the order it is listed in the table. +

+

+ +

+
+ + + + +
unsigned short DIS::IffAtcNavAidsLayer1Pdu::_pad2 [protected]
+
+
+ +

+padding +

+

+ +

+ +
+ +

+System ID information +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_iff_atc_nav_aids_layer1_pdu.png b/cpp/docs/html/class_d_i_s_1_1_iff_atc_nav_aids_layer1_pdu.png new file mode 100644 index 00000000..2c34de94 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_iff_atc_nav_aids_layer1_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_iff_atc_nav_aids_layer2_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_iff_atc_nav_aids_layer2_pdu-members.html new file mode 100644 index 00000000..adb55d81 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_iff_atc_nav_aids_layer2_pdu-members.html @@ -0,0 +1,107 @@ + + +open-dis: Member List + + + + + +
+

DIS::IffAtcNavAidsLayer2Pdu Member List

This is the complete list of members for DIS::IffAtcNavAidsLayer2Pdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_beamDataDIS::IffAtcNavAidsLayer2Pdu [protected]
_emittingEntityIdDIS::IffAtcNavAidsLayer1Pdu [protected]
_eventIDDIS::IffAtcNavAidsLayer1Pdu [protected]
_exerciseIDDIS::Pdu [protected]
_fundamentalIffParametersDIS::IffAtcNavAidsLayer2Pdu [protected]
_fundamentalParametersDIS::IffAtcNavAidsLayer1Pdu [protected]
_layerHeaderDIS::IffAtcNavAidsLayer2Pdu [protected]
_lengthDIS::Pdu [protected]
_locationDIS::IffAtcNavAidsLayer1Pdu [protected]
_pad2DIS::IffAtcNavAidsLayer1Pdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_secondaryOperationalDataDIS::IffAtcNavAidsLayer2Pdu [protected]
_systemIDDIS::IffAtcNavAidsLayer1Pdu [protected]
_timestampDIS::Pdu [protected]
DistributedEmissionsFamilyPdu()DIS::DistributedEmissionsFamilyPdu
getBeamData()DIS::IffAtcNavAidsLayer2Pdu
getBeamData() const DIS::IffAtcNavAidsLayer2Pdu
getEmittingEntityId()DIS::IffAtcNavAidsLayer1Pdu
getEmittingEntityId() const DIS::IffAtcNavAidsLayer1Pdu
getEventID()DIS::IffAtcNavAidsLayer1Pdu
getEventID() const DIS::IffAtcNavAidsLayer1Pdu
getExerciseID() const DIS::Pdu
getFundamentalIffParameters()DIS::IffAtcNavAidsLayer2Pdu
getFundamentalIffParameters() const DIS::IffAtcNavAidsLayer2Pdu
getFundamentalParameters()DIS::IffAtcNavAidsLayer1Pdu
getFundamentalParameters() const DIS::IffAtcNavAidsLayer1Pdu
getLayerHeader()DIS::IffAtcNavAidsLayer2Pdu
getLayerHeader() const DIS::IffAtcNavAidsLayer2Pdu
getLength() const DIS::Pdu
getLocation()DIS::IffAtcNavAidsLayer1Pdu
getLocation() const DIS::IffAtcNavAidsLayer1Pdu
getMarshalledSize() const DIS::IffAtcNavAidsLayer2Pdu [virtual]
getPad2() const DIS::IffAtcNavAidsLayer1Pdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getSecondaryOperationalData()DIS::IffAtcNavAidsLayer2Pdu
getSecondaryOperationalData() const DIS::IffAtcNavAidsLayer2Pdu
getSystemID()DIS::IffAtcNavAidsLayer1Pdu
getSystemID() const DIS::IffAtcNavAidsLayer1Pdu
getTimestamp() const DIS::Pdu
IffAtcNavAidsLayer1Pdu()DIS::IffAtcNavAidsLayer1Pdu
IffAtcNavAidsLayer2Pdu()DIS::IffAtcNavAidsLayer2Pdu
marshal(DataStream &dataStream) const DIS::IffAtcNavAidsLayer2Pdu [virtual]
operator==(const IffAtcNavAidsLayer2Pdu &rhs) const DIS::IffAtcNavAidsLayer2Pdu
DIS::IffAtcNavAidsLayer1Pdu::operator==(const IffAtcNavAidsLayer1Pdu &rhs) const DIS::IffAtcNavAidsLayer1Pdu
DIS::DistributedEmissionsFamilyPdu::operator==(const DistributedEmissionsFamilyPdu &rhs) const DIS::DistributedEmissionsFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setBeamData(const BeamData &pX)DIS::IffAtcNavAidsLayer2Pdu
setEmittingEntityId(const EntityID &pX)DIS::IffAtcNavAidsLayer1Pdu
setEventID(const EventID &pX)DIS::IffAtcNavAidsLayer1Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setFundamentalIffParameters(const std::vector< FundamentalParameterDataIff > &pX)DIS::IffAtcNavAidsLayer2Pdu
setFundamentalParameters(const IffFundamentalData &pX)DIS::IffAtcNavAidsLayer1Pdu
setLayerHeader(const LayerHeader &pX)DIS::IffAtcNavAidsLayer2Pdu
setLength(unsigned short pX)DIS::Pdu
setLocation(const Vector3Float &pX)DIS::IffAtcNavAidsLayer1Pdu
setPad2(unsigned short pX)DIS::IffAtcNavAidsLayer1Pdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setSecondaryOperationalData(const BeamData &pX)DIS::IffAtcNavAidsLayer2Pdu
setSystemID(const SystemID &pX)DIS::IffAtcNavAidsLayer1Pdu
setTimestamp(unsigned int pX)DIS::Pdu
unmarshal(DataStream &dataStream)DIS::IffAtcNavAidsLayer2Pdu [virtual]
~DistributedEmissionsFamilyPdu()DIS::DistributedEmissionsFamilyPdu [virtual]
~IffAtcNavAidsLayer1Pdu()DIS::IffAtcNavAidsLayer1Pdu [virtual]
~IffAtcNavAidsLayer2Pdu()DIS::IffAtcNavAidsLayer2Pdu [virtual]
~Pdu()DIS::Pdu [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_iff_atc_nav_aids_layer2_pdu.html b/cpp/docs/html/class_d_i_s_1_1_iff_atc_nav_aids_layer2_pdu.html new file mode 100644 index 00000000..96806245 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_iff_atc_nav_aids_layer2_pdu.html @@ -0,0 +1,524 @@ + + +open-dis: DIS::IffAtcNavAidsLayer2Pdu Class Reference + + + + + +
+

DIS::IffAtcNavAidsLayer2Pdu Class Reference

#include <IffAtcNavAidsLayer2Pdu.h> +

+

+Inheritance diagram for DIS::IffAtcNavAidsLayer2Pdu:
+
+ +

+ +DIS::IffAtcNavAidsLayer1Pdu +DIS::DistributedEmissionsFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 IffAtcNavAidsLayer2Pdu ()
virtual ~IffAtcNavAidsLayer2Pdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
LayerHeadergetLayerHeader ()
const LayerHeadergetLayerHeader () const
void setLayerHeader (const LayerHeader &pX)
BeamDatagetBeamData ()
const BeamDatagetBeamData () const
void setBeamData (const BeamData &pX)
BeamDatagetSecondaryOperationalData ()
const BeamDatagetSecondaryOperationalData () const
void setSecondaryOperationalData (const BeamData &pX)
std::vector
+< FundamentalParameterDataIff > & 
getFundamentalIffParameters ()
const std::vector
+< FundamentalParameterDataIff > & 
getFundamentalIffParameters () const
void setFundamentalIffParameters (const std::vector< FundamentalParameterDataIff > &pX)
virtual int getMarshalledSize () const
bool operator== (const IffAtcNavAidsLayer2Pdu &rhs) const

Protected Attributes

LayerHeader _layerHeader
BeamData _beamData
BeamData _secondaryOperationalData
std::vector
+< FundamentalParameterDataIff
_fundamentalIffParameters
+


Detailed Description

+Section 5.3.7.4.2 When present, layer 2 should follow layer 1 and have the following fields. This requires manual cleanup. the beamData attribute semantics are used in multiple ways. UNFINSISHED

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
IffAtcNavAidsLayer2Pdu::IffAtcNavAidsLayer2Pdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
IffAtcNavAidsLayer2Pdu::~IffAtcNavAidsLayer2Pdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const BeamData & IffAtcNavAidsLayer2Pdu::getBeamData (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
BeamData & IffAtcNavAidsLayer2Pdu::getBeamData (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< FundamentalParameterDataIff > & IffAtcNavAidsLayer2Pdu::getFundamentalIffParameters (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< FundamentalParameterDataIff > & IffAtcNavAidsLayer2Pdu::getFundamentalIffParameters (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const LayerHeader & IffAtcNavAidsLayer2Pdu::getLayerHeader (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
LayerHeader & IffAtcNavAidsLayer2Pdu::getLayerHeader (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int IffAtcNavAidsLayer2Pdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::IffAtcNavAidsLayer1Pdu.

+ +
+

+ +

+
+ + + + + + + + +
const BeamData & IffAtcNavAidsLayer2Pdu::getSecondaryOperationalData (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
BeamData & IffAtcNavAidsLayer2Pdu::getSecondaryOperationalData (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IffAtcNavAidsLayer2Pdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::IffAtcNavAidsLayer1Pdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool IffAtcNavAidsLayer2Pdu::operator== (const IffAtcNavAidsLayer2Pdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IffAtcNavAidsLayer2Pdu::setBeamData (const BeamData pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IffAtcNavAidsLayer2Pdu::setFundamentalIffParameters (const std::vector< FundamentalParameterDataIff > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IffAtcNavAidsLayer2Pdu::setLayerHeader (const LayerHeader pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IffAtcNavAidsLayer2Pdu::setSecondaryOperationalData (const BeamData pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IffAtcNavAidsLayer2Pdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::IffAtcNavAidsLayer1Pdu.

+ +
+

+


Member Data Documentation

+ +
+ +
+ +

+beam data +

+

+ +

+ +
+ +

+variable length list of fundamental parameters. ^^^This is wrong +

+

+ +

+ +
+ +

+layer header +

+

+ +

+ +
+ +

+Secondary operational data, 5.2.57 +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_iff_atc_nav_aids_layer2_pdu.png b/cpp/docs/html/class_d_i_s_1_1_iff_atc_nav_aids_layer2_pdu.png new file mode 100644 index 00000000..7c0e37c9 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_iff_atc_nav_aids_layer2_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_iff_fundamental_data-members.html b/cpp/docs/html/class_d_i_s_1_1_iff_fundamental_data-members.html new file mode 100644 index 00000000..54dd619a --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_iff_fundamental_data-members.html @@ -0,0 +1,68 @@ + + +open-dis: Member List + + + + + +
+

DIS::IffFundamentalData Member List

This is the complete list of members for DIS::IffFundamentalData, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_alternateParameter4DIS::IffFundamentalData [protected]
_informationLayersDIS::IffFundamentalData [protected]
_modifierDIS::IffFundamentalData [protected]
_parameter1DIS::IffFundamentalData [protected]
_parameter2DIS::IffFundamentalData [protected]
_parameter3DIS::IffFundamentalData [protected]
_parameter4DIS::IffFundamentalData [protected]
_parameter5DIS::IffFundamentalData [protected]
_parameter6DIS::IffFundamentalData [protected]
_systemStatusDIS::IffFundamentalData [protected]
getAlternateParameter4() const DIS::IffFundamentalData
getInformationLayers() const DIS::IffFundamentalData
getMarshalledSize() const DIS::IffFundamentalData [virtual]
getModifier() const DIS::IffFundamentalData
getParameter1() const DIS::IffFundamentalData
getParameter2() const DIS::IffFundamentalData
getParameter3() const DIS::IffFundamentalData
getParameter4() const DIS::IffFundamentalData
getParameter5() const DIS::IffFundamentalData
getParameter6() const DIS::IffFundamentalData
getSystemStatus() const DIS::IffFundamentalData
IffFundamentalData()DIS::IffFundamentalData
marshal(DataStream &dataStream) const DIS::IffFundamentalData [virtual]
operator==(const IffFundamentalData &rhs) const DIS::IffFundamentalData
setAlternateParameter4(unsigned char pX)DIS::IffFundamentalData
setInformationLayers(unsigned char pX)DIS::IffFundamentalData
setModifier(unsigned char pX)DIS::IffFundamentalData
setParameter1(unsigned short pX)DIS::IffFundamentalData
setParameter2(unsigned short pX)DIS::IffFundamentalData
setParameter3(unsigned short pX)DIS::IffFundamentalData
setParameter4(unsigned short pX)DIS::IffFundamentalData
setParameter5(unsigned short pX)DIS::IffFundamentalData
setParameter6(unsigned short pX)DIS::IffFundamentalData
setSystemStatus(unsigned char pX)DIS::IffFundamentalData
unmarshal(DataStream &dataStream)DIS::IffFundamentalData [virtual]
~IffFundamentalData()DIS::IffFundamentalData [virtual]

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_iff_fundamental_data.html b/cpp/docs/html/class_d_i_s_1_1_iff_fundamental_data.html new file mode 100644 index 00000000..82add630 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_iff_fundamental_data.html @@ -0,0 +1,780 @@ + + +open-dis: DIS::IffFundamentalData Class Reference + + + + + +
+

DIS::IffFundamentalData Class Reference

#include <IffFundamentalData.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 IffFundamentalData ()
virtual ~IffFundamentalData ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned char getSystemStatus () const
void setSystemStatus (unsigned char pX)
unsigned char getAlternateParameter4 () const
void setAlternateParameter4 (unsigned char pX)
unsigned char getInformationLayers () const
void setInformationLayers (unsigned char pX)
unsigned char getModifier () const
void setModifier (unsigned char pX)
unsigned short getParameter1 () const
void setParameter1 (unsigned short pX)
unsigned short getParameter2 () const
void setParameter2 (unsigned short pX)
unsigned short getParameter3 () const
void setParameter3 (unsigned short pX)
unsigned short getParameter4 () const
void setParameter4 (unsigned short pX)
unsigned short getParameter5 () const
void setParameter5 (unsigned short pX)
unsigned short getParameter6 () const
void setParameter6 (unsigned short pX)
virtual int getMarshalledSize () const
bool operator== (const IffFundamentalData &rhs) const

Protected Attributes

unsigned char _systemStatus
unsigned char _alternateParameter4
unsigned char _informationLayers
unsigned char _modifier
unsigned short _parameter1
unsigned short _parameter2
unsigned short _parameter3
unsigned short _parameter4
unsigned short _parameter5
unsigned short _parameter6
+


Detailed Description

+5.2.42. Basic operational data ofr IFF ATC NAVAIDS

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
IffFundamentalData::IffFundamentalData (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
IffFundamentalData::~IffFundamentalData (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned char IffFundamentalData::getAlternateParameter4 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char IffFundamentalData::getInformationLayers (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int IffFundamentalData::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char IffFundamentalData::getModifier (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short IffFundamentalData::getParameter1 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short IffFundamentalData::getParameter2 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short IffFundamentalData::getParameter3 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short IffFundamentalData::getParameter4 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short IffFundamentalData::getParameter5 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short IffFundamentalData::getParameter6 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char IffFundamentalData::getSystemStatus (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IffFundamentalData::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool IffFundamentalData::operator== (const IffFundamentalData rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IffFundamentalData::setAlternateParameter4 (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IffFundamentalData::setInformationLayers (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IffFundamentalData::setModifier (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IffFundamentalData::setParameter1 (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IffFundamentalData::setParameter2 (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IffFundamentalData::setParameter3 (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IffFundamentalData::setParameter4 (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IffFundamentalData::setParameter5 (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IffFundamentalData::setParameter6 (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IffFundamentalData::setSystemStatus (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IffFundamentalData::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned char DIS::IffFundamentalData::_alternateParameter4 [protected]
+
+
+ +

+Alternate parameter 4 +

+

+ +

+
+ + + + +
unsigned char DIS::IffFundamentalData::_informationLayers [protected]
+
+
+ +

+eight boolean fields +

+

+ +

+
+ + + + +
unsigned char DIS::IffFundamentalData::_modifier [protected]
+
+
+ +

+enumeration +

+

+ +

+
+ + + + +
unsigned short DIS::IffFundamentalData::_parameter1 [protected]
+
+
+ +

+parameter, enumeration +

+

+ +

+
+ + + + +
unsigned short DIS::IffFundamentalData::_parameter2 [protected]
+
+
+ +

+parameter, enumeration +

+

+ +

+
+ + + + +
unsigned short DIS::IffFundamentalData::_parameter3 [protected]
+
+
+ +

+parameter, enumeration +

+

+ +

+
+ + + + +
unsigned short DIS::IffFundamentalData::_parameter4 [protected]
+
+
+ +

+parameter, enumeration +

+

+ +

+
+ + + + +
unsigned short DIS::IffFundamentalData::_parameter5 [protected]
+
+
+ +

+parameter, enumeration +

+

+ +

+
+ + + + +
unsigned short DIS::IffFundamentalData::_parameter6 [protected]
+
+
+ +

+parameter, enumeration +

+

+ +

+
+ + + + +
unsigned char DIS::IffFundamentalData::_systemStatus [protected]
+
+
+ +

+system status +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_intercom_communications_parameters-members.html b/cpp/docs/html/class_d_i_s_1_1_intercom_communications_parameters-members.html new file mode 100644 index 00000000..ec91e582 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_intercom_communications_parameters-members.html @@ -0,0 +1,47 @@ + + +open-dis: Member List + + + + + + +
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_intercom_communications_parameters.html b/cpp/docs/html/class_d_i_s_1_1_intercom_communications_parameters.html new file mode 100644 index 00000000..77dba664 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_intercom_communications_parameters.html @@ -0,0 +1,360 @@ + + +open-dis: DIS::IntercomCommunicationsParameters Class Reference + + + + + +
+

DIS::IntercomCommunicationsParameters Class Reference

#include <IntercomCommunicationsParameters.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 IntercomCommunicationsParameters ()
virtual ~IntercomCommunicationsParameters ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned short getRecordType () const
void setRecordType (unsigned short pX)
unsigned short getRecordLength () const
void setRecordLength (unsigned short pX)
unsigned int getRecordSpecificField () const
void setRecordSpecificField (unsigned int pX)
virtual int getMarshalledSize () const
bool operator== (const IntercomCommunicationsParameters &rhs) const

Protected Attributes

unsigned short _recordType
unsigned short _recordLength
unsigned int _recordSpecificField
+


Detailed Description

+5.2.46. Intercom communcations parameters

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
IntercomCommunicationsParameters::IntercomCommunicationsParameters (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
IntercomCommunicationsParameters::~IntercomCommunicationsParameters (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int IntercomCommunicationsParameters::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short IntercomCommunicationsParameters::getRecordLength (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int IntercomCommunicationsParameters::getRecordSpecificField (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short IntercomCommunicationsParameters::getRecordType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IntercomCommunicationsParameters::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool IntercomCommunicationsParameters::operator== (const IntercomCommunicationsParameters rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IntercomCommunicationsParameters::setRecordLength (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IntercomCommunicationsParameters::setRecordSpecificField (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IntercomCommunicationsParameters::setRecordType (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IntercomCommunicationsParameters::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned short DIS::IntercomCommunicationsParameters::_recordLength [protected]
+
+
+ +

+length of record +

+

+ +

+ +
+ +

+Jerks. Looks like the committee is forcing a lookup of the record type parameter to find out how long the field is. This is a placeholder. +

+

+ +

+
+ + + + +
unsigned short DIS::IntercomCommunicationsParameters::_recordType [protected]
+
+
+ +

+Type of intercom parameters record +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_intercom_control_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_intercom_control_pdu-members.html new file mode 100644 index 00000000..feba66fe --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_intercom_control_pdu-members.html @@ -0,0 +1,110 @@ + + +open-dis: Member List + + + + + +
+

DIS::IntercomControlPdu Member List

This is the complete list of members for DIS::IntercomControlPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_commandDIS::IntercomControlPdu [protected]
_communicationsChannelTypeDIS::IntercomControlPdu [protected]
_controlTypeDIS::IntercomControlPdu [protected]
_entityIdDIS::RadioCommunicationsFamilyPdu [protected]
_exerciseIDDIS::Pdu [protected]
_intercomParametersDIS::IntercomControlPdu [protected]
_intercomParametersLengthDIS::IntercomControlPdu [protected]
_lengthDIS::Pdu [protected]
_masterCommunicationsDeviceIDDIS::IntercomControlPdu [protected]
_masterEntityIDDIS::IntercomControlPdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_radioIdDIS::RadioCommunicationsFamilyPdu [protected]
_sourceCommunicationsDeviceIDDIS::IntercomControlPdu [protected]
_sourceEntityIDDIS::IntercomControlPdu [protected]
_sourceLineIDDIS::IntercomControlPdu [protected]
_timestampDIS::Pdu [protected]
_transmitLineStateDIS::IntercomControlPdu [protected]
_transmitPriorityDIS::IntercomControlPdu [protected]
getCommand() const DIS::IntercomControlPdu
getCommunicationsChannelType() const DIS::IntercomControlPdu
getControlType() const DIS::IntercomControlPdu
getEntityId()DIS::RadioCommunicationsFamilyPdu
getEntityId() const DIS::RadioCommunicationsFamilyPdu
getExerciseID() const DIS::Pdu
getIntercomParameters()DIS::IntercomControlPdu
getIntercomParameters() const DIS::IntercomControlPdu
getIntercomParametersLength() const DIS::IntercomControlPdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::IntercomControlPdu [virtual]
getMasterCommunicationsDeviceID() const DIS::IntercomControlPdu
getMasterEntityID()DIS::IntercomControlPdu
getMasterEntityID() const DIS::IntercomControlPdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getRadioId() const DIS::RadioCommunicationsFamilyPdu
getSourceCommunicationsDeviceID() const DIS::IntercomControlPdu
getSourceEntityID()DIS::IntercomControlPdu
getSourceEntityID() const DIS::IntercomControlPdu
getSourceLineID() const DIS::IntercomControlPdu
getTimestamp() const DIS::Pdu
getTransmitLineState() const DIS::IntercomControlPdu
getTransmitPriority() const DIS::IntercomControlPdu
IntercomControlPdu()DIS::IntercomControlPdu
marshal(DataStream &dataStream) const DIS::IntercomControlPdu [virtual]
operator==(const IntercomControlPdu &rhs) const DIS::IntercomControlPdu
DIS::RadioCommunicationsFamilyPdu::operator==(const RadioCommunicationsFamilyPdu &rhs) const DIS::RadioCommunicationsFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
RadioCommunicationsFamilyPdu()DIS::RadioCommunicationsFamilyPdu
setCommand(unsigned char pX)DIS::IntercomControlPdu
setCommunicationsChannelType(unsigned char pX)DIS::IntercomControlPdu
setControlType(unsigned char pX)DIS::IntercomControlPdu
setEntityId(const EntityID &pX)DIS::RadioCommunicationsFamilyPdu
setExerciseID(unsigned char pX)DIS::Pdu
setIntercomParameters(const std::vector< IntercomCommunicationsParameters > &pX)DIS::IntercomControlPdu
setLength(unsigned short pX)DIS::Pdu
setMasterCommunicationsDeviceID(unsigned short pX)DIS::IntercomControlPdu
setMasterEntityID(const EntityID &pX)DIS::IntercomControlPdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setRadioId(unsigned short pX)DIS::RadioCommunicationsFamilyPdu
setSourceCommunicationsDeviceID(unsigned char pX)DIS::IntercomControlPdu
setSourceEntityID(const EntityID &pX)DIS::IntercomControlPdu
setSourceLineID(unsigned char pX)DIS::IntercomControlPdu
setTimestamp(unsigned int pX)DIS::Pdu
setTransmitLineState(unsigned char pX)DIS::IntercomControlPdu
setTransmitPriority(unsigned char pX)DIS::IntercomControlPdu
unmarshal(DataStream &dataStream)DIS::IntercomControlPdu [virtual]
~IntercomControlPdu()DIS::IntercomControlPdu [virtual]
~Pdu()DIS::Pdu [virtual]
~RadioCommunicationsFamilyPdu()DIS::RadioCommunicationsFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_intercom_control_pdu.html b/cpp/docs/html/class_d_i_s_1_1_intercom_control_pdu.html new file mode 100644 index 00000000..d4241c38 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_intercom_control_pdu.html @@ -0,0 +1,960 @@ + + +open-dis: DIS::IntercomControlPdu Class Reference + + + + + +
+

DIS::IntercomControlPdu Class Reference

#include <IntercomControlPdu.h> +

+

+Inheritance diagram for DIS::IntercomControlPdu:
+
+ +

+ +DIS::RadioCommunicationsFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 IntercomControlPdu ()
virtual ~IntercomControlPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned char getControlType () const
void setControlType (unsigned char pX)
unsigned char getCommunicationsChannelType () const
void setCommunicationsChannelType (unsigned char pX)
EntityIDgetSourceEntityID ()
const EntityIDgetSourceEntityID () const
void setSourceEntityID (const EntityID &pX)
unsigned char getSourceCommunicationsDeviceID () const
void setSourceCommunicationsDeviceID (unsigned char pX)
unsigned char getSourceLineID () const
void setSourceLineID (unsigned char pX)
unsigned char getTransmitPriority () const
void setTransmitPriority (unsigned char pX)
unsigned char getTransmitLineState () const
void setTransmitLineState (unsigned char pX)
unsigned char getCommand () const
void setCommand (unsigned char pX)
EntityIDgetMasterEntityID ()
const EntityIDgetMasterEntityID () const
void setMasterEntityID (const EntityID &pX)
unsigned short getMasterCommunicationsDeviceID () const
void setMasterCommunicationsDeviceID (unsigned short pX)
unsigned int getIntercomParametersLength () const
std::vector
+< IntercomCommunicationsParameters > & 
getIntercomParameters ()
const std::vector
+< IntercomCommunicationsParameters > & 
getIntercomParameters () const
void setIntercomParameters (const std::vector< IntercomCommunicationsParameters > &pX)
virtual int getMarshalledSize () const
bool operator== (const IntercomControlPdu &rhs) const

Protected Attributes

unsigned char _controlType
unsigned char _communicationsChannelType
EntityID _sourceEntityID
unsigned char _sourceCommunicationsDeviceID
unsigned char _sourceLineID
unsigned char _transmitPriority
unsigned char _transmitLineState
unsigned char _command
EntityID _masterEntityID
unsigned short _masterCommunicationsDeviceID
unsigned int _intercomParametersLength
std::vector
+< IntercomCommunicationsParameters
_intercomParameters
+


Detailed Description

+Section 5.3.8.5. Detailed inofrmation about the state of an intercom device and the actions it is requestion of another intercom device, or the response to a requested action. Required manual intervention to fix the intercom parameters, which can be of varialbe length. UNFINSISHED

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
IntercomControlPdu::IntercomControlPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
IntercomControlPdu::~IntercomControlPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned char IntercomControlPdu::getCommand (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char IntercomControlPdu::getCommunicationsChannelType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char IntercomControlPdu::getControlType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< IntercomCommunicationsParameters > & IntercomControlPdu::getIntercomParameters (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< IntercomCommunicationsParameters > & IntercomControlPdu::getIntercomParameters (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int IntercomControlPdu::getIntercomParametersLength (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int IntercomControlPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::RadioCommunicationsFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
unsigned short IntercomControlPdu::getMasterCommunicationsDeviceID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & IntercomControlPdu::getMasterEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & IntercomControlPdu::getMasterEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char IntercomControlPdu::getSourceCommunicationsDeviceID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & IntercomControlPdu::getSourceEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & IntercomControlPdu::getSourceEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char IntercomControlPdu::getSourceLineID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char IntercomControlPdu::getTransmitLineState (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char IntercomControlPdu::getTransmitPriority (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IntercomControlPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::RadioCommunicationsFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool IntercomControlPdu::operator== (const IntercomControlPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IntercomControlPdu::setCommand (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IntercomControlPdu::setCommunicationsChannelType (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IntercomControlPdu::setControlType (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IntercomControlPdu::setIntercomParameters (const std::vector< IntercomCommunicationsParameters > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IntercomControlPdu::setMasterCommunicationsDeviceID (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IntercomControlPdu::setMasterEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IntercomControlPdu::setSourceCommunicationsDeviceID (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IntercomControlPdu::setSourceEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IntercomControlPdu::setSourceLineID (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IntercomControlPdu::setTransmitLineState (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IntercomControlPdu::setTransmitPriority (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IntercomControlPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::RadioCommunicationsFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned char DIS::IntercomControlPdu::_command [protected]
+
+
+ +

+detailed type requested. +

+

+ +

+
+ + + + +
unsigned char DIS::IntercomControlPdu::_communicationsChannelType [protected]
+
+
+ +

+control type +

+

+ +

+
+ + + + +
unsigned char DIS::IntercomControlPdu::_controlType [protected]
+
+
+ +

+control type +

+

+ +

+ +
+ +

+^^^This is wrong--the length of the data field is variable. Using a long for now. +

+

+ +

+
+ + + + +
unsigned int DIS::IntercomControlPdu::_intercomParametersLength [protected]
+
+
+ +

+number of intercom parameters +

+

+ +

+
+ + + + +
unsigned short DIS::IntercomControlPdu::_masterCommunicationsDeviceID [protected]
+
+
+ +

+specific intercom device that has created this intercom channel +

+

+ +

+ +
+ +

+eid of the entity that has created this intercom channel. +

+

+ +

+
+ + + + +
unsigned char DIS::IntercomControlPdu::_sourceCommunicationsDeviceID [protected]
+
+
+ +

+The specific intercom device being simulated within an entity. +

+

+ +

+ +
+ +

+Source entity ID +

+

+ +

+
+ + + + +
unsigned char DIS::IntercomControlPdu::_sourceLineID [protected]
+
+
+ +

+Line number to which the intercom control refers +

+

+ +

+
+ + + + +
unsigned char DIS::IntercomControlPdu::_transmitLineState [protected]
+
+
+ +

+current transmit state of the line +

+

+ +

+
+ + + + +
unsigned char DIS::IntercomControlPdu::_transmitPriority [protected]
+
+
+ +

+priority of this message relative to transmissons from other intercom devices +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_intercom_control_pdu.png b/cpp/docs/html/class_d_i_s_1_1_intercom_control_pdu.png new file mode 100644 index 00000000..3c77889a Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_intercom_control_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_intercom_signal_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_intercom_signal_pdu-members.html new file mode 100644 index 00000000..01d6585e --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_intercom_signal_pdu-members.html @@ -0,0 +1,97 @@ + + +open-dis: Member List + + + + + +
+

DIS::IntercomSignalPdu Member List

This is the complete list of members for DIS::IntercomSignalPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_communicationsDeviceIDDIS::IntercomSignalPdu [protected]
_dataDIS::IntercomSignalPdu [protected]
_dataLengthDIS::IntercomSignalPdu [protected]
_encodingSchemeDIS::IntercomSignalPdu [protected]
_entityIDDIS::IntercomSignalPdu [protected]
_entityIdDIS::RadioCommunicationsFamilyPdu [protected]
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_radioIdDIS::RadioCommunicationsFamilyPdu [protected]
_sampleRateDIS::IntercomSignalPdu [protected]
_samplesDIS::IntercomSignalPdu [protected]
_tdlTypeDIS::IntercomSignalPdu [protected]
_timestampDIS::Pdu [protected]
getCommunicationsDeviceID() const DIS::IntercomSignalPdu
getData()DIS::IntercomSignalPdu
getData() const DIS::IntercomSignalPdu
getDataLength() const DIS::IntercomSignalPdu
getEncodingScheme() const DIS::IntercomSignalPdu
getEntityId()DIS::RadioCommunicationsFamilyPdu
getEntityId() const DIS::RadioCommunicationsFamilyPdu
getEntityID()DIS::IntercomSignalPdu
getEntityID() const DIS::IntercomSignalPdu
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::IntercomSignalPdu [virtual]
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getRadioId() const DIS::RadioCommunicationsFamilyPdu
getSampleRate() const DIS::IntercomSignalPdu
getSamples() const DIS::IntercomSignalPdu
getTdlType() const DIS::IntercomSignalPdu
getTimestamp() const DIS::Pdu
IntercomSignalPdu()DIS::IntercomSignalPdu
marshal(DataStream &dataStream) const DIS::IntercomSignalPdu [virtual]
operator==(const IntercomSignalPdu &rhs) const DIS::IntercomSignalPdu
DIS::RadioCommunicationsFamilyPdu::operator==(const RadioCommunicationsFamilyPdu &rhs) const DIS::RadioCommunicationsFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
RadioCommunicationsFamilyPdu()DIS::RadioCommunicationsFamilyPdu
setCommunicationsDeviceID(unsigned short pX)DIS::IntercomSignalPdu
setData(const std::vector< OneByteChunk > &pX)DIS::IntercomSignalPdu
setEncodingScheme(unsigned short pX)DIS::IntercomSignalPdu
setEntityId(const EntityID &pX)DIS::RadioCommunicationsFamilyPdu
setEntityID(const EntityID &pX)DIS::IntercomSignalPdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setRadioId(unsigned short pX)DIS::RadioCommunicationsFamilyPdu
setSampleRate(unsigned int pX)DIS::IntercomSignalPdu
setSamples(unsigned short pX)DIS::IntercomSignalPdu
setTdlType(unsigned short pX)DIS::IntercomSignalPdu
setTimestamp(unsigned int pX)DIS::Pdu
unmarshal(DataStream &dataStream)DIS::IntercomSignalPdu [virtual]
~IntercomSignalPdu()DIS::IntercomSignalPdu [virtual]
~Pdu()DIS::Pdu [virtual]
~RadioCommunicationsFamilyPdu()DIS::RadioCommunicationsFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_intercom_signal_pdu.html b/cpp/docs/html/class_d_i_s_1_1_intercom_signal_pdu.html new file mode 100644 index 00000000..b10e834c --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_intercom_signal_pdu.html @@ -0,0 +1,696 @@ + + +open-dis: DIS::IntercomSignalPdu Class Reference + + + + + +
+

DIS::IntercomSignalPdu Class Reference

#include <IntercomSignalPdu.h> +

+

+Inheritance diagram for DIS::IntercomSignalPdu:
+
+ +

+ +DIS::RadioCommunicationsFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 IntercomSignalPdu ()
virtual ~IntercomSignalPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetEntityID ()
const EntityIDgetEntityID () const
void setEntityID (const EntityID &pX)
unsigned short getCommunicationsDeviceID () const
void setCommunicationsDeviceID (unsigned short pX)
unsigned short getEncodingScheme () const
void setEncodingScheme (unsigned short pX)
unsigned short getTdlType () const
void setTdlType (unsigned short pX)
unsigned int getSampleRate () const
void setSampleRate (unsigned int pX)
unsigned short getDataLength () const
unsigned short getSamples () const
void setSamples (unsigned short pX)
std::vector< OneByteChunk > & getData ()
const std::vector< OneByteChunk > & getData () const
void setData (const std::vector< OneByteChunk > &pX)
virtual int getMarshalledSize () const
bool operator== (const IntercomSignalPdu &rhs) const

Protected Attributes

EntityID _entityID
unsigned short _communicationsDeviceID
unsigned short _encodingScheme
unsigned short _tdlType
unsigned int _sampleRate
unsigned short _dataLength
unsigned short _samples
std::vector< OneByteChunk_data
+


Detailed Description

+Section 5.3.8.4. Actual transmission of intercome voice data. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
IntercomSignalPdu::IntercomSignalPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
IntercomSignalPdu::~IntercomSignalPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned short IntercomSignalPdu::getCommunicationsDeviceID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< OneByteChunk > & IntercomSignalPdu::getData (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< OneByteChunk > & IntercomSignalPdu::getData (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short IntercomSignalPdu::getDataLength (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short IntercomSignalPdu::getEncodingScheme (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & IntercomSignalPdu::getEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & IntercomSignalPdu::getEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int IntercomSignalPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::RadioCommunicationsFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
unsigned int IntercomSignalPdu::getSampleRate (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short IntercomSignalPdu::getSamples (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short IntercomSignalPdu::getTdlType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IntercomSignalPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::RadioCommunicationsFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool IntercomSignalPdu::operator== (const IntercomSignalPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IntercomSignalPdu::setCommunicationsDeviceID (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IntercomSignalPdu::setData (const std::vector< OneByteChunk > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IntercomSignalPdu::setEncodingScheme (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IntercomSignalPdu::setEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IntercomSignalPdu::setSampleRate (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IntercomSignalPdu::setSamples (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IntercomSignalPdu::setTdlType (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IntercomSignalPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::RadioCommunicationsFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned short DIS::IntercomSignalPdu::_communicationsDeviceID [protected]
+
+
+ +

+ID of communications device +

+

+ +

+
+ + + + +
std::vector<OneByteChunk> DIS::IntercomSignalPdu::_data [protected]
+
+
+ +

+data bytes +

+

+ +

+
+ + + + +
unsigned short DIS::IntercomSignalPdu::_dataLength [protected]
+
+
+ +

+data length +

+

+ +

+
+ + + + +
unsigned short DIS::IntercomSignalPdu::_encodingScheme [protected]
+
+
+ +

+encoding scheme +

+

+ +

+ +
+ +

+entity ID +

+

+ +

+
+ + + + +
unsigned int DIS::IntercomSignalPdu::_sampleRate [protected]
+
+
+ +

+sample rate +

+

+ +

+
+ + + + +
unsigned short DIS::IntercomSignalPdu::_samples [protected]
+
+
+ +

+samples +

+

+ +

+
+ + + + +
unsigned short DIS::IntercomSignalPdu::_tdlType [protected]
+
+
+ +

+tactical data link type +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_intercom_signal_pdu.png b/cpp/docs/html/class_d_i_s_1_1_intercom_signal_pdu.png new file mode 100644 index 00000000..8fbda80c Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_intercom_signal_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_is_group_of_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_is_group_of_pdu-members.html new file mode 100644 index 00000000..0223270c --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_is_group_of_pdu-members.html @@ -0,0 +1,87 @@ + + +open-dis: Member List + + + + + +
+

DIS::IsGroupOfPdu Member List

This is the complete list of members for DIS::IsGroupOfPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_groupedEntityCategoryDIS::IsGroupOfPdu [protected]
_groupedEntityDescriptionsDIS::IsGroupOfPdu [protected]
_groupEntityIDDIS::IsGroupOfPdu [protected]
_latitudeDIS::IsGroupOfPdu [protected]
_lengthDIS::Pdu [protected]
_longitudeDIS::IsGroupOfPdu [protected]
_numberOfGroupedEntitiesDIS::IsGroupOfPdu [protected]
_pad2DIS::IsGroupOfPdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_timestampDIS::Pdu [protected]
EntityManagementFamilyPdu()DIS::EntityManagementFamilyPdu
getExerciseID() const DIS::Pdu
getGroupedEntityCategory() const DIS::IsGroupOfPdu
getGroupedEntityDescriptions()DIS::IsGroupOfPdu
getGroupedEntityDescriptions() const DIS::IsGroupOfPdu
getGroupEntityID()DIS::IsGroupOfPdu
getGroupEntityID() const DIS::IsGroupOfPdu
getLatitude() const DIS::IsGroupOfPdu
getLength() const DIS::Pdu
getLongitude() const DIS::IsGroupOfPdu
getMarshalledSize() const DIS::IsGroupOfPdu [virtual]
getNumberOfGroupedEntities() const DIS::IsGroupOfPdu
getPad2() const DIS::IsGroupOfPdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getTimestamp() const DIS::Pdu
IsGroupOfPdu()DIS::IsGroupOfPdu
marshal(DataStream &dataStream) const DIS::IsGroupOfPdu [virtual]
operator==(const IsGroupOfPdu &rhs) const DIS::IsGroupOfPdu
DIS::EntityManagementFamilyPdu::operator==(const EntityManagementFamilyPdu &rhs) const DIS::EntityManagementFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setGroupedEntityCategory(unsigned char pX)DIS::IsGroupOfPdu
setGroupedEntityDescriptions(const std::vector< VariableDatum > &pX)DIS::IsGroupOfPdu
setGroupEntityID(const EntityID &pX)DIS::IsGroupOfPdu
setLatitude(double pX)DIS::IsGroupOfPdu
setLength(unsigned short pX)DIS::Pdu
setLongitude(double pX)DIS::IsGroupOfPdu
setPad2(unsigned int pX)DIS::IsGroupOfPdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setTimestamp(unsigned int pX)DIS::Pdu
unmarshal(DataStream &dataStream)DIS::IsGroupOfPdu [virtual]
~EntityManagementFamilyPdu()DIS::EntityManagementFamilyPdu [virtual]
~IsGroupOfPdu()DIS::IsGroupOfPdu [virtual]
~Pdu()DIS::Pdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_is_group_of_pdu.html b/cpp/docs/html/class_d_i_s_1_1_is_group_of_pdu.html new file mode 100644 index 00000000..4919dc0b --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_is_group_of_pdu.html @@ -0,0 +1,637 @@ + + +open-dis: DIS::IsGroupOfPdu Class Reference + + + + + +
+

DIS::IsGroupOfPdu Class Reference

#include <IsGroupOfPdu.h> +

+

+Inheritance diagram for DIS::IsGroupOfPdu:
+
+ +

+ +DIS::EntityManagementFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 IsGroupOfPdu ()
virtual ~IsGroupOfPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetGroupEntityID ()
const EntityIDgetGroupEntityID () const
void setGroupEntityID (const EntityID &pX)
unsigned char getGroupedEntityCategory () const
void setGroupedEntityCategory (unsigned char pX)
unsigned char getNumberOfGroupedEntities () const
unsigned int getPad2 () const
void setPad2 (unsigned int pX)
double getLatitude () const
void setLatitude (double pX)
double getLongitude () const
void setLongitude (double pX)
std::vector< VariableDatum > & getGroupedEntityDescriptions ()
const std::vector
+< VariableDatum > & 
getGroupedEntityDescriptions () const
void setGroupedEntityDescriptions (const std::vector< VariableDatum > &pX)
virtual int getMarshalledSize () const
bool operator== (const IsGroupOfPdu &rhs) const

Protected Attributes

EntityID _groupEntityID
unsigned char _groupedEntityCategory
unsigned char _numberOfGroupedEntities
unsigned int _pad2
double _latitude
double _longitude
std::vector< VariableDatum_groupedEntityDescriptions
+


Detailed Description

+Section 5.3.9.2 Information about a particular group of entities grouped together for the purposes of netowrk bandwidth reduction or aggregation. Needs manual cleanup. The GED size requires a database lookup. UNFINISHED

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
IsGroupOfPdu::IsGroupOfPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
IsGroupOfPdu::~IsGroupOfPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned char IsGroupOfPdu::getGroupedEntityCategory (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< VariableDatum > & IsGroupOfPdu::getGroupedEntityDescriptions (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< VariableDatum > & IsGroupOfPdu::getGroupedEntityDescriptions (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & IsGroupOfPdu::getGroupEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & IsGroupOfPdu::getGroupEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
double IsGroupOfPdu::getLatitude (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
double IsGroupOfPdu::getLongitude (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int IsGroupOfPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::EntityManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
unsigned char IsGroupOfPdu::getNumberOfGroupedEntities (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int IsGroupOfPdu::getPad2 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IsGroupOfPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::EntityManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool IsGroupOfPdu::operator== (const IsGroupOfPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IsGroupOfPdu::setGroupedEntityCategory (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IsGroupOfPdu::setGroupedEntityDescriptions (const std::vector< VariableDatum > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IsGroupOfPdu::setGroupEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IsGroupOfPdu::setLatitude (double  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IsGroupOfPdu::setLongitude (double  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IsGroupOfPdu::setPad2 (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IsGroupOfPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::EntityManagementFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned char DIS::IsGroupOfPdu::_groupedEntityCategory [protected]
+
+
+ +

+type of entities constituting the group +

+

+ +

+
+ + + + +
std::vector<VariableDatum> DIS::IsGroupOfPdu::_groupedEntityDescriptions [protected]
+
+
+ +

+GED records about each individual entity in the group. ^^^this is wrong--need a database lookup to find the actual size of the list elements +

+

+ +

+ +
+ +

+ID of aggregated entities +

+

+ +

+
+ + + + +
double DIS::IsGroupOfPdu::_latitude [protected]
+
+
+ +

+latitude +

+

+ +

+
+ + + + +
double DIS::IsGroupOfPdu::_longitude [protected]
+
+
+ +

+longitude +

+

+ +

+
+ + + + +
unsigned char DIS::IsGroupOfPdu::_numberOfGroupedEntities [protected]
+
+
+ +

+Number of individual entities constituting the group +

+

+ +

+
+ + + + +
unsigned int DIS::IsGroupOfPdu::_pad2 [protected]
+
+
+ +

+padding +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_is_group_of_pdu.png b/cpp/docs/html/class_d_i_s_1_1_is_group_of_pdu.png new file mode 100644 index 00000000..17e7e44b Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_is_group_of_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_is_part_of_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_is_part_of_pdu-members.html new file mode 100644 index 00000000..2a971532 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_is_part_of_pdu-members.html @@ -0,0 +1,89 @@ + + +open-dis: Member List + + + + + +
+

DIS::IsPartOfPdu Member List

This is the complete list of members for DIS::IsPartOfPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_namedLocationIDDIS::IsPartOfPdu [protected]
_orginatingEntityIDDIS::IsPartOfPdu [protected]
_paddingDIS::Pdu [protected]
_partEntityTypeDIS::IsPartOfPdu [protected]
_partLocationDIS::IsPartOfPdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingEntityIDDIS::IsPartOfPdu [protected]
_relationshipDIS::IsPartOfPdu [protected]
_timestampDIS::Pdu [protected]
EntityManagementFamilyPdu()DIS::EntityManagementFamilyPdu
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::IsPartOfPdu [virtual]
getNamedLocationID()DIS::IsPartOfPdu
getNamedLocationID() const DIS::IsPartOfPdu
getOrginatingEntityID()DIS::IsPartOfPdu
getOrginatingEntityID() const DIS::IsPartOfPdu
getPadding() const DIS::Pdu
getPartEntityType()DIS::IsPartOfPdu
getPartEntityType() const DIS::IsPartOfPdu
getPartLocation()DIS::IsPartOfPdu
getPartLocation() const DIS::IsPartOfPdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingEntityID()DIS::IsPartOfPdu
getReceivingEntityID() const DIS::IsPartOfPdu
getRelationship()DIS::IsPartOfPdu
getRelationship() const DIS::IsPartOfPdu
getTimestamp() const DIS::Pdu
IsPartOfPdu()DIS::IsPartOfPdu
marshal(DataStream &dataStream) const DIS::IsPartOfPdu [virtual]
operator==(const IsPartOfPdu &rhs) const DIS::IsPartOfPdu
DIS::EntityManagementFamilyPdu::operator==(const EntityManagementFamilyPdu &rhs) const DIS::EntityManagementFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setNamedLocationID(const NamedLocation &pX)DIS::IsPartOfPdu
setOrginatingEntityID(const EntityID &pX)DIS::IsPartOfPdu
setPadding(short pX)DIS::Pdu
setPartEntityType(const EntityType &pX)DIS::IsPartOfPdu
setPartLocation(const Vector3Float &pX)DIS::IsPartOfPdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingEntityID(const EntityID &pX)DIS::IsPartOfPdu
setRelationship(const Relationship &pX)DIS::IsPartOfPdu
setTimestamp(unsigned int pX)DIS::Pdu
unmarshal(DataStream &dataStream)DIS::IsPartOfPdu [virtual]
~EntityManagementFamilyPdu()DIS::EntityManagementFamilyPdu [virtual]
~IsPartOfPdu()DIS::IsPartOfPdu [virtual]
~Pdu()DIS::Pdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_is_part_of_pdu.html b/cpp/docs/html/class_d_i_s_1_1_is_part_of_pdu.html new file mode 100644 index 00000000..dc26caf4 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_is_part_of_pdu.html @@ -0,0 +1,682 @@ + + +open-dis: DIS::IsPartOfPdu Class Reference + + + + + +
+

DIS::IsPartOfPdu Class Reference

#include <IsPartOfPdu.h> +

+

+Inheritance diagram for DIS::IsPartOfPdu:
+
+ +

+ +DIS::EntityManagementFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 IsPartOfPdu ()
virtual ~IsPartOfPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetOrginatingEntityID ()
const EntityIDgetOrginatingEntityID () const
void setOrginatingEntityID (const EntityID &pX)
EntityIDgetReceivingEntityID ()
const EntityIDgetReceivingEntityID () const
void setReceivingEntityID (const EntityID &pX)
RelationshipgetRelationship ()
const RelationshipgetRelationship () const
void setRelationship (const Relationship &pX)
Vector3FloatgetPartLocation ()
const Vector3FloatgetPartLocation () const
void setPartLocation (const Vector3Float &pX)
NamedLocationgetNamedLocationID ()
const NamedLocationgetNamedLocationID () const
void setNamedLocationID (const NamedLocation &pX)
EntityTypegetPartEntityType ()
const EntityTypegetPartEntityType () const
void setPartEntityType (const EntityType &pX)
virtual int getMarshalledSize () const
bool operator== (const IsPartOfPdu &rhs) const

Protected Attributes

EntityID _orginatingEntityID
EntityID _receivingEntityID
Relationship _relationship
Vector3Float _partLocation
NamedLocation _namedLocationID
EntityType _partEntityType
+


Detailed Description

+Section 5.3.9.4 The joining of two or more simulation entities is communicated by this PDU. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
IsPartOfPdu::IsPartOfPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
IsPartOfPdu::~IsPartOfPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int IsPartOfPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::EntityManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
const NamedLocation & IsPartOfPdu::getNamedLocationID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
NamedLocation & IsPartOfPdu::getNamedLocationID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & IsPartOfPdu::getOrginatingEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & IsPartOfPdu::getOrginatingEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityType & IsPartOfPdu::getPartEntityType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityType & IsPartOfPdu::getPartEntityType (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Vector3Float & IsPartOfPdu::getPartLocation (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Float & IsPartOfPdu::getPartLocation (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & IsPartOfPdu::getReceivingEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & IsPartOfPdu::getReceivingEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Relationship & IsPartOfPdu::getRelationship (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Relationship & IsPartOfPdu::getRelationship (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IsPartOfPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::EntityManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool IsPartOfPdu::operator== (const IsPartOfPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IsPartOfPdu::setNamedLocationID (const NamedLocation pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IsPartOfPdu::setOrginatingEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IsPartOfPdu::setPartEntityType (const EntityType pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IsPartOfPdu::setPartLocation (const Vector3Float pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IsPartOfPdu::setReceivingEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IsPartOfPdu::setRelationship (const Relationship pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void IsPartOfPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::EntityManagementFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+ +
+ +

+named location +

+

+ +

+ +
+ +

+ID of entity originating PDU +

+

+ +

+ +
+ +

+entity type +

+

+ +

+ +
+ +

+location of part; centroid of part in host's coordinate system. x=range, y=bearing, z=0 +

+

+ +

+ +
+ +

+ID of entity receiving PDU +

+

+ +

+ +
+ +

+relationship of joined parts +

+

+


The documentation for this class was generated from the following files:
    +
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IsPartOfPdu.h
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IsPartOfPdu.cpp
+
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_is_part_of_pdu.png b/cpp/docs/html/class_d_i_s_1_1_is_part_of_pdu.png new file mode 100644 index 00000000..c3994dbe Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_is_part_of_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_layer_header-members.html b/cpp/docs/html/class_d_i_s_1_1_layer_header-members.html new file mode 100644 index 00000000..42929bf6 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_layer_header-members.html @@ -0,0 +1,47 @@ + + +open-dis: Member List + + + + + +
+

DIS::LayerHeader Member List

This is the complete list of members for DIS::LayerHeader, including all inherited members.

+ + + + + + + + + + + + + + + +
_layerNumberDIS::LayerHeader [protected]
_layerSpecificInformaitonDIS::LayerHeader [protected]
_lengthDIS::LayerHeader [protected]
getLayerNumber() const DIS::LayerHeader
getLayerSpecificInformaiton() const DIS::LayerHeader
getLength() const DIS::LayerHeader
getMarshalledSize() const DIS::LayerHeader [virtual]
LayerHeader()DIS::LayerHeader
marshal(DataStream &dataStream) const DIS::LayerHeader [virtual]
operator==(const LayerHeader &rhs) const DIS::LayerHeader
setLayerNumber(unsigned char pX)DIS::LayerHeader
setLayerSpecificInformaiton(unsigned char pX)DIS::LayerHeader
setLength(unsigned short pX)DIS::LayerHeader
unmarshal(DataStream &dataStream)DIS::LayerHeader [virtual]
~LayerHeader()DIS::LayerHeader [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_layer_header.html b/cpp/docs/html/class_d_i_s_1_1_layer_header.html new file mode 100644 index 00000000..34125c74 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_layer_header.html @@ -0,0 +1,360 @@ + + +open-dis: DIS::LayerHeader Class Reference + + + + + +
+

DIS::LayerHeader Class Reference

#include <LayerHeader.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 LayerHeader ()
virtual ~LayerHeader ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned char getLayerNumber () const
void setLayerNumber (unsigned char pX)
unsigned char getLayerSpecificInformaiton () const
void setLayerSpecificInformaiton (unsigned char pX)
unsigned short getLength () const
void setLength (unsigned short pX)
virtual int getMarshalledSize () const
bool operator== (const LayerHeader &rhs) const

Protected Attributes

unsigned char _layerNumber
unsigned char _layerSpecificInformaiton
unsigned short _length
+


Detailed Description

+5.2.47. Layer header.

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
LayerHeader::LayerHeader (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
LayerHeader::~LayerHeader (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned char LayerHeader::getLayerNumber (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char LayerHeader::getLayerSpecificInformaiton (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short LayerHeader::getLength (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int LayerHeader::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void LayerHeader::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool LayerHeader::operator== (const LayerHeader rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void LayerHeader::setLayerNumber (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void LayerHeader::setLayerSpecificInformaiton (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void LayerHeader::setLength (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void LayerHeader::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned char DIS::LayerHeader::_layerNumber [protected]
+
+
+ +

+Layer number +

+

+ +

+
+ + + + +
unsigned char DIS::LayerHeader::_layerSpecificInformaiton [protected]
+
+
+ +

+Layer speccific information enumeration +

+

+ +

+
+ + + + +
unsigned short DIS::LayerHeader::_length [protected]
+
+
+ +

+information length +

+

+


The documentation for this class was generated from the following files:
    +
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LayerHeader.h
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LayerHeader.cpp
+
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_linear_object_state_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_linear_object_state_pdu-members.html new file mode 100644 index 00000000..7c5e813c --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_linear_object_state_pdu-members.html @@ -0,0 +1,97 @@ + + +open-dis: Member List + + + + + +
+

DIS::LinearObjectStatePdu Member List

This is the complete list of members for DIS::LinearObjectStatePdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_forceIDDIS::LinearObjectStatePdu [protected]
_lengthDIS::Pdu [protected]
_linearSegmentParametersDIS::LinearObjectStatePdu [protected]
_numberOfSegmentsDIS::LinearObjectStatePdu [protected]
_objectIDDIS::LinearObjectStatePdu [protected]
_objectTypeDIS::LinearObjectStatePdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingIDDIS::LinearObjectStatePdu [protected]
_referencedObjectIDDIS::LinearObjectStatePdu [protected]
_requesterIDDIS::LinearObjectStatePdu [protected]
_timestampDIS::Pdu [protected]
_updateNumberDIS::LinearObjectStatePdu [protected]
getExerciseID() const DIS::Pdu
getForceID() const DIS::LinearObjectStatePdu
getLength() const DIS::Pdu
getLinearSegmentParameters()DIS::LinearObjectStatePdu
getLinearSegmentParameters() const DIS::LinearObjectStatePdu
getMarshalledSize() const DIS::LinearObjectStatePdu [virtual]
getNumberOfSegments() const DIS::LinearObjectStatePdu
getObjectID()DIS::LinearObjectStatePdu
getObjectID() const DIS::LinearObjectStatePdu
getObjectType()DIS::LinearObjectStatePdu
getObjectType() const DIS::LinearObjectStatePdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingID()DIS::LinearObjectStatePdu
getReceivingID() const DIS::LinearObjectStatePdu
getReferencedObjectID()DIS::LinearObjectStatePdu
getReferencedObjectID() const DIS::LinearObjectStatePdu
getRequesterID()DIS::LinearObjectStatePdu
getRequesterID() const DIS::LinearObjectStatePdu
getTimestamp() const DIS::Pdu
getUpdateNumber() const DIS::LinearObjectStatePdu
LinearObjectStatePdu()DIS::LinearObjectStatePdu
marshal(DataStream &dataStream) const DIS::LinearObjectStatePdu [virtual]
operator==(const LinearObjectStatePdu &rhs) const DIS::LinearObjectStatePdu
DIS::SyntheticEnvironmentFamilyPdu::operator==(const SyntheticEnvironmentFamilyPdu &rhs) const DIS::SyntheticEnvironmentFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setForceID(unsigned char pX)DIS::LinearObjectStatePdu
setLength(unsigned short pX)DIS::Pdu
setLinearSegmentParameters(const std::vector< LinearSegmentParameter > &pX)DIS::LinearObjectStatePdu
setObjectID(const EntityID &pX)DIS::LinearObjectStatePdu
setObjectType(const ObjectType &pX)DIS::LinearObjectStatePdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingID(const SimulationAddress &pX)DIS::LinearObjectStatePdu
setReferencedObjectID(const EntityID &pX)DIS::LinearObjectStatePdu
setRequesterID(const SimulationAddress &pX)DIS::LinearObjectStatePdu
setTimestamp(unsigned int pX)DIS::Pdu
setUpdateNumber(unsigned short pX)DIS::LinearObjectStatePdu
SyntheticEnvironmentFamilyPdu()DIS::SyntheticEnvironmentFamilyPdu
unmarshal(DataStream &dataStream)DIS::LinearObjectStatePdu [virtual]
~LinearObjectStatePdu()DIS::LinearObjectStatePdu [virtual]
~Pdu()DIS::Pdu [virtual]
~SyntheticEnvironmentFamilyPdu()DIS::SyntheticEnvironmentFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_linear_object_state_pdu.html b/cpp/docs/html/class_d_i_s_1_1_linear_object_state_pdu.html new file mode 100644 index 00000000..51e40a26 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_linear_object_state_pdu.html @@ -0,0 +1,843 @@ + + +open-dis: DIS::LinearObjectStatePdu Class Reference + + + + + +
+

DIS::LinearObjectStatePdu Class Reference

#include <LinearObjectStatePdu.h> +

+

+Inheritance diagram for DIS::LinearObjectStatePdu:
+
+ +

+ +DIS::SyntheticEnvironmentFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 LinearObjectStatePdu ()
virtual ~LinearObjectStatePdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetObjectID ()
const EntityIDgetObjectID () const
void setObjectID (const EntityID &pX)
EntityIDgetReferencedObjectID ()
const EntityIDgetReferencedObjectID () const
void setReferencedObjectID (const EntityID &pX)
unsigned short getUpdateNumber () const
void setUpdateNumber (unsigned short pX)
unsigned char getForceID () const
void setForceID (unsigned char pX)
unsigned char getNumberOfSegments () const
SimulationAddressgetRequesterID ()
const SimulationAddressgetRequesterID () const
void setRequesterID (const SimulationAddress &pX)
SimulationAddressgetReceivingID ()
const SimulationAddressgetReceivingID () const
void setReceivingID (const SimulationAddress &pX)
ObjectTypegetObjectType ()
const ObjectTypegetObjectType () const
void setObjectType (const ObjectType &pX)
std::vector
+< LinearSegmentParameter > & 
getLinearSegmentParameters ()
const std::vector
+< LinearSegmentParameter > & 
getLinearSegmentParameters () const
void setLinearSegmentParameters (const std::vector< LinearSegmentParameter > &pX)
virtual int getMarshalledSize () const
bool operator== (const LinearObjectStatePdu &rhs) const

Protected Attributes

EntityID _objectID
EntityID _referencedObjectID
unsigned short _updateNumber
unsigned char _forceID
unsigned char _numberOfSegments
SimulationAddress _requesterID
SimulationAddress _receivingID
ObjectType _objectType
std::vector
+< LinearSegmentParameter
_linearSegmentParameters
+


Detailed Description

+Section 5.3.11.4: Information abut the addition or modification of a synthecic enviroment object that is anchored to the terrain with a single point and has size or orientation. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
LinearObjectStatePdu::LinearObjectStatePdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
LinearObjectStatePdu::~LinearObjectStatePdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned char LinearObjectStatePdu::getForceID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< LinearSegmentParameter > & LinearObjectStatePdu::getLinearSegmentParameters (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< LinearSegmentParameter > & LinearObjectStatePdu::getLinearSegmentParameters (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int LinearObjectStatePdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SyntheticEnvironmentFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
unsigned char LinearObjectStatePdu::getNumberOfSegments (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & LinearObjectStatePdu::getObjectID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & LinearObjectStatePdu::getObjectID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const ObjectType & LinearObjectStatePdu::getObjectType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
ObjectType & LinearObjectStatePdu::getObjectType (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const SimulationAddress & LinearObjectStatePdu::getReceivingID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
SimulationAddress & LinearObjectStatePdu::getReceivingID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & LinearObjectStatePdu::getReferencedObjectID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & LinearObjectStatePdu::getReferencedObjectID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const SimulationAddress & LinearObjectStatePdu::getRequesterID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
SimulationAddress & LinearObjectStatePdu::getRequesterID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short LinearObjectStatePdu::getUpdateNumber (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void LinearObjectStatePdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SyntheticEnvironmentFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool LinearObjectStatePdu::operator== (const LinearObjectStatePdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void LinearObjectStatePdu::setForceID (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void LinearObjectStatePdu::setLinearSegmentParameters (const std::vector< LinearSegmentParameter > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void LinearObjectStatePdu::setObjectID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void LinearObjectStatePdu::setObjectType (const ObjectType pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void LinearObjectStatePdu::setReceivingID (const SimulationAddress pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void LinearObjectStatePdu::setReferencedObjectID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void LinearObjectStatePdu::setRequesterID (const SimulationAddress pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void LinearObjectStatePdu::setUpdateNumber (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void LinearObjectStatePdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SyntheticEnvironmentFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned char DIS::LinearObjectStatePdu::_forceID [protected]
+
+
+ +

+force ID +

+

+ +

+ +
+ +

+Linear segment parameters +

+

+ +

+
+ + + + +
unsigned char DIS::LinearObjectStatePdu::_numberOfSegments [protected]
+
+
+ +

+number of linear segment parameters +

+

+ +

+ +
+ +

+Object in synthetic environment +

+

+ +

+ +
+ +

+Object type +

+

+ +

+ +
+ +

+receiver ID +

+

+ +

+ +
+ +

+Object with which this point object is associated +

+

+ +

+ +
+ +

+requesterID +

+

+ +

+
+ + + + +
unsigned short DIS::LinearObjectStatePdu::_updateNumber [protected]
+
+
+ +

+unique update number of each state transition of an object +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_linear_object_state_pdu.png b/cpp/docs/html/class_d_i_s_1_1_linear_object_state_pdu.png new file mode 100644 index 00000000..dd43631b Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_linear_object_state_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_linear_segment_parameter-members.html b/cpp/docs/html/class_d_i_s_1_1_linear_segment_parameter-members.html new file mode 100644 index 00000000..8f804d86 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_linear_segment_parameter-members.html @@ -0,0 +1,68 @@ + + +open-dis: Member List + + + + + +
+

DIS::LinearSegmentParameter Member List

This is the complete list of members for DIS::LinearSegmentParameter, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_locationDIS::LinearSegmentParameter [protected]
_orientationDIS::LinearSegmentParameter [protected]
_pad1DIS::LinearSegmentParameter [protected]
_segmentAppearanceDIS::LinearSegmentParameter [protected]
_segmentDepthDIS::LinearSegmentParameter [protected]
_segmentHeightDIS::LinearSegmentParameter [protected]
_segmentLengthDIS::LinearSegmentParameter [protected]
_segmentNumberDIS::LinearSegmentParameter [protected]
_segmentWidthDIS::LinearSegmentParameter [protected]
getLocation()DIS::LinearSegmentParameter
getLocation() const DIS::LinearSegmentParameter
getMarshalledSize() const DIS::LinearSegmentParameter [virtual]
getOrientation()DIS::LinearSegmentParameter
getOrientation() const DIS::LinearSegmentParameter
getPad1() const DIS::LinearSegmentParameter
getSegmentAppearance()DIS::LinearSegmentParameter
getSegmentAppearance() const DIS::LinearSegmentParameter
getSegmentDepth() const DIS::LinearSegmentParameter
getSegmentHeight() const DIS::LinearSegmentParameter
getSegmentLength() const DIS::LinearSegmentParameter
getSegmentNumber() const DIS::LinearSegmentParameter
getSegmentWidth() const DIS::LinearSegmentParameter
LinearSegmentParameter()DIS::LinearSegmentParameter
marshal(DataStream &dataStream) const DIS::LinearSegmentParameter [virtual]
operator==(const LinearSegmentParameter &rhs) const DIS::LinearSegmentParameter
setLocation(const Vector3Double &pX)DIS::LinearSegmentParameter
setOrientation(const Orientation &pX)DIS::LinearSegmentParameter
setPad1(unsigned int pX)DIS::LinearSegmentParameter
setSegmentAppearance(const SixByteChunk &pX)DIS::LinearSegmentParameter
setSegmentDepth(unsigned short pX)DIS::LinearSegmentParameter
setSegmentHeight(unsigned short pX)DIS::LinearSegmentParameter
setSegmentLength(unsigned short pX)DIS::LinearSegmentParameter
setSegmentNumber(unsigned char pX)DIS::LinearSegmentParameter
setSegmentWidth(unsigned short pX)DIS::LinearSegmentParameter
unmarshal(DataStream &dataStream)DIS::LinearSegmentParameter [virtual]
~LinearSegmentParameter()DIS::LinearSegmentParameter [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_linear_segment_parameter.html b/cpp/docs/html/class_d_i_s_1_1_linear_segment_parameter.html new file mode 100644 index 00000000..a06912ed --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_linear_segment_parameter.html @@ -0,0 +1,783 @@ + + +open-dis: DIS::LinearSegmentParameter Class Reference + + + + + +
+

DIS::LinearSegmentParameter Class Reference

#include <LinearSegmentParameter.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 LinearSegmentParameter ()
virtual ~LinearSegmentParameter ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned char getSegmentNumber () const
void setSegmentNumber (unsigned char pX)
SixByteChunkgetSegmentAppearance ()
const SixByteChunkgetSegmentAppearance () const
void setSegmentAppearance (const SixByteChunk &pX)
Vector3DoublegetLocation ()
const Vector3DoublegetLocation () const
void setLocation (const Vector3Double &pX)
OrientationgetOrientation ()
const OrientationgetOrientation () const
void setOrientation (const Orientation &pX)
unsigned short getSegmentLength () const
void setSegmentLength (unsigned short pX)
unsigned short getSegmentWidth () const
void setSegmentWidth (unsigned short pX)
unsigned short getSegmentHeight () const
void setSegmentHeight (unsigned short pX)
unsigned short getSegmentDepth () const
void setSegmentDepth (unsigned short pX)
unsigned int getPad1 () const
void setPad1 (unsigned int pX)
virtual int getMarshalledSize () const
bool operator== (const LinearSegmentParameter &rhs) const

Protected Attributes

unsigned char _segmentNumber
SixByteChunk _segmentAppearance
Vector3Double _location
Orientation _orientation
unsigned short _segmentLength
unsigned short _segmentWidth
unsigned short _segmentHeight
unsigned short _segmentDepth
unsigned int _pad1
+


Detailed Description

+5.2.48: Linear segment parameters

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
LinearSegmentParameter::LinearSegmentParameter (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
LinearSegmentParameter::~LinearSegmentParameter (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const Vector3Double & LinearSegmentParameter::getLocation (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Double & LinearSegmentParameter::getLocation (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int LinearSegmentParameter::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Orientation & LinearSegmentParameter::getOrientation (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Orientation & LinearSegmentParameter::getOrientation (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int LinearSegmentParameter::getPad1 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const SixByteChunk & LinearSegmentParameter::getSegmentAppearance (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
SixByteChunk & LinearSegmentParameter::getSegmentAppearance (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short LinearSegmentParameter::getSegmentDepth (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short LinearSegmentParameter::getSegmentHeight (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short LinearSegmentParameter::getSegmentLength (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char LinearSegmentParameter::getSegmentNumber (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short LinearSegmentParameter::getSegmentWidth (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void LinearSegmentParameter::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool LinearSegmentParameter::operator== (const LinearSegmentParameter rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void LinearSegmentParameter::setLocation (const Vector3Double pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void LinearSegmentParameter::setOrientation (const Orientation pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void LinearSegmentParameter::setPad1 (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void LinearSegmentParameter::setSegmentAppearance (const SixByteChunk pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void LinearSegmentParameter::setSegmentDepth (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void LinearSegmentParameter::setSegmentHeight (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void LinearSegmentParameter::setSegmentLength (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void LinearSegmentParameter::setSegmentNumber (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void LinearSegmentParameter::setSegmentWidth (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void LinearSegmentParameter::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+ +
+ +

+location +

+

+ +

+ +
+ +

+orientation +

+

+ +

+
+ + + + +
unsigned int DIS::LinearSegmentParameter::_pad1 [protected]
+
+
+ +

+segment Depth +

+

+ +

+ +
+ +

+segment appearance +

+

+ +

+
+ + + + +
unsigned short DIS::LinearSegmentParameter::_segmentDepth [protected]
+
+
+ +

+segment Depth +

+

+ +

+
+ + + + +
unsigned short DIS::LinearSegmentParameter::_segmentHeight [protected]
+
+
+ +

+segmentHeight +

+

+ +

+
+ + + + +
unsigned short DIS::LinearSegmentParameter::_segmentLength [protected]
+
+
+ +

+segmentLength +

+

+ +

+
+ + + + +
unsigned char DIS::LinearSegmentParameter::_segmentNumber [protected]
+
+
+ +

+number of segments +

+

+ +

+
+ + + + +
unsigned short DIS::LinearSegmentParameter::_segmentWidth [protected]
+
+
+ +

+segmentWidth +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_logistics_family_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_logistics_family_pdu-members.html new file mode 100644 index 00000000..c8364126 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_logistics_family_pdu-members.html @@ -0,0 +1,62 @@ + + +open-dis: Member List + + + + + +
+

DIS::LogisticsFamilyPdu Member List

This is the complete list of members for DIS::LogisticsFamilyPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_timestampDIS::Pdu [protected]
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::LogisticsFamilyPdu [virtual]
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getTimestamp() const DIS::Pdu
LogisticsFamilyPdu()DIS::LogisticsFamilyPdu
marshal(DataStream &dataStream) const DIS::LogisticsFamilyPdu [virtual]
operator==(const LogisticsFamilyPdu &rhs) const DIS::LogisticsFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setTimestamp(unsigned int pX)DIS::Pdu
unmarshal(DataStream &dataStream)DIS::LogisticsFamilyPdu [virtual]
~LogisticsFamilyPdu()DIS::LogisticsFamilyPdu [virtual]
~Pdu()DIS::Pdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_logistics_family_pdu.html b/cpp/docs/html/class_d_i_s_1_1_logistics_family_pdu.html new file mode 100644 index 00000000..783becfe --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_logistics_family_pdu.html @@ -0,0 +1,205 @@ + + +open-dis: DIS::LogisticsFamilyPdu Class Reference + + + + + +
+

DIS::LogisticsFamilyPdu Class Reference

#include <LogisticsFamilyPdu.h> +

+

+Inheritance diagram for DIS::LogisticsFamilyPdu:
+
+ +

+ +DIS::Pdu +DIS::RepairCompletePdu +DIS::RepairResponsePdu +DIS::ResupplyCancelPdu +DIS::ResupplyOfferPdu +DIS::ResupplyReceivedPdu +DIS::ServiceRequestPdu + +
+ +

+List of all members. + + + + + + + + + + + + + + +

Public Member Functions

 LogisticsFamilyPdu ()
virtual ~LogisticsFamilyPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
virtual int getMarshalledSize () const
bool operator== (const LogisticsFamilyPdu &rhs) const
+


Detailed Description

+Section 5.3.5. Abstract superclass for logistics PDUs. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
LogisticsFamilyPdu::LogisticsFamilyPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
LogisticsFamilyPdu::~LogisticsFamilyPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int LogisticsFamilyPdu::getMarshalledSize (  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + + +
void LogisticsFamilyPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + + +
bool LogisticsFamilyPdu::operator== (const LogisticsFamilyPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void LogisticsFamilyPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+ +

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_logistics_family_pdu.png b/cpp/docs/html/class_d_i_s_1_1_logistics_family_pdu.png new file mode 100644 index 00000000..f71a72e6 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_logistics_family_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_logistics_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_logistics_pdu-members.html new file mode 100644 index 00000000..033f16fc --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_logistics_pdu-members.html @@ -0,0 +1,62 @@ + + +open-dis: Member List + + + + + +
+

DIS::LogisticsPdu Member List

This is the complete list of members for DIS::LogisticsPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_timestampDIS::Pdu [protected]
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::LogisticsPdu [virtual]
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getTimestamp() const DIS::Pdu
LogisticsPdu()DIS::LogisticsPdu
marshal(DataStream &dataStream) const DIS::LogisticsPdu [virtual]
operator==(const LogisticsPdu &rhs) const DIS::LogisticsPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setTimestamp(unsigned int pX)DIS::Pdu
unmarshal(DataStream &dataStream)DIS::LogisticsPdu [virtual]
~LogisticsPdu()DIS::LogisticsPdu [virtual]
~Pdu()DIS::Pdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_logistics_pdu.html b/cpp/docs/html/class_d_i_s_1_1_logistics_pdu.html new file mode 100644 index 00000000..4e9e95ae --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_logistics_pdu.html @@ -0,0 +1,189 @@ + + +open-dis: DIS::LogisticsPdu Class Reference + + + + + +
+

DIS::LogisticsPdu Class Reference

#include <LogisticsPdu.h> +

+

+Inheritance diagram for DIS::LogisticsPdu:
+
+ +

+ +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + +

Public Member Functions

 LogisticsPdu ()
virtual ~LogisticsPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
virtual int getMarshalledSize () const
bool operator== (const LogisticsPdu &rhs) const
+


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
LogisticsPdu::LogisticsPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
LogisticsPdu::~LogisticsPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int LogisticsPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::Pdu.

+ +
+

+ +

+
+ + + + + + + + + +
void LogisticsPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::Pdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool LogisticsPdu::operator== (const LogisticsPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void LogisticsPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::Pdu.

+ +
+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_logistics_pdu.png b/cpp/docs/html/class_d_i_s_1_1_logistics_pdu.png new file mode 100644 index 00000000..199a6734 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_logistics_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_marking-members.html b/cpp/docs/html/class_d_i_s_1_1_marking-members.html new file mode 100644 index 00000000..c6885f49 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_marking-members.html @@ -0,0 +1,46 @@ + + +open-dis: Member List + + + + + +
+

DIS::Marking Member List

This is the complete list of members for DIS::Marking, including all inherited members.

+ + + + + + + + + + + + + + +
_charactersDIS::Marking [protected]
_characterSetDIS::Marking [protected]
getCharacters()DIS::Marking
getCharacters() const DIS::Marking
getCharacterSet() const DIS::Marking
getMarshalledSize() const DIS::Marking [virtual]
Marking()DIS::Marking
marshal(DataStream &dataStream) const DIS::Marking [virtual]
operator==(const Marking &rhs) const DIS::Marking
setByStringCharacters(const char *pX)DIS::Marking
setCharacters(const char *pX)DIS::Marking
setCharacterSet(unsigned char pX)DIS::Marking
unmarshal(DataStream &dataStream)DIS::Marking [virtual]
~Marking()DIS::Marking [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_marking.html b/cpp/docs/html/class_d_i_s_1_1_marking.html new file mode 100644 index 00000000..17ab3a16 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_marking.html @@ -0,0 +1,343 @@ + + +open-dis: DIS::Marking Class Reference + + + + + +
+

DIS::Marking Class Reference

#include <Marking.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 Marking ()
virtual ~Marking ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned char getCharacterSet () const
void setCharacterSet (unsigned char pX)
char * getCharacters ()
const char * getCharacters () const
void setCharacters (const char *pX)
void setByStringCharacters (const char *pX)
virtual int getMarshalledSize () const
bool operator== (const Marking &rhs) const

Protected Attributes

unsigned char _characterSet
char _characters [11]
+


Detailed Description

+Section 5.2.15. Specifies the character set used inthe first byte, followed by 11 characters of text data.

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
Marking::Marking (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Marking::~Marking (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const char * Marking::getCharacters (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
char * Marking::getCharacters (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char Marking::getCharacterSet (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int Marking::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Marking::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool Marking::operator== (const Marking rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Marking::setByStringCharacters (const char *  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Marking::setCharacters (const char *  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Marking::setCharacterSet (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Marking::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
char DIS::Marking::_characters[11] [protected]
+
+
+ +

+The characters +

+

+ +

+
+ + + + +
unsigned char DIS::Marking::_characterSet [protected]
+
+
+ +

+The character set +

+

+


The documentation for this class was generated from the following files:
    +
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Marking.h
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Marking.cpp
+
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_minefield_data_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_minefield_data_pdu-members.html new file mode 100644 index 00000000..d56d58c3 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_minefield_data_pdu-members.html @@ -0,0 +1,110 @@ + + +open-dis: Member List + + + + + +
+

DIS::MinefieldDataPdu Member List

This is the complete list of members for DIS::MinefieldDataPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_dataFilterDIS::MinefieldDataPdu [protected]
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_minefieldIDDIS::MinefieldDataPdu [protected]
_minefieldSequenceNumbeerDIS::MinefieldDataPdu [protected]
_mineLocationDIS::MinefieldDataPdu [protected]
_mineTypeDIS::MinefieldDataPdu [protected]
_numberOfMinesInThisPduDIS::MinefieldDataPdu [protected]
_numberOfPdusDIS::MinefieldDataPdu [protected]
_numberOfSensorTypesDIS::MinefieldDataPdu [protected]
_pad2DIS::MinefieldDataPdu [protected]
_pad3DIS::MinefieldDataPdu [protected]
_paddingDIS::Pdu [protected]
_pduSequenceNumberDIS::MinefieldDataPdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_requestIDDIS::MinefieldDataPdu [protected]
_requestingEntityIDDIS::MinefieldDataPdu [protected]
_sensorTypesDIS::MinefieldDataPdu [protected]
_timestampDIS::Pdu [protected]
getDataFilter() const DIS::MinefieldDataPdu
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::MinefieldDataPdu [virtual]
getMinefieldID()DIS::MinefieldDataPdu
getMinefieldID() const DIS::MinefieldDataPdu
getMinefieldSequenceNumbeer() const DIS::MinefieldDataPdu
getMineLocation()DIS::MinefieldDataPdu
getMineLocation() const DIS::MinefieldDataPdu
getMineType()DIS::MinefieldDataPdu
getMineType() const DIS::MinefieldDataPdu
getNumberOfMinesInThisPdu() const DIS::MinefieldDataPdu
getNumberOfPdus() const DIS::MinefieldDataPdu
getNumberOfSensorTypes() const DIS::MinefieldDataPdu
getPad2() const DIS::MinefieldDataPdu
getPad3() const DIS::MinefieldDataPdu
getPadding() const DIS::Pdu
getPduSequenceNumber() const DIS::MinefieldDataPdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getRequestID() const DIS::MinefieldDataPdu
getRequestingEntityID()DIS::MinefieldDataPdu
getRequestingEntityID() const DIS::MinefieldDataPdu
getSensorTypes()DIS::MinefieldDataPdu
getSensorTypes() const DIS::MinefieldDataPdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::MinefieldDataPdu [virtual]
MinefieldDataPdu()DIS::MinefieldDataPdu
MinefieldFamilyPdu()DIS::MinefieldFamilyPdu
operator==(const MinefieldDataPdu &rhs) const DIS::MinefieldDataPdu
DIS::MinefieldFamilyPdu::operator==(const MinefieldFamilyPdu &rhs) const DIS::MinefieldFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setDataFilter(unsigned int pX)DIS::MinefieldDataPdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setMinefieldID(const EntityID &pX)DIS::MinefieldDataPdu
setMinefieldSequenceNumbeer(unsigned short pX)DIS::MinefieldDataPdu
setMineLocation(const std::vector< Vector3Float > &pX)DIS::MinefieldDataPdu
setMineType(const EntityType &pX)DIS::MinefieldDataPdu
setNumberOfPdus(unsigned char pX)DIS::MinefieldDataPdu
setPad2(unsigned char pX)DIS::MinefieldDataPdu
setPad3(unsigned char pX)DIS::MinefieldDataPdu
setPadding(short pX)DIS::Pdu
setPduSequenceNumber(unsigned char pX)DIS::MinefieldDataPdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setRequestID(unsigned char pX)DIS::MinefieldDataPdu
setRequestingEntityID(const EntityID &pX)DIS::MinefieldDataPdu
setSensorTypes(const std::vector< TwoByteChunk > &pX)DIS::MinefieldDataPdu
setTimestamp(unsigned int pX)DIS::Pdu
unmarshal(DataStream &dataStream)DIS::MinefieldDataPdu [virtual]
~MinefieldDataPdu()DIS::MinefieldDataPdu [virtual]
~MinefieldFamilyPdu()DIS::MinefieldFamilyPdu [virtual]
~Pdu()DIS::Pdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_minefield_data_pdu.html b/cpp/docs/html/class_d_i_s_1_1_minefield_data_pdu.html new file mode 100644 index 00000000..fc9dba03 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_minefield_data_pdu.html @@ -0,0 +1,1097 @@ + + +open-dis: DIS::MinefieldDataPdu Class Reference + + + + + +
+

DIS::MinefieldDataPdu Class Reference

#include <MinefieldDataPdu.h> +

+

+Inheritance diagram for DIS::MinefieldDataPdu:
+
+ +

+ +DIS::MinefieldFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 MinefieldDataPdu ()
virtual ~MinefieldDataPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetMinefieldID ()
const EntityIDgetMinefieldID () const
void setMinefieldID (const EntityID &pX)
EntityIDgetRequestingEntityID ()
const EntityIDgetRequestingEntityID () const
void setRequestingEntityID (const EntityID &pX)
unsigned short getMinefieldSequenceNumbeer () const
void setMinefieldSequenceNumbeer (unsigned short pX)
unsigned char getRequestID () const
void setRequestID (unsigned char pX)
unsigned char getPduSequenceNumber () const
void setPduSequenceNumber (unsigned char pX)
unsigned char getNumberOfPdus () const
void setNumberOfPdus (unsigned char pX)
unsigned char getNumberOfMinesInThisPdu () const
unsigned char getNumberOfSensorTypes () const
unsigned char getPad2 () const
void setPad2 (unsigned char pX)
unsigned int getDataFilter () const
void setDataFilter (unsigned int pX)
EntityTypegetMineType ()
const EntityTypegetMineType () const
void setMineType (const EntityType &pX)
std::vector< TwoByteChunk > & getSensorTypes ()
const std::vector< TwoByteChunk > & getSensorTypes () const
void setSensorTypes (const std::vector< TwoByteChunk > &pX)
unsigned char getPad3 () const
void setPad3 (unsigned char pX)
std::vector< Vector3Float > & getMineLocation ()
const std::vector< Vector3Float > & getMineLocation () const
void setMineLocation (const std::vector< Vector3Float > &pX)
virtual int getMarshalledSize () const
bool operator== (const MinefieldDataPdu &rhs) const

Protected Attributes

EntityID _minefieldID
EntityID _requestingEntityID
unsigned short _minefieldSequenceNumbeer
unsigned char _requestID
unsigned char _pduSequenceNumber
unsigned char _numberOfPdus
unsigned char _numberOfMinesInThisPdu
unsigned char _numberOfSensorTypes
unsigned char _pad2
unsigned int _dataFilter
EntityType _mineType
std::vector< TwoByteChunk_sensorTypes
unsigned char _pad3
std::vector< Vector3Float_mineLocation
+


Detailed Description

+Section 5.3.10.3 Information about individual mines within a minefield. This is very, very wrong. UNFINISHED

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
MinefieldDataPdu::MinefieldDataPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
MinefieldDataPdu::~MinefieldDataPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned int MinefieldDataPdu::getDataFilter (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int MinefieldDataPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::MinefieldFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
const EntityID & MinefieldDataPdu::getMinefieldID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & MinefieldDataPdu::getMinefieldID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short MinefieldDataPdu::getMinefieldSequenceNumbeer (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< Vector3Float > & MinefieldDataPdu::getMineLocation (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< Vector3Float > & MinefieldDataPdu::getMineLocation (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityType & MinefieldDataPdu::getMineType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityType & MinefieldDataPdu::getMineType (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char MinefieldDataPdu::getNumberOfMinesInThisPdu (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char MinefieldDataPdu::getNumberOfPdus (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char MinefieldDataPdu::getNumberOfSensorTypes (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char MinefieldDataPdu::getPad2 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char MinefieldDataPdu::getPad3 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char MinefieldDataPdu::getPduSequenceNumber (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char MinefieldDataPdu::getRequestID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & MinefieldDataPdu::getRequestingEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & MinefieldDataPdu::getRequestingEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< TwoByteChunk > & MinefieldDataPdu::getSensorTypes (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< TwoByteChunk > & MinefieldDataPdu::getSensorTypes (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldDataPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::MinefieldFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool MinefieldDataPdu::operator== (const MinefieldDataPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldDataPdu::setDataFilter (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldDataPdu::setMinefieldID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldDataPdu::setMinefieldSequenceNumbeer (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldDataPdu::setMineLocation (const std::vector< Vector3Float > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldDataPdu::setMineType (const EntityType pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldDataPdu::setNumberOfPdus (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldDataPdu::setPad2 (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldDataPdu::setPad3 (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldDataPdu::setPduSequenceNumber (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldDataPdu::setRequestID (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldDataPdu::setRequestingEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldDataPdu::setSensorTypes (const std::vector< TwoByteChunk > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldDataPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::MinefieldFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned int DIS::MinefieldDataPdu::_dataFilter [protected]
+
+
+ +

+32 boolean fields +

+

+ +

+ +
+ +

+Minefield ID +

+

+ +

+
+ + + + +
unsigned short DIS::MinefieldDataPdu::_minefieldSequenceNumbeer [protected]
+
+
+ +

+Minefield sequence number +

+

+ +

+
+ + + + +
std::vector<Vector3Float> DIS::MinefieldDataPdu::_mineLocation [protected]
+
+
+ +

+Mine locations +

+

+ +

+ +
+ +

+Mine type +

+

+ +

+
+ + + + +
unsigned char DIS::MinefieldDataPdu::_numberOfMinesInThisPdu [protected]
+
+
+ +

+how many mines are in this PDU +

+

+ +

+
+ + + + +
unsigned char DIS::MinefieldDataPdu::_numberOfPdus [protected]
+
+
+ +

+number of pdus in response +

+

+ +

+
+ + + + +
unsigned char DIS::MinefieldDataPdu::_numberOfSensorTypes [protected]
+
+
+ +

+how many sensor type are in this PDU +

+

+ +

+
+ + + + +
unsigned char DIS::MinefieldDataPdu::_pad2 [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
unsigned char DIS::MinefieldDataPdu::_pad3 [protected]
+
+
+ +

+Padding to get things 32-bit aligned. ^^^this is wrong--dyanmically sized padding needed +

+

+ +

+
+ + + + +
unsigned char DIS::MinefieldDataPdu::_pduSequenceNumber [protected]
+
+
+ +

+pdu sequence number +

+

+ +

+
+ + + + +
unsigned char DIS::MinefieldDataPdu::_requestID [protected]
+
+
+ +

+request ID +

+

+ +

+ +
+ +

+ID of entity making request +

+

+ +

+
+ + + + +
std::vector<TwoByteChunk> DIS::MinefieldDataPdu::_sensorTypes [protected]
+
+
+ +

+Sensor types, each 16 bits long +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_minefield_data_pdu.png b/cpp/docs/html/class_d_i_s_1_1_minefield_data_pdu.png new file mode 100644 index 00000000..2eadd7a5 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_minefield_data_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_minefield_family_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_minefield_family_pdu-members.html new file mode 100644 index 00000000..4a425eaa --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_minefield_family_pdu-members.html @@ -0,0 +1,62 @@ + + +open-dis: Member List + + + + + +
+

DIS::MinefieldFamilyPdu Member List

This is the complete list of members for DIS::MinefieldFamilyPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_timestampDIS::Pdu [protected]
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::MinefieldFamilyPdu [virtual]
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::MinefieldFamilyPdu [virtual]
MinefieldFamilyPdu()DIS::MinefieldFamilyPdu
operator==(const MinefieldFamilyPdu &rhs) const DIS::MinefieldFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setTimestamp(unsigned int pX)DIS::Pdu
unmarshal(DataStream &dataStream)DIS::MinefieldFamilyPdu [virtual]
~MinefieldFamilyPdu()DIS::MinefieldFamilyPdu [virtual]
~Pdu()DIS::Pdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_minefield_family_pdu.html b/cpp/docs/html/class_d_i_s_1_1_minefield_family_pdu.html new file mode 100644 index 00000000..72cbe40a --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_minefield_family_pdu.html @@ -0,0 +1,203 @@ + + +open-dis: DIS::MinefieldFamilyPdu Class Reference + + + + + +
+

DIS::MinefieldFamilyPdu Class Reference

#include <MinefieldFamilyPdu.h> +

+

+Inheritance diagram for DIS::MinefieldFamilyPdu:
+
+ +

+ +DIS::Pdu +DIS::MinefieldDataPdu +DIS::MinefieldQueryPdu +DIS::MinefieldResponseNackPdu +DIS::MinefieldStatePdu + +
+ +

+List of all members. + + + + + + + + + + + + + + +

Public Member Functions

 MinefieldFamilyPdu ()
virtual ~MinefieldFamilyPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
virtual int getMarshalledSize () const
bool operator== (const MinefieldFamilyPdu &rhs) const
+


Detailed Description

+Section 5.3.10.1 Abstract superclass for PDUs relating to minefields

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
MinefieldFamilyPdu::MinefieldFamilyPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
MinefieldFamilyPdu::~MinefieldFamilyPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int MinefieldFamilyPdu::getMarshalledSize (  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + + +
void MinefieldFamilyPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + + +
bool MinefieldFamilyPdu::operator== (const MinefieldFamilyPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldFamilyPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+ +

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_minefield_family_pdu.png b/cpp/docs/html/class_d_i_s_1_1_minefield_family_pdu.png new file mode 100644 index 00000000..30dd90aa Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_minefield_family_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_minefield_pdu_family-members.html b/cpp/docs/html/class_d_i_s_1_1_minefield_pdu_family-members.html new file mode 100644 index 00000000..98eee427 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_minefield_pdu_family-members.html @@ -0,0 +1,62 @@ + + +open-dis: Member List + + + + + +
+

DIS::MinefieldPduFamily Member List

This is the complete list of members for DIS::MinefieldPduFamily, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_timestampDIS::Pdu [protected]
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::MinefieldPduFamily [virtual]
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::MinefieldPduFamily [virtual]
MinefieldPduFamily()DIS::MinefieldPduFamily
operator==(const MinefieldPduFamily &rhs) const DIS::MinefieldPduFamily
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setTimestamp(unsigned int pX)DIS::Pdu
unmarshal(DataStream &dataStream)DIS::MinefieldPduFamily [virtual]
~MinefieldPduFamily()DIS::MinefieldPduFamily [virtual]
~Pdu()DIS::Pdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_minefield_pdu_family.html b/cpp/docs/html/class_d_i_s_1_1_minefield_pdu_family.html new file mode 100644 index 00000000..ad4d0a3d --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_minefield_pdu_family.html @@ -0,0 +1,189 @@ + + +open-dis: DIS::MinefieldPduFamily Class Reference + + + + + +
+

DIS::MinefieldPduFamily Class Reference

#include <MinefieldPduFamily.h> +

+

+Inheritance diagram for DIS::MinefieldPduFamily:
+
+ +

+ +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + +

Public Member Functions

 MinefieldPduFamily ()
virtual ~MinefieldPduFamily ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
virtual int getMarshalledSize () const
bool operator== (const MinefieldPduFamily &rhs) const
+


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
MinefieldPduFamily::MinefieldPduFamily (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
MinefieldPduFamily::~MinefieldPduFamily (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int MinefieldPduFamily::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::Pdu.

+ +
+

+ +

+
+ + + + + + + + + +
void MinefieldPduFamily::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::Pdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool MinefieldPduFamily::operator== (const MinefieldPduFamily rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldPduFamily::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::Pdu.

+ +
+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_minefield_pdu_family.png b/cpp/docs/html/class_d_i_s_1_1_minefield_pdu_family.png new file mode 100644 index 00000000..66a3d61b Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_minefield_pdu_family.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_minefield_query_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_minefield_query_pdu-members.html new file mode 100644 index 00000000..4a3998b2 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_minefield_query_pdu-members.html @@ -0,0 +1,98 @@ + + +open-dis: Member List + + + + + +
+

DIS::MinefieldQueryPdu Member List

This is the complete list of members for DIS::MinefieldQueryPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_dataFilterDIS::MinefieldQueryPdu [protected]
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_minefieldIDDIS::MinefieldQueryPdu [protected]
_numberOfPerimeterPointsDIS::MinefieldQueryPdu [protected]
_numberOfSensorTypesDIS::MinefieldQueryPdu [protected]
_pad2DIS::MinefieldQueryPdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_requestedMineTypeDIS::MinefieldQueryPdu [protected]
_requestedPerimeterPointsDIS::MinefieldQueryPdu [protected]
_requestIDDIS::MinefieldQueryPdu [protected]
_requestingEntityIDDIS::MinefieldQueryPdu [protected]
_sensorTypesDIS::MinefieldQueryPdu [protected]
_timestampDIS::Pdu [protected]
getDataFilter() const DIS::MinefieldQueryPdu
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::MinefieldQueryPdu [virtual]
getMinefieldID()DIS::MinefieldQueryPdu
getMinefieldID() const DIS::MinefieldQueryPdu
getNumberOfPerimeterPoints() const DIS::MinefieldQueryPdu
getNumberOfSensorTypes() const DIS::MinefieldQueryPdu
getPad2() const DIS::MinefieldQueryPdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getRequestedMineType()DIS::MinefieldQueryPdu
getRequestedMineType() const DIS::MinefieldQueryPdu
getRequestedPerimeterPoints()DIS::MinefieldQueryPdu
getRequestedPerimeterPoints() const DIS::MinefieldQueryPdu
getRequestID() const DIS::MinefieldQueryPdu
getRequestingEntityID()DIS::MinefieldQueryPdu
getRequestingEntityID() const DIS::MinefieldQueryPdu
getSensorTypes()DIS::MinefieldQueryPdu
getSensorTypes() const DIS::MinefieldQueryPdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::MinefieldQueryPdu [virtual]
MinefieldFamilyPdu()DIS::MinefieldFamilyPdu
MinefieldQueryPdu()DIS::MinefieldQueryPdu
operator==(const MinefieldQueryPdu &rhs) const DIS::MinefieldQueryPdu
DIS::MinefieldFamilyPdu::operator==(const MinefieldFamilyPdu &rhs) const DIS::MinefieldFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setDataFilter(unsigned int pX)DIS::MinefieldQueryPdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setMinefieldID(const EntityID &pX)DIS::MinefieldQueryPdu
setPad2(unsigned char pX)DIS::MinefieldQueryPdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setRequestedMineType(const EntityType &pX)DIS::MinefieldQueryPdu
setRequestedPerimeterPoints(const std::vector< Point > &pX)DIS::MinefieldQueryPdu
setRequestID(unsigned char pX)DIS::MinefieldQueryPdu
setRequestingEntityID(const EntityID &pX)DIS::MinefieldQueryPdu
setSensorTypes(const std::vector< TwoByteChunk > &pX)DIS::MinefieldQueryPdu
setTimestamp(unsigned int pX)DIS::Pdu
unmarshal(DataStream &dataStream)DIS::MinefieldQueryPdu [virtual]
~MinefieldFamilyPdu()DIS::MinefieldFamilyPdu [virtual]
~MinefieldQueryPdu()DIS::MinefieldQueryPdu [virtual]
~Pdu()DIS::Pdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_minefield_query_pdu.html b/cpp/docs/html/class_d_i_s_1_1_minefield_query_pdu.html new file mode 100644 index 00000000..e0935334 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_minefield_query_pdu.html @@ -0,0 +1,857 @@ + + +open-dis: DIS::MinefieldQueryPdu Class Reference + + + + + +
+

DIS::MinefieldQueryPdu Class Reference

#include <MinefieldQueryPdu.h> +

+

+Inheritance diagram for DIS::MinefieldQueryPdu:
+
+ +

+ +DIS::MinefieldFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 MinefieldQueryPdu ()
virtual ~MinefieldQueryPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetMinefieldID ()
const EntityIDgetMinefieldID () const
void setMinefieldID (const EntityID &pX)
EntityIDgetRequestingEntityID ()
const EntityIDgetRequestingEntityID () const
void setRequestingEntityID (const EntityID &pX)
unsigned char getRequestID () const
void setRequestID (unsigned char pX)
unsigned char getNumberOfPerimeterPoints () const
unsigned char getPad2 () const
void setPad2 (unsigned char pX)
unsigned char getNumberOfSensorTypes () const
unsigned int getDataFilter () const
void setDataFilter (unsigned int pX)
EntityTypegetRequestedMineType ()
const EntityTypegetRequestedMineType () const
void setRequestedMineType (const EntityType &pX)
std::vector< Point > & getRequestedPerimeterPoints ()
const std::vector< Point > & getRequestedPerimeterPoints () const
void setRequestedPerimeterPoints (const std::vector< Point > &pX)
std::vector< TwoByteChunk > & getSensorTypes ()
const std::vector< TwoByteChunk > & getSensorTypes () const
void setSensorTypes (const std::vector< TwoByteChunk > &pX)
virtual int getMarshalledSize () const
bool operator== (const MinefieldQueryPdu &rhs) const

Protected Attributes

EntityID _minefieldID
EntityID _requestingEntityID
unsigned char _requestID
unsigned char _numberOfPerimeterPoints
unsigned char _pad2
unsigned char _numberOfSensorTypes
unsigned int _dataFilter
EntityType _requestedMineType
std::vector< Point_requestedPerimeterPoints
std::vector< TwoByteChunk_sensorTypes
+


Detailed Description

+Section 5.3.10.2 Query a minefield for information about individual mines. Requires manual clean up to get the padding right. UNFINISHED

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
MinefieldQueryPdu::MinefieldQueryPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
MinefieldQueryPdu::~MinefieldQueryPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned int MinefieldQueryPdu::getDataFilter (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int MinefieldQueryPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::MinefieldFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
const EntityID & MinefieldQueryPdu::getMinefieldID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & MinefieldQueryPdu::getMinefieldID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char MinefieldQueryPdu::getNumberOfPerimeterPoints (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char MinefieldQueryPdu::getNumberOfSensorTypes (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char MinefieldQueryPdu::getPad2 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityType & MinefieldQueryPdu::getRequestedMineType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityType & MinefieldQueryPdu::getRequestedMineType (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< Point > & MinefieldQueryPdu::getRequestedPerimeterPoints (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< Point > & MinefieldQueryPdu::getRequestedPerimeterPoints (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char MinefieldQueryPdu::getRequestID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & MinefieldQueryPdu::getRequestingEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & MinefieldQueryPdu::getRequestingEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< TwoByteChunk > & MinefieldQueryPdu::getSensorTypes (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< TwoByteChunk > & MinefieldQueryPdu::getSensorTypes (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldQueryPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::MinefieldFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool MinefieldQueryPdu::operator== (const MinefieldQueryPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldQueryPdu::setDataFilter (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldQueryPdu::setMinefieldID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldQueryPdu::setPad2 (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldQueryPdu::setRequestedMineType (const EntityType pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldQueryPdu::setRequestedPerimeterPoints (const std::vector< Point > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldQueryPdu::setRequestID (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldQueryPdu::setRequestingEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldQueryPdu::setSensorTypes (const std::vector< TwoByteChunk > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldQueryPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::MinefieldFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned int DIS::MinefieldQueryPdu::_dataFilter [protected]
+
+
+ +

+data filter, 32 boolean fields +

+

+ +

+ +
+ +

+Minefield ID +

+

+ +

+
+ + + + +
unsigned char DIS::MinefieldQueryPdu::_numberOfPerimeterPoints [protected]
+
+
+ +

+Number of perimeter points for the minefield +

+

+ +

+
+ + + + +
unsigned char DIS::MinefieldQueryPdu::_numberOfSensorTypes [protected]
+
+
+ +

+Number of sensor types +

+

+ +

+
+ + + + +
unsigned char DIS::MinefieldQueryPdu::_pad2 [protected]
+
+
+ +

+Padding +

+

+ +

+ +
+ +

+Entity type of mine being requested +

+

+ +

+
+ + + + +
std::vector<Point> DIS::MinefieldQueryPdu::_requestedPerimeterPoints [protected]
+
+
+ +

+perimeter points of request +

+

+ +

+
+ + + + +
unsigned char DIS::MinefieldQueryPdu::_requestID [protected]
+
+
+ +

+request ID +

+

+ +

+ +
+ +

+EID of entity making the request +

+

+ +

+
+ + + + +
std::vector<TwoByteChunk> DIS::MinefieldQueryPdu::_sensorTypes [protected]
+
+
+ +

+Sensor types, each 16 bits long +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_minefield_query_pdu.png b/cpp/docs/html/class_d_i_s_1_1_minefield_query_pdu.png new file mode 100644 index 00000000..b025bd57 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_minefield_query_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_minefield_response_nack_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_minefield_response_nack_pdu-members.html new file mode 100644 index 00000000..2bea8f33 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_minefield_response_nack_pdu-members.html @@ -0,0 +1,82 @@ + + +open-dis: Member List + + + + + +
+

DIS::MinefieldResponseNackPdu Member List

This is the complete list of members for DIS::MinefieldResponseNackPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_minefieldIDDIS::MinefieldResponseNackPdu [protected]
_missingPduSequenceNumbersDIS::MinefieldResponseNackPdu [protected]
_numberOfMissingPdusDIS::MinefieldResponseNackPdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_requestIDDIS::MinefieldResponseNackPdu [protected]
_requestingEntityIDDIS::MinefieldResponseNackPdu [protected]
_timestampDIS::Pdu [protected]
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::MinefieldResponseNackPdu [virtual]
getMinefieldID()DIS::MinefieldResponseNackPdu
getMinefieldID() const DIS::MinefieldResponseNackPdu
getMissingPduSequenceNumbers()DIS::MinefieldResponseNackPdu
getMissingPduSequenceNumbers() const DIS::MinefieldResponseNackPdu
getNumberOfMissingPdus() const DIS::MinefieldResponseNackPdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getRequestID() const DIS::MinefieldResponseNackPdu
getRequestingEntityID()DIS::MinefieldResponseNackPdu
getRequestingEntityID() const DIS::MinefieldResponseNackPdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::MinefieldResponseNackPdu [virtual]
MinefieldFamilyPdu()DIS::MinefieldFamilyPdu
MinefieldResponseNackPdu()DIS::MinefieldResponseNackPdu
operator==(const MinefieldResponseNackPdu &rhs) const DIS::MinefieldResponseNackPdu
DIS::MinefieldFamilyPdu::operator==(const MinefieldFamilyPdu &rhs) const DIS::MinefieldFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setMinefieldID(const EntityID &pX)DIS::MinefieldResponseNackPdu
setMissingPduSequenceNumbers(const std::vector< EightByteChunk > &pX)DIS::MinefieldResponseNackPdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setRequestID(unsigned char pX)DIS::MinefieldResponseNackPdu
setRequestingEntityID(const EntityID &pX)DIS::MinefieldResponseNackPdu
setTimestamp(unsigned int pX)DIS::Pdu
unmarshal(DataStream &dataStream)DIS::MinefieldResponseNackPdu [virtual]
~MinefieldFamilyPdu()DIS::MinefieldFamilyPdu [virtual]
~MinefieldResponseNackPdu()DIS::MinefieldResponseNackPdu [virtual]
~Pdu()DIS::Pdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_minefield_response_nack_pdu.html b/cpp/docs/html/class_d_i_s_1_1_minefield_response_nack_pdu.html new file mode 100644 index 00000000..240276a1 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_minefield_response_nack_pdu.html @@ -0,0 +1,538 @@ + + +open-dis: DIS::MinefieldResponseNackPdu Class Reference + + + + + +
+

DIS::MinefieldResponseNackPdu Class Reference

#include <MinefieldResponseNackPdu.h> +

+

+Inheritance diagram for DIS::MinefieldResponseNackPdu:
+
+ +

+ +DIS::MinefieldFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 MinefieldResponseNackPdu ()
virtual ~MinefieldResponseNackPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetMinefieldID ()
const EntityIDgetMinefieldID () const
void setMinefieldID (const EntityID &pX)
EntityIDgetRequestingEntityID ()
const EntityIDgetRequestingEntityID () const
void setRequestingEntityID (const EntityID &pX)
unsigned char getRequestID () const
void setRequestID (unsigned char pX)
unsigned char getNumberOfMissingPdus () const
std::vector< EightByteChunk > & getMissingPduSequenceNumbers ()
const std::vector
+< EightByteChunk > & 
getMissingPduSequenceNumbers () const
void setMissingPduSequenceNumbers (const std::vector< EightByteChunk > &pX)
virtual int getMarshalledSize () const
bool operator== (const MinefieldResponseNackPdu &rhs) const

Protected Attributes

EntityID _minefieldID
EntityID _requestingEntityID
unsigned char _requestID
unsigned char _numberOfMissingPdus
std::vector< EightByteChunk_missingPduSequenceNumbers
+


Detailed Description

+Section 5.3.10.4 proivde the means to request a retransmit of a minefield data pdu. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
MinefieldResponseNackPdu::MinefieldResponseNackPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
MinefieldResponseNackPdu::~MinefieldResponseNackPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int MinefieldResponseNackPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::MinefieldFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
const EntityID & MinefieldResponseNackPdu::getMinefieldID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & MinefieldResponseNackPdu::getMinefieldID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< EightByteChunk > & MinefieldResponseNackPdu::getMissingPduSequenceNumbers (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< EightByteChunk > & MinefieldResponseNackPdu::getMissingPduSequenceNumbers (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char MinefieldResponseNackPdu::getNumberOfMissingPdus (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char MinefieldResponseNackPdu::getRequestID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & MinefieldResponseNackPdu::getRequestingEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & MinefieldResponseNackPdu::getRequestingEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldResponseNackPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::MinefieldFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool MinefieldResponseNackPdu::operator== (const MinefieldResponseNackPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldResponseNackPdu::setMinefieldID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldResponseNackPdu::setMissingPduSequenceNumbers (const std::vector< EightByteChunk > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldResponseNackPdu::setRequestID (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldResponseNackPdu::setRequestingEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldResponseNackPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::MinefieldFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+ +
+ +

+Minefield ID +

+

+ +

+ +
+ +

+PDU sequence numbers that were missing +

+

+ +

+
+ + + + +
unsigned char DIS::MinefieldResponseNackPdu::_numberOfMissingPdus [protected]
+
+
+ +

+how many pdus were missing +

+

+ +

+
+ + + + +
unsigned char DIS::MinefieldResponseNackPdu::_requestID [protected]
+
+
+ +

+request ID +

+

+ +

+ +
+ +

+entity ID making the request +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_minefield_response_nack_pdu.png b/cpp/docs/html/class_d_i_s_1_1_minefield_response_nack_pdu.png new file mode 100644 index 00000000..a33307c9 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_minefield_response_nack_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_minefield_state_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_minefield_state_pdu-members.html new file mode 100644 index 00000000..f21c42f4 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_minefield_state_pdu-members.html @@ -0,0 +1,105 @@ + + +open-dis: Member List + + + + + +
+

DIS::MinefieldStatePdu Member List

This is the complete list of members for DIS::MinefieldStatePdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_appearanceDIS::MinefieldStatePdu [protected]
_exerciseIDDIS::Pdu [protected]
_forceIDDIS::MinefieldStatePdu [protected]
_lengthDIS::Pdu [protected]
_minefieldIDDIS::MinefieldStatePdu [protected]
_minefieldLocationDIS::MinefieldStatePdu [protected]
_minefieldOrientationDIS::MinefieldStatePdu [protected]
_minefieldSequenceDIS::MinefieldStatePdu [protected]
_minefieldTypeDIS::MinefieldStatePdu [protected]
_mineTypeDIS::MinefieldStatePdu [protected]
_numberOfMineTypesDIS::MinefieldStatePdu [protected]
_numberOfPerimeterPointsDIS::MinefieldStatePdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_perimeterPointsDIS::MinefieldStatePdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolModeDIS::MinefieldStatePdu [protected]
_protocolVersionDIS::Pdu [protected]
_timestampDIS::Pdu [protected]
getAppearance() const DIS::MinefieldStatePdu
getExerciseID() const DIS::Pdu
getForceID() const DIS::MinefieldStatePdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::MinefieldStatePdu [virtual]
getMinefieldID()DIS::MinefieldStatePdu
getMinefieldID() const DIS::MinefieldStatePdu
getMinefieldLocation()DIS::MinefieldStatePdu
getMinefieldLocation() const DIS::MinefieldStatePdu
getMinefieldOrientation()DIS::MinefieldStatePdu
getMinefieldOrientation() const DIS::MinefieldStatePdu
getMinefieldSequence() const DIS::MinefieldStatePdu
getMinefieldType()DIS::MinefieldStatePdu
getMinefieldType() const DIS::MinefieldStatePdu
getMineType()DIS::MinefieldStatePdu
getMineType() const DIS::MinefieldStatePdu
getNumberOfMineTypes() const DIS::MinefieldStatePdu
getNumberOfPerimeterPoints() const DIS::MinefieldStatePdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getPerimeterPoints()DIS::MinefieldStatePdu
getPerimeterPoints() const DIS::MinefieldStatePdu
getProtocolFamily() const DIS::Pdu
getProtocolMode() const DIS::MinefieldStatePdu
getProtocolVersion() const DIS::Pdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::MinefieldStatePdu [virtual]
MinefieldFamilyPdu()DIS::MinefieldFamilyPdu
MinefieldStatePdu()DIS::MinefieldStatePdu
operator==(const MinefieldStatePdu &rhs) const DIS::MinefieldStatePdu
DIS::MinefieldFamilyPdu::operator==(const MinefieldFamilyPdu &rhs) const DIS::MinefieldFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setAppearance(unsigned short pX)DIS::MinefieldStatePdu
setExerciseID(unsigned char pX)DIS::Pdu
setForceID(unsigned char pX)DIS::MinefieldStatePdu
setLength(unsigned short pX)DIS::Pdu
setMinefieldID(const EntityID &pX)DIS::MinefieldStatePdu
setMinefieldLocation(const Vector3Double &pX)DIS::MinefieldStatePdu
setMinefieldOrientation(const Orientation &pX)DIS::MinefieldStatePdu
setMinefieldSequence(unsigned short pX)DIS::MinefieldStatePdu
setMinefieldType(const EntityType &pX)DIS::MinefieldStatePdu
setMineType(const std::vector< EntityType > &pX)DIS::MinefieldStatePdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setPerimeterPoints(const std::vector< Point > &pX)DIS::MinefieldStatePdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolMode(unsigned short pX)DIS::MinefieldStatePdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setTimestamp(unsigned int pX)DIS::Pdu
unmarshal(DataStream &dataStream)DIS::MinefieldStatePdu [virtual]
~MinefieldFamilyPdu()DIS::MinefieldFamilyPdu [virtual]
~MinefieldStatePdu()DIS::MinefieldStatePdu [virtual]
~Pdu()DIS::Pdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_minefield_state_pdu.html b/cpp/docs/html/class_d_i_s_1_1_minefield_state_pdu.html new file mode 100644 index 00000000..cb327308 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_minefield_state_pdu.html @@ -0,0 +1,998 @@ + + +open-dis: DIS::MinefieldStatePdu Class Reference + + + + + +
+

DIS::MinefieldStatePdu Class Reference

#include <MinefieldStatePdu.h> +

+

+Inheritance diagram for DIS::MinefieldStatePdu:
+
+ +

+ +DIS::MinefieldFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 MinefieldStatePdu ()
virtual ~MinefieldStatePdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetMinefieldID ()
const EntityIDgetMinefieldID () const
void setMinefieldID (const EntityID &pX)
unsigned short getMinefieldSequence () const
void setMinefieldSequence (unsigned short pX)
unsigned char getForceID () const
void setForceID (unsigned char pX)
unsigned char getNumberOfPerimeterPoints () const
EntityTypegetMinefieldType ()
const EntityTypegetMinefieldType () const
void setMinefieldType (const EntityType &pX)
unsigned short getNumberOfMineTypes () const
Vector3DoublegetMinefieldLocation ()
const Vector3DoublegetMinefieldLocation () const
void setMinefieldLocation (const Vector3Double &pX)
OrientationgetMinefieldOrientation ()
const OrientationgetMinefieldOrientation () const
void setMinefieldOrientation (const Orientation &pX)
unsigned short getAppearance () const
void setAppearance (unsigned short pX)
unsigned short getProtocolMode () const
void setProtocolMode (unsigned short pX)
std::vector< Point > & getPerimeterPoints ()
const std::vector< Point > & getPerimeterPoints () const
void setPerimeterPoints (const std::vector< Point > &pX)
std::vector< EntityType > & getMineType ()
const std::vector< EntityType > & getMineType () const
void setMineType (const std::vector< EntityType > &pX)
virtual int getMarshalledSize () const
bool operator== (const MinefieldStatePdu &rhs) const

Protected Attributes

EntityID _minefieldID
unsigned short _minefieldSequence
unsigned char _forceID
unsigned char _numberOfPerimeterPoints
EntityType _minefieldType
unsigned short _numberOfMineTypes
Vector3Double _minefieldLocation
Orientation _minefieldOrientation
unsigned short _appearance
unsigned short _protocolMode
std::vector< Point_perimeterPoints
std::vector< EntityType_mineType
+


Detailed Description

+Section 5.3.10.1 Abstract superclass for PDUs relating to minefields. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
MinefieldStatePdu::MinefieldStatePdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
MinefieldStatePdu::~MinefieldStatePdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned short MinefieldStatePdu::getAppearance (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char MinefieldStatePdu::getForceID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int MinefieldStatePdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::MinefieldFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
const EntityID & MinefieldStatePdu::getMinefieldID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & MinefieldStatePdu::getMinefieldID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Vector3Double & MinefieldStatePdu::getMinefieldLocation (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Double & MinefieldStatePdu::getMinefieldLocation (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Orientation & MinefieldStatePdu::getMinefieldOrientation (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Orientation & MinefieldStatePdu::getMinefieldOrientation (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short MinefieldStatePdu::getMinefieldSequence (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityType & MinefieldStatePdu::getMinefieldType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityType & MinefieldStatePdu::getMinefieldType (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< EntityType > & MinefieldStatePdu::getMineType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< EntityType > & MinefieldStatePdu::getMineType (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short MinefieldStatePdu::getNumberOfMineTypes (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char MinefieldStatePdu::getNumberOfPerimeterPoints (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< Point > & MinefieldStatePdu::getPerimeterPoints (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< Point > & MinefieldStatePdu::getPerimeterPoints (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short MinefieldStatePdu::getProtocolMode (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldStatePdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::MinefieldFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool MinefieldStatePdu::operator== (const MinefieldStatePdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldStatePdu::setAppearance (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldStatePdu::setForceID (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldStatePdu::setMinefieldID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldStatePdu::setMinefieldLocation (const Vector3Double pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldStatePdu::setMinefieldOrientation (const Orientation pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldStatePdu::setMinefieldSequence (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldStatePdu::setMinefieldType (const EntityType pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldStatePdu::setMineType (const std::vector< EntityType > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldStatePdu::setPerimeterPoints (const std::vector< Point > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldStatePdu::setProtocolMode (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void MinefieldStatePdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::MinefieldFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned short DIS::MinefieldStatePdu::_appearance [protected]
+
+
+ +

+appearance bitflags +

+

+ +

+
+ + + + +
unsigned char DIS::MinefieldStatePdu::_forceID [protected]
+
+
+ +

+force ID +

+

+ +

+ +
+ +

+Minefield ID +

+

+ +

+ +
+ +

+location of minefield in world coords +

+

+ +

+ +
+ +

+orientation of minefield +

+

+ +

+
+ + + + +
unsigned short DIS::MinefieldStatePdu::_minefieldSequence [protected]
+
+
+ +

+Minefield sequence +

+

+ +

+ +
+ +

+type of minefield +

+

+ +

+
+ + + + +
std::vector<EntityType> DIS::MinefieldStatePdu::_mineType [protected]
+
+
+ +

+Type of mines +

+

+ +

+
+ + + + +
unsigned short DIS::MinefieldStatePdu::_numberOfMineTypes [protected]
+
+
+ +

+how many mine types +

+

+ +

+
+ + + + +
unsigned char DIS::MinefieldStatePdu::_numberOfPerimeterPoints [protected]
+
+
+ +

+Number of permieter points +

+

+ +

+
+ + + + +
std::vector<Point> DIS::MinefieldStatePdu::_perimeterPoints [protected]
+
+
+ +

+perimeter points for the minefield +

+

+ +

+
+ + + + +
unsigned short DIS::MinefieldStatePdu::_protocolMode [protected]
+
+
+ +

+protocolMode +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_minefield_state_pdu.png b/cpp/docs/html/class_d_i_s_1_1_minefield_state_pdu.png new file mode 100644 index 00000000..39d8c00b Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_minefield_state_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_modulation_type-members.html b/cpp/docs/html/class_d_i_s_1_1_modulation_type-members.html new file mode 100644 index 00000000..c2a3e3b6 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_modulation_type-members.html @@ -0,0 +1,50 @@ + + +open-dis: Member List + + + + + +
+

DIS::ModulationType Member List

This is the complete list of members for DIS::ModulationType, including all inherited members.

+ + + + + + + + + + + + + + + + + + +
_detailDIS::ModulationType [protected]
_majorDIS::ModulationType [protected]
_spreadSpectrumDIS::ModulationType [protected]
_systemDIS::ModulationType [protected]
getDetail() const DIS::ModulationType
getMajor() const DIS::ModulationType
getMarshalledSize() const DIS::ModulationType [virtual]
getSpreadSpectrum() const DIS::ModulationType
getSystem() const DIS::ModulationType
marshal(DataStream &dataStream) const DIS::ModulationType [virtual]
ModulationType()DIS::ModulationType
operator==(const ModulationType &rhs) const DIS::ModulationType
setDetail(unsigned short pX)DIS::ModulationType
setMajor(unsigned short pX)DIS::ModulationType
setSpreadSpectrum(unsigned short pX)DIS::ModulationType
setSystem(unsigned short pX)DIS::ModulationType
unmarshal(DataStream &dataStream)DIS::ModulationType [virtual]
~ModulationType()DIS::ModulationType [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_modulation_type.html b/cpp/docs/html/class_d_i_s_1_1_modulation_type.html new file mode 100644 index 00000000..0dbe0c84 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_modulation_type.html @@ -0,0 +1,420 @@ + + +open-dis: DIS::ModulationType Class Reference + + + + + +
+

DIS::ModulationType Class Reference

#include <ModulationType.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 ModulationType ()
virtual ~ModulationType ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned short getSpreadSpectrum () const
void setSpreadSpectrum (unsigned short pX)
unsigned short getMajor () const
void setMajor (unsigned short pX)
unsigned short getDetail () const
void setDetail (unsigned short pX)
unsigned short getSystem () const
void setSystem (unsigned short pX)
virtual int getMarshalledSize () const
bool operator== (const ModulationType &rhs) const

Protected Attributes

unsigned short _spreadSpectrum
unsigned short _major
unsigned short _detail
unsigned short _system
+


Detailed Description

+Radio modulation

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
ModulationType::ModulationType (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
ModulationType::~ModulationType (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned short ModulationType::getDetail (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short ModulationType::getMajor (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int ModulationType::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short ModulationType::getSpreadSpectrum (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short ModulationType::getSystem (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ModulationType::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool ModulationType::operator== (const ModulationType rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ModulationType::setDetail (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ModulationType::setMajor (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ModulationType::setSpreadSpectrum (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ModulationType::setSystem (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ModulationType::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned short DIS::ModulationType::_detail [protected]
+
+
+ +

+detail +

+

+ +

+
+ + + + +
unsigned short DIS::ModulationType::_major [protected]
+
+
+ +

+major +

+

+ +

+
+ + + + +
unsigned short DIS::ModulationType::_spreadSpectrum [protected]
+
+
+ +

+spread spectrum, 16 bit boolean array +

+

+ +

+
+ + + + +
unsigned short DIS::ModulationType::_system [protected]
+
+
+ +

+system +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_named_location-members.html b/cpp/docs/html/class_d_i_s_1_1_named_location-members.html new file mode 100644 index 00000000..ed26b860 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_named_location-members.html @@ -0,0 +1,44 @@ + + +open-dis: Member List + + + + + +
+

DIS::NamedLocation Member List

This is the complete list of members for DIS::NamedLocation, including all inherited members.

+ + + + + + + + + + + + +
_stationNameDIS::NamedLocation [protected]
_stationNumberDIS::NamedLocation [protected]
getMarshalledSize() const DIS::NamedLocation [virtual]
getStationName() const DIS::NamedLocation
getStationNumber() const DIS::NamedLocation
marshal(DataStream &dataStream) const DIS::NamedLocation [virtual]
NamedLocation()DIS::NamedLocation
operator==(const NamedLocation &rhs) const DIS::NamedLocation
setStationName(unsigned short pX)DIS::NamedLocation
setStationNumber(unsigned short pX)DIS::NamedLocation
unmarshal(DataStream &dataStream)DIS::NamedLocation [virtual]
~NamedLocation()DIS::NamedLocation [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_named_location.html b/cpp/docs/html/class_d_i_s_1_1_named_location.html new file mode 100644 index 00000000..b4ad2b5e --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_named_location.html @@ -0,0 +1,300 @@ + + +open-dis: DIS::NamedLocation Class Reference + + + + + +
+

DIS::NamedLocation Class Reference

#include <NamedLocation.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 NamedLocation ()
virtual ~NamedLocation ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned short getStationName () const
void setStationName (unsigned short pX)
unsigned short getStationNumber () const
void setStationNumber (unsigned short pX)
virtual int getMarshalledSize () const
bool operator== (const NamedLocation &rhs) const

Protected Attributes

unsigned short _stationName
unsigned short _stationNumber
+


Detailed Description

+discrete ostional relationsihip

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
NamedLocation::NamedLocation (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
NamedLocation::~NamedLocation (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int NamedLocation::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short NamedLocation::getStationName (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short NamedLocation::getStationNumber (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void NamedLocation::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool NamedLocation::operator== (const NamedLocation rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void NamedLocation::setStationName (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void NamedLocation::setStationNumber (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void NamedLocation::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned short DIS::NamedLocation::_stationName [protected]
+
+
+ +

+station name enumeration +

+

+ +

+
+ + + + +
unsigned short DIS::NamedLocation::_stationNumber [protected]
+
+
+ +

+station number +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_object_type-members.html b/cpp/docs/html/class_d_i_s_1_1_object_type-members.html new file mode 100644 index 00000000..2a601ac1 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_object_type-members.html @@ -0,0 +1,53 @@ + + +open-dis: Member List + + + + + +
+

DIS::ObjectType Member List

This is the complete list of members for DIS::ObjectType, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + +
_categoryDIS::ObjectType [protected]
_countryDIS::ObjectType [protected]
_domainDIS::ObjectType [protected]
_entityKindDIS::ObjectType [protected]
_subcategoryDIS::ObjectType [protected]
getCategory() const DIS::ObjectType
getCountry() const DIS::ObjectType
getDomain() const DIS::ObjectType
getEntityKind() const DIS::ObjectType
getMarshalledSize() const DIS::ObjectType [virtual]
getSubcategory() const DIS::ObjectType
marshal(DataStream &dataStream) const DIS::ObjectType [virtual]
ObjectType()DIS::ObjectType
operator==(const ObjectType &rhs) const DIS::ObjectType
setCategory(unsigned char pX)DIS::ObjectType
setCountry(unsigned short pX)DIS::ObjectType
setDomain(unsigned char pX)DIS::ObjectType
setEntityKind(unsigned char pX)DIS::ObjectType
setSubcategory(unsigned char pX)DIS::ObjectType
unmarshal(DataStream &dataStream)DIS::ObjectType [virtual]
~ObjectType()DIS::ObjectType [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_object_type.html b/cpp/docs/html/class_d_i_s_1_1_object_type.html new file mode 100644 index 00000000..55f181ba --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_object_type.html @@ -0,0 +1,480 @@ + + +open-dis: DIS::ObjectType Class Reference + + + + + +
+

DIS::ObjectType Class Reference

#include <ObjectType.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 ObjectType ()
virtual ~ObjectType ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned char getEntityKind () const
void setEntityKind (unsigned char pX)
unsigned char getDomain () const
void setDomain (unsigned char pX)
unsigned short getCountry () const
void setCountry (unsigned short pX)
unsigned char getCategory () const
void setCategory (unsigned char pX)
unsigned char getSubcategory () const
void setSubcategory (unsigned char pX)
virtual int getMarshalledSize () const
bool operator== (const ObjectType &rhs) const

Protected Attributes

unsigned char _entityKind
unsigned char _domain
unsigned short _country
unsigned char _category
unsigned char _subcategory
+


Detailed Description

+Identifies type of object. This is a shorter version of EntityType that omits the specific and extra fields.

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
ObjectType::ObjectType (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
ObjectType::~ObjectType (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned char ObjectType::getCategory (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short ObjectType::getCountry (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char ObjectType::getDomain (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char ObjectType::getEntityKind (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int ObjectType::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char ObjectType::getSubcategory (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ObjectType::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool ObjectType::operator== (const ObjectType rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ObjectType::setCategory (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ObjectType::setCountry (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ObjectType::setDomain (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ObjectType::setEntityKind (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ObjectType::setSubcategory (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ObjectType::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned char DIS::ObjectType::_category [protected]
+
+
+ +

+category of entity +

+

+ +

+
+ + + + +
unsigned short DIS::ObjectType::_country [protected]
+
+
+ +

+country to which the design of the entity is attributed +

+

+ +

+
+ + + + +
unsigned char DIS::ObjectType::_domain [protected]
+
+
+ +

+Domain of entity (air, surface, subsurface, space, etc) +

+

+ +

+
+ + + + +
unsigned char DIS::ObjectType::_entityKind [protected]
+
+
+ +

+Kind of entity +

+

+ +

+
+ + + + +
unsigned char DIS::ObjectType::_subcategory [protected]
+
+
+ +

+subcategory of entity +

+

+


The documentation for this class was generated from the following files:
    +
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ObjectType.h
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ObjectType.cpp
+
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_one_byte_chunk-members.html b/cpp/docs/html/class_d_i_s_1_1_one_byte_chunk-members.html new file mode 100644 index 00000000..5550196a --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_one_byte_chunk-members.html @@ -0,0 +1,42 @@ + + +open-dis: Member List + + + + + +
+

DIS::OneByteChunk Member List

This is the complete list of members for DIS::OneByteChunk, including all inherited members.

+ + + + + + + + + + +
_otherParametersDIS::OneByteChunk [protected]
getMarshalledSize() const DIS::OneByteChunk [virtual]
getOtherParameters()DIS::OneByteChunk
getOtherParameters() const DIS::OneByteChunk
marshal(DataStream &dataStream) const DIS::OneByteChunk [virtual]
OneByteChunk()DIS::OneByteChunk
operator==(const OneByteChunk &rhs) const DIS::OneByteChunk
setOtherParameters(const char *pX)DIS::OneByteChunk
unmarshal(DataStream &dataStream)DIS::OneByteChunk [virtual]
~OneByteChunk()DIS::OneByteChunk [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_one_byte_chunk.html b/cpp/docs/html/class_d_i_s_1_1_one_byte_chunk.html new file mode 100644 index 00000000..e4da60f7 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_one_byte_chunk.html @@ -0,0 +1,261 @@ + + +open-dis: DIS::OneByteChunk Class Reference + + + + + +
+

DIS::OneByteChunk Class Reference

#include <OneByteChunk.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 OneByteChunk ()
virtual ~OneByteChunk ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
char * getOtherParameters ()
const char * getOtherParameters () const
void setOtherParameters (const char *pX)
virtual int getMarshalledSize () const
bool operator== (const OneByteChunk &rhs) const

Protected Attributes

char _otherParameters [1]
+


Detailed Description

+8 bit piece of data

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
OneByteChunk::OneByteChunk (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
OneByteChunk::~OneByteChunk (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int OneByteChunk::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const char * OneByteChunk::getOtherParameters (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
char * OneByteChunk::getOtherParameters (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void OneByteChunk::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool OneByteChunk::operator== (const OneByteChunk rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void OneByteChunk::setOtherParameters (const char *  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void OneByteChunk::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
char DIS::OneByteChunk::_otherParameters[1] [protected]
+
+
+ +

+one byte of arbitrary data +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_orientation-members.html b/cpp/docs/html/class_d_i_s_1_1_orientation-members.html new file mode 100644 index 00000000..b053f750 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_orientation-members.html @@ -0,0 +1,47 @@ + + +open-dis: Member List + + + + + +
+

DIS::Orientation Member List

This is the complete list of members for DIS::Orientation, including all inherited members.

+ + + + + + + + + + + + + + + +
_phiDIS::Orientation [protected]
_psiDIS::Orientation [protected]
_thetaDIS::Orientation [protected]
getMarshalledSize() const DIS::Orientation [virtual]
getPhi() const DIS::Orientation
getPsi() const DIS::Orientation
getTheta() const DIS::Orientation
marshal(DataStream &dataStream) const DIS::Orientation [virtual]
operator==(const Orientation &rhs) const DIS::Orientation
Orientation()DIS::Orientation
setPhi(float pX)DIS::Orientation
setPsi(float pX)DIS::Orientation
setTheta(float pX)DIS::Orientation
unmarshal(DataStream &dataStream)DIS::Orientation [virtual]
~Orientation()DIS::Orientation [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_orientation.html b/cpp/docs/html/class_d_i_s_1_1_orientation.html new file mode 100644 index 00000000..fed582c6 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_orientation.html @@ -0,0 +1,360 @@ + + +open-dis: DIS::Orientation Class Reference + + + + + +
+

DIS::Orientation Class Reference

#include <Orientation.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 Orientation ()
virtual ~Orientation ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
float getPsi () const
void setPsi (float pX)
float getTheta () const
void setTheta (float pX)
float getPhi () const
void setPhi (float pX)
virtual int getMarshalledSize () const
bool operator== (const Orientation &rhs) const

Protected Attributes

float _psi
float _theta
float _phi
+


Detailed Description

+Section 5.2.17. Three floating point values representing an orientation, psi, theta, and phi, aka the euler angles, in radians

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
Orientation::Orientation (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Orientation::~Orientation (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int Orientation::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float Orientation::getPhi (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float Orientation::getPsi (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float Orientation::getTheta (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Orientation::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool Orientation::operator== (const Orientation rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Orientation::setPhi (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Orientation::setPsi (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Orientation::setTheta (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Orientation::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
float DIS::Orientation::_phi [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + +
float DIS::Orientation::_psi [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + +
float DIS::Orientation::_theta [protected]
+
+
+ +

+ +

+

+


The documentation for this class was generated from the following files:
    +
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Orientation.h
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Orientation.cpp
+
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_pdu-members.html new file mode 100644 index 00000000..9dca63e1 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_pdu-members.html @@ -0,0 +1,59 @@ + + +open-dis: Member List + + + + + +
+

DIS::Pdu Member List

This is the complete list of members for DIS::Pdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_timestampDIS::Pdu [protected]
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::Pdu [virtual]
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::Pdu [virtual]
operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setTimestamp(unsigned int pX)DIS::Pdu
unmarshal(DataStream &dataStream)DIS::Pdu [virtual]
~Pdu()DIS::Pdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_pdu.html b/cpp/docs/html/class_d_i_s_1_1_pdu.html new file mode 100644 index 00000000..e8fca1ac --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_pdu.html @@ -0,0 +1,626 @@ + + +open-dis: DIS::Pdu Class Reference + + + + + +
+

DIS::Pdu Class Reference

#include <Pdu.h> +

+

+Inheritance diagram for DIS::Pdu:
+
+ +

+ +DIS::DistributedEmissionsFamilyPdu +DIS::EntityInformationFamilyPdu +DIS::EntityManagementFamilyPdu +DIS::LogisticsFamilyPdu +DIS::LogisticsPdu +DIS::MinefieldFamilyPdu +DIS::MinefieldPduFamily +DIS::RadioCommunicationsFamilyPdu +DIS::SimulationManagementFamilyPdu +DIS::SimulationManagementWithReliabilityFamilyPdu +DIS::SyntheticEnvironmentFamilyPdu +DIS::WarfareFamilyPdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 Pdu ()
virtual ~Pdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned char getProtocolVersion () const
void setProtocolVersion (unsigned char pX)
unsigned char getExerciseID () const
void setExerciseID (unsigned char pX)
unsigned char getPduType () const
void setPduType (unsigned char pX)
unsigned char getProtocolFamily () const
void setProtocolFamily (unsigned char pX)
unsigned int getTimestamp () const
void setTimestamp (unsigned int pX)
unsigned short getLength () const
void setLength (unsigned short pX)
short getPadding () const
void setPadding (short pX)
virtual int getMarshalledSize () const
bool operator== (const Pdu &rhs) const

Protected Attributes

unsigned char _protocolVersion
unsigned char _exerciseID
unsigned char _pduType
unsigned char _protocolFamily
unsigned int _timestamp
unsigned short _length
short _padding
+


Detailed Description

+The superclass for all PDUs. This incorporates the PduHeader record, section 5.2.29.

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
Pdu::Pdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Pdu::~Pdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned char Pdu::getExerciseID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short Pdu::getLength (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int Pdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented in DIS::AcknowledgePdu, DIS::AcknowledgeReliablePdu, DIS::ActionRequestPdu, DIS::ActionRequestReliablePdu, DIS::ActionResponsePdu, DIS::ActionResponseReliablePdu, DIS::AggregateStatePdu, DIS::ArealObjectStatePdu, DIS::CollisionElasticPdu, DIS::CollisionPdu, DIS::CommentPdu, DIS::CommentReliablePdu, DIS::CreateEntityPdu, DIS::CreateEntityReliablePdu, DIS::DataPdu, DIS::DataQueryPdu, DIS::DataQueryReliablePdu, DIS::DataReliablePdu, DIS::DesignatorPdu, DIS::DetonationPdu, DIS::DistributedEmissionsFamilyPdu, DIS::ElectronicEmissionsPdu, DIS::EntityInformationFamilyPdu, DIS::EntityManagementFamilyPdu, DIS::EntityStatePdu, DIS::EntityStateUpdatePdu, DIS::EnvironmentalProcessPdu, DIS::EventReportPdu, DIS::EventReportReliablePdu, DIS::FastEntityStatePdu, DIS::FirePdu, DIS::GriddedDataPdu, DIS::IffAtcNavAidsLayer1Pdu, DIS::IffAtcNavAidsLayer2Pdu, DIS::IntercomControlPdu, DIS::IntercomSignalPdu, DIS::IsGroupOfPdu, DIS::IsPartOfPdu, DIS::LinearObjectStatePdu, DIS::LogisticsFamilyPdu, DIS::LogisticsPdu, DIS::MinefieldDataPdu, DIS::MinefieldFamilyPdu, DIS::MinefieldPduFamily, DIS::MinefieldQueryPdu, DIS::MinefieldResponseNackPdu, DIS::MinefieldStatePdu, DIS::PointObjectStatePdu, DIS::RadioCommunicationsFamilyPdu, DIS::ReceiverPdu, DIS::RecordQueryReliablePdu, DIS::RemoveEntityPdu, DIS::RemoveEntityReliablePdu, DIS::RepairCompletePdu, DIS::RepairResponsePdu, DIS::ResupplyCancelPdu, DIS::ResupplyOfferPdu, DIS::ResupplyReceivedPdu, DIS::SeesPdu, DIS::ServiceRequestPdu, DIS::SetDataPdu, DIS::SetDataReliablePdu, DIS::SetRecordReliablePdu, DIS::SignalPdu, DIS::SimulationManagementFamilyPdu, DIS::SimulationManagementWithReliabilityFamilyPdu, DIS::StartResumePdu, DIS::StartResumeReliablePdu, DIS::StopFreezePdu, DIS::StopFreezeReliablePdu, DIS::SyntheticEnvironmentFamilyPdu, DIS::TransferControlRequestPdu, DIS::TransmitterPdu, DIS::UaPdu, and DIS::WarfareFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
short Pdu::getPadding (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char Pdu::getPduType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char Pdu::getProtocolFamily (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char Pdu::getProtocolVersion (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int Pdu::getTimestamp (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Pdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented in DIS::AcknowledgePdu, DIS::AcknowledgeReliablePdu, DIS::ActionRequestPdu, DIS::ActionRequestReliablePdu, DIS::ActionResponsePdu, DIS::ActionResponseReliablePdu, DIS::AggregateStatePdu, DIS::ArealObjectStatePdu, DIS::CollisionElasticPdu, DIS::CollisionPdu, DIS::CommentPdu, DIS::CommentReliablePdu, DIS::CreateEntityPdu, DIS::CreateEntityReliablePdu, DIS::DataPdu, DIS::DataQueryPdu, DIS::DataQueryReliablePdu, DIS::DataReliablePdu, DIS::DesignatorPdu, DIS::DetonationPdu, DIS::DistributedEmissionsFamilyPdu, DIS::ElectronicEmissionsPdu, DIS::EntityInformationFamilyPdu, DIS::EntityManagementFamilyPdu, DIS::EntityStatePdu, DIS::EntityStateUpdatePdu, DIS::EnvironmentalProcessPdu, DIS::EventReportPdu, DIS::EventReportReliablePdu, DIS::FastEntityStatePdu, DIS::FirePdu, DIS::GriddedDataPdu, DIS::IffAtcNavAidsLayer1Pdu, DIS::IffAtcNavAidsLayer2Pdu, DIS::IntercomControlPdu, DIS::IntercomSignalPdu, DIS::IsGroupOfPdu, DIS::IsPartOfPdu, DIS::LinearObjectStatePdu, DIS::LogisticsFamilyPdu, DIS::LogisticsPdu, DIS::MinefieldDataPdu, DIS::MinefieldFamilyPdu, DIS::MinefieldPduFamily, DIS::MinefieldQueryPdu, DIS::MinefieldResponseNackPdu, DIS::MinefieldStatePdu, DIS::PointObjectStatePdu, DIS::RadioCommunicationsFamilyPdu, DIS::ReceiverPdu, DIS::RecordQueryReliablePdu, DIS::RemoveEntityPdu, DIS::RemoveEntityReliablePdu, DIS::RepairCompletePdu, DIS::RepairResponsePdu, DIS::ResupplyCancelPdu, DIS::ResupplyOfferPdu, DIS::ResupplyReceivedPdu, DIS::SeesPdu, DIS::ServiceRequestPdu, DIS::SetDataPdu, DIS::SetDataReliablePdu, DIS::SetRecordReliablePdu, DIS::SignalPdu, DIS::SimulationManagementFamilyPdu, DIS::SimulationManagementWithReliabilityFamilyPdu, DIS::StartResumePdu, DIS::StartResumeReliablePdu, DIS::StopFreezePdu, DIS::StopFreezeReliablePdu, DIS::SyntheticEnvironmentFamilyPdu, DIS::TransferControlRequestPdu, DIS::TransmitterPdu, DIS::UaPdu, and DIS::WarfareFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool Pdu::operator== (const Pdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Pdu::setExerciseID (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Pdu::setLength (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Pdu::setPadding (short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Pdu::setPduType (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Pdu::setProtocolFamily (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Pdu::setProtocolVersion (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Pdu::setTimestamp (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Pdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented in DIS::AcknowledgePdu, DIS::AcknowledgeReliablePdu, DIS::ActionRequestPdu, DIS::ActionRequestReliablePdu, DIS::ActionResponsePdu, DIS::ActionResponseReliablePdu, DIS::AggregateStatePdu, DIS::ArealObjectStatePdu, DIS::CollisionElasticPdu, DIS::CollisionPdu, DIS::CommentPdu, DIS::CommentReliablePdu, DIS::CreateEntityPdu, DIS::CreateEntityReliablePdu, DIS::DataPdu, DIS::DataQueryPdu, DIS::DataQueryReliablePdu, DIS::DataReliablePdu, DIS::DesignatorPdu, DIS::DetonationPdu, DIS::DistributedEmissionsFamilyPdu, DIS::ElectronicEmissionsPdu, DIS::EntityInformationFamilyPdu, DIS::EntityManagementFamilyPdu, DIS::EntityStatePdu, DIS::EntityStateUpdatePdu, DIS::EnvironmentalProcessPdu, DIS::EventReportPdu, DIS::EventReportReliablePdu, DIS::FastEntityStatePdu, DIS::FirePdu, DIS::GriddedDataPdu, DIS::IffAtcNavAidsLayer1Pdu, DIS::IffAtcNavAidsLayer2Pdu, DIS::IntercomControlPdu, DIS::IntercomSignalPdu, DIS::IsGroupOfPdu, DIS::IsPartOfPdu, DIS::LinearObjectStatePdu, DIS::LogisticsFamilyPdu, DIS::LogisticsPdu, DIS::MinefieldDataPdu, DIS::MinefieldFamilyPdu, DIS::MinefieldPduFamily, DIS::MinefieldQueryPdu, DIS::MinefieldResponseNackPdu, DIS::MinefieldStatePdu, DIS::PointObjectStatePdu, DIS::RadioCommunicationsFamilyPdu, DIS::ReceiverPdu, DIS::RecordQueryReliablePdu, DIS::RemoveEntityPdu, DIS::RemoveEntityReliablePdu, DIS::RepairCompletePdu, DIS::RepairResponsePdu, DIS::ResupplyCancelPdu, DIS::ResupplyOfferPdu, DIS::ResupplyReceivedPdu, DIS::SeesPdu, DIS::ServiceRequestPdu, DIS::SetDataPdu, DIS::SetDataReliablePdu, DIS::SetRecordReliablePdu, DIS::SignalPdu, DIS::SimulationManagementFamilyPdu, DIS::SimulationManagementWithReliabilityFamilyPdu, DIS::StartResumePdu, DIS::StartResumeReliablePdu, DIS::StopFreezePdu, DIS::StopFreezeReliablePdu, DIS::SyntheticEnvironmentFamilyPdu, DIS::TransferControlRequestPdu, DIS::TransmitterPdu, DIS::UaPdu, and DIS::WarfareFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned char DIS::Pdu::_exerciseID [protected]
+
+
+ +

+Exercise ID +

+

+ +

+
+ + + + +
unsigned short DIS::Pdu::_length [protected]
+
+
+ +

+Length, in bytes, of the PDU +

+

+ +

+
+ + + + +
short DIS::Pdu::_padding [protected]
+
+
+ +

+zero-filled array of padding +

+

+ +

+
+ + + + +
unsigned char DIS::Pdu::_pduType [protected]
+
+
+ +

+Type of pdu, unique for each PDU class +

+

+ +

+
+ + + + +
unsigned char DIS::Pdu::_protocolFamily [protected]
+
+
+ +

+value that refers to the protocol family, eg SimulationManagement, et +

+

+ +

+
+ + + + +
unsigned char DIS::Pdu::_protocolVersion [protected]
+
+
+ +

+The version of the protocol. 5=DIS-1995, 6=DIS-1998. +

+

+ +

+
+ + + + +
unsigned int DIS::Pdu::_timestamp [protected]
+
+
+ +

+Timestamp value +

+

+


The documentation for this class was generated from the following files:
    +
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Pdu.h
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Pdu.cpp
+
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_pdu.png b/cpp/docs/html/class_d_i_s_1_1_pdu.png new file mode 100644 index 00000000..880c04c1 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_pdu_container-members.html b/cpp/docs/html/class_d_i_s_1_1_pdu_container-members.html new file mode 100644 index 00000000..ec8ceade --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_pdu_container-members.html @@ -0,0 +1,44 @@ + + +open-dis: Member List + + + + + +
+

DIS::PduContainer Member List

This is the complete list of members for DIS::PduContainer, including all inherited members.

+ + + + + + + + + + + + +
_numberOfPdusDIS::PduContainer [protected]
_pdusDIS::PduContainer [protected]
getMarshalledSize() const DIS::PduContainer [virtual]
getNumberOfPdus() const DIS::PduContainer
getPdus()DIS::PduContainer
getPdus() const DIS::PduContainer
marshal(DataStream &dataStream) const DIS::PduContainer [virtual]
operator==(const PduContainer &rhs) const DIS::PduContainer
PduContainer()DIS::PduContainer
setPdus(const std::vector< Pdu > &pX)DIS::PduContainer
unmarshal(DataStream &dataStream)DIS::PduContainer [virtual]
~PduContainer()DIS::PduContainer [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_pdu_container.html b/cpp/docs/html/class_d_i_s_1_1_pdu_container.html new file mode 100644 index 00000000..c9976921 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_pdu_container.html @@ -0,0 +1,299 @@ + + +open-dis: DIS::PduContainer Class Reference + + + + + +
+

DIS::PduContainer Class Reference

#include <PduContainer.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 PduContainer ()
virtual ~PduContainer ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
int getNumberOfPdus () const
std::vector< Pdu > & getPdus ()
const std::vector< Pdu > & getPdus () const
void setPdus (const std::vector< Pdu > &pX)
virtual int getMarshalledSize () const
bool operator== (const PduContainer &rhs) const

Protected Attributes

int _numberOfPdus
std::vector< Pdu_pdus
+


Detailed Description

+Used for XML compatability. A container that holds PDUs

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
PduContainer::PduContainer (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
PduContainer::~PduContainer (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int PduContainer::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int PduContainer::getNumberOfPdus (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< Pdu > & PduContainer::getPdus (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< Pdu > & PduContainer::getPdus (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void PduContainer::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool PduContainer::operator== (const PduContainer rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void PduContainer::setPdus (const std::vector< Pdu > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void PduContainer::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
int DIS::PduContainer::_numberOfPdus [protected]
+
+
+ +

+Number of PDUs in the container list +

+

+ +

+
+ + + + +
std::vector<Pdu> DIS::PduContainer::_pdus [protected]
+
+
+ +

+record sets +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_point-members.html b/cpp/docs/html/class_d_i_s_1_1_point-members.html new file mode 100644 index 00000000..01c72a44 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_point-members.html @@ -0,0 +1,44 @@ + + +open-dis: Member List + + + + + +
+

DIS::Point Member List

This is the complete list of members for DIS::Point, including all inherited members.

+ + + + + + + + + + + + +
_xDIS::Point [protected]
_yDIS::Point [protected]
getMarshalledSize() const DIS::Point [virtual]
getX() const DIS::Point
getY() const DIS::Point
marshal(DataStream &dataStream) const DIS::Point [virtual]
operator==(const Point &rhs) const DIS::Point
Point()DIS::Point
setX(float pX)DIS::Point
setY(float pX)DIS::Point
unmarshal(DataStream &dataStream)DIS::Point [virtual]
~Point()DIS::Point [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_point.html b/cpp/docs/html/class_d_i_s_1_1_point.html new file mode 100644 index 00000000..7569da87 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_point.html @@ -0,0 +1,300 @@ + + +open-dis: DIS::Point Class Reference + + + + + +
+

DIS::Point Class Reference

#include <Point.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 Point ()
virtual ~Point ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
float getX () const
void setX (float pX)
float getY () const
void setY (float pX)
virtual int getMarshalledSize () const
bool operator== (const Point &rhs) const

Protected Attributes

float _x
float _y
+


Detailed Description

+x,y point

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
Point::Point (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Point::~Point (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int Point::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float Point::getX (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float Point::getY (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Point::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool Point::operator== (const Point rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Point::setX (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Point::setY (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Point::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
float DIS::Point::_x [protected]
+
+
+ +

+x +

+

+ +

+
+ + + + +
float DIS::Point::_y [protected]
+
+
+ +

+y +

+

+


The documentation for this class was generated from the following files:
    +
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Point.h
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Point.cpp
+
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_point_object_state_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_point_object_state_pdu-members.html new file mode 100644 index 00000000..e987faae --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_point_object_state_pdu-members.html @@ -0,0 +1,108 @@ + + +open-dis: Member List + + + + + +
+

DIS::PointObjectStatePdu Member List

This is the complete list of members for DIS::PointObjectStatePdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_forceIDDIS::PointObjectStatePdu [protected]
_lengthDIS::Pdu [protected]
_modificationsDIS::PointObjectStatePdu [protected]
_objectAppearanceDIS::PointObjectStatePdu [protected]
_objectIDDIS::PointObjectStatePdu [protected]
_objectLocationDIS::PointObjectStatePdu [protected]
_objectOrientationDIS::PointObjectStatePdu [protected]
_objectTypeDIS::PointObjectStatePdu [protected]
_pad2DIS::PointObjectStatePdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingIDDIS::PointObjectStatePdu [protected]
_referencedObjectIDDIS::PointObjectStatePdu [protected]
_requesterIDDIS::PointObjectStatePdu [protected]
_timestampDIS::Pdu [protected]
_updateNumberDIS::PointObjectStatePdu [protected]
getExerciseID() const DIS::Pdu
getForceID() const DIS::PointObjectStatePdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::PointObjectStatePdu [virtual]
getModifications() const DIS::PointObjectStatePdu
getObjectAppearance() const DIS::PointObjectStatePdu
getObjectID()DIS::PointObjectStatePdu
getObjectID() const DIS::PointObjectStatePdu
getObjectLocation()DIS::PointObjectStatePdu
getObjectLocation() const DIS::PointObjectStatePdu
getObjectOrientation()DIS::PointObjectStatePdu
getObjectOrientation() const DIS::PointObjectStatePdu
getObjectType()DIS::PointObjectStatePdu
getObjectType() const DIS::PointObjectStatePdu
getPad2() const DIS::PointObjectStatePdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingID()DIS::PointObjectStatePdu
getReceivingID() const DIS::PointObjectStatePdu
getReferencedObjectID()DIS::PointObjectStatePdu
getReferencedObjectID() const DIS::PointObjectStatePdu
getRequesterID()DIS::PointObjectStatePdu
getRequesterID() const DIS::PointObjectStatePdu
getTimestamp() const DIS::Pdu
getUpdateNumber() const DIS::PointObjectStatePdu
marshal(DataStream &dataStream) const DIS::PointObjectStatePdu [virtual]
operator==(const PointObjectStatePdu &rhs) const DIS::PointObjectStatePdu
DIS::SyntheticEnvironmentFamilyPdu::operator==(const SyntheticEnvironmentFamilyPdu &rhs) const DIS::SyntheticEnvironmentFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
PointObjectStatePdu()DIS::PointObjectStatePdu
setExerciseID(unsigned char pX)DIS::Pdu
setForceID(unsigned char pX)DIS::PointObjectStatePdu
setLength(unsigned short pX)DIS::Pdu
setModifications(unsigned char pX)DIS::PointObjectStatePdu
setObjectAppearance(double pX)DIS::PointObjectStatePdu
setObjectID(const EntityID &pX)DIS::PointObjectStatePdu
setObjectLocation(const Vector3Double &pX)DIS::PointObjectStatePdu
setObjectOrientation(const Orientation &pX)DIS::PointObjectStatePdu
setObjectType(const ObjectType &pX)DIS::PointObjectStatePdu
setPad2(unsigned int pX)DIS::PointObjectStatePdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingID(const SimulationAddress &pX)DIS::PointObjectStatePdu
setReferencedObjectID(const EntityID &pX)DIS::PointObjectStatePdu
setRequesterID(const SimulationAddress &pX)DIS::PointObjectStatePdu
setTimestamp(unsigned int pX)DIS::Pdu
setUpdateNumber(unsigned short pX)DIS::PointObjectStatePdu
SyntheticEnvironmentFamilyPdu()DIS::SyntheticEnvironmentFamilyPdu
unmarshal(DataStream &dataStream)DIS::PointObjectStatePdu [virtual]
~Pdu()DIS::Pdu [virtual]
~PointObjectStatePdu()DIS::PointObjectStatePdu [virtual]
~SyntheticEnvironmentFamilyPdu()DIS::SyntheticEnvironmentFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_point_object_state_pdu.html b/cpp/docs/html/class_d_i_s_1_1_point_object_state_pdu.html new file mode 100644 index 00000000..84ad7fbe --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_point_object_state_pdu.html @@ -0,0 +1,1063 @@ + + +open-dis: DIS::PointObjectStatePdu Class Reference + + + + + +
+

DIS::PointObjectStatePdu Class Reference

#include <PointObjectStatePdu.h> +

+

+Inheritance diagram for DIS::PointObjectStatePdu:
+
+ +

+ +DIS::SyntheticEnvironmentFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 PointObjectStatePdu ()
virtual ~PointObjectStatePdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetObjectID ()
const EntityIDgetObjectID () const
void setObjectID (const EntityID &pX)
EntityIDgetReferencedObjectID ()
const EntityIDgetReferencedObjectID () const
void setReferencedObjectID (const EntityID &pX)
unsigned short getUpdateNumber () const
void setUpdateNumber (unsigned short pX)
unsigned char getForceID () const
void setForceID (unsigned char pX)
unsigned char getModifications () const
void setModifications (unsigned char pX)
ObjectTypegetObjectType ()
const ObjectTypegetObjectType () const
void setObjectType (const ObjectType &pX)
Vector3DoublegetObjectLocation ()
const Vector3DoublegetObjectLocation () const
void setObjectLocation (const Vector3Double &pX)
OrientationgetObjectOrientation ()
const OrientationgetObjectOrientation () const
void setObjectOrientation (const Orientation &pX)
double getObjectAppearance () const
void setObjectAppearance (double pX)
SimulationAddressgetRequesterID ()
const SimulationAddressgetRequesterID () const
void setRequesterID (const SimulationAddress &pX)
SimulationAddressgetReceivingID ()
const SimulationAddressgetReceivingID () const
void setReceivingID (const SimulationAddress &pX)
unsigned int getPad2 () const
void setPad2 (unsigned int pX)
virtual int getMarshalledSize () const
bool operator== (const PointObjectStatePdu &rhs) const

Protected Attributes

EntityID _objectID
EntityID _referencedObjectID
unsigned short _updateNumber
unsigned char _forceID
unsigned char _modifications
ObjectType _objectType
Vector3Double _objectLocation
Orientation _objectOrientation
double _objectAppearance
SimulationAddress _requesterID
SimulationAddress _receivingID
unsigned int _pad2
+


Detailed Description

+Section 5.3.11.3: Inormation abut the addition or modification of a synthecic enviroment object that is anchored to the terrain with a single point. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
PointObjectStatePdu::PointObjectStatePdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
PointObjectStatePdu::~PointObjectStatePdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned char PointObjectStatePdu::getForceID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int PointObjectStatePdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SyntheticEnvironmentFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
unsigned char PointObjectStatePdu::getModifications (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
double PointObjectStatePdu::getObjectAppearance (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & PointObjectStatePdu::getObjectID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & PointObjectStatePdu::getObjectID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Vector3Double & PointObjectStatePdu::getObjectLocation (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Double & PointObjectStatePdu::getObjectLocation (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Orientation & PointObjectStatePdu::getObjectOrientation (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Orientation & PointObjectStatePdu::getObjectOrientation (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const ObjectType & PointObjectStatePdu::getObjectType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
ObjectType & PointObjectStatePdu::getObjectType (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int PointObjectStatePdu::getPad2 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const SimulationAddress & PointObjectStatePdu::getReceivingID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
SimulationAddress & PointObjectStatePdu::getReceivingID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & PointObjectStatePdu::getReferencedObjectID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & PointObjectStatePdu::getReferencedObjectID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const SimulationAddress & PointObjectStatePdu::getRequesterID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
SimulationAddress & PointObjectStatePdu::getRequesterID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short PointObjectStatePdu::getUpdateNumber (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void PointObjectStatePdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SyntheticEnvironmentFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool PointObjectStatePdu::operator== (const PointObjectStatePdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void PointObjectStatePdu::setForceID (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void PointObjectStatePdu::setModifications (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void PointObjectStatePdu::setObjectAppearance (double  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void PointObjectStatePdu::setObjectID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void PointObjectStatePdu::setObjectLocation (const Vector3Double pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void PointObjectStatePdu::setObjectOrientation (const Orientation pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void PointObjectStatePdu::setObjectType (const ObjectType pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void PointObjectStatePdu::setPad2 (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void PointObjectStatePdu::setReceivingID (const SimulationAddress pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void PointObjectStatePdu::setReferencedObjectID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void PointObjectStatePdu::setRequesterID (const SimulationAddress pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void PointObjectStatePdu::setUpdateNumber (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void PointObjectStatePdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SyntheticEnvironmentFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned char DIS::PointObjectStatePdu::_forceID [protected]
+
+
+ +

+force ID +

+

+ +

+
+ + + + +
unsigned char DIS::PointObjectStatePdu::_modifications [protected]
+
+
+ +

+modifications +

+

+ +

+
+ + + + +
double DIS::PointObjectStatePdu::_objectAppearance [protected]
+
+
+ +

+Object apperance +

+

+ +

+ +
+ +

+Object in synthetic environment +

+

+ +

+ +
+ +

+Object location +

+

+ +

+ +
+ +

+Object orientation +

+

+ +

+ +
+ +

+Object type +

+

+ +

+
+ + + + +
unsigned int DIS::PointObjectStatePdu::_pad2 [protected]
+
+
+ +

+padding +

+

+ +

+ +
+ +

+receiver ID +

+

+ +

+ +
+ +

+Object with which this point object is associated +

+

+ +

+ +
+ +

+requesterID +

+

+ +

+
+ + + + +
unsigned short DIS::PointObjectStatePdu::_updateNumber [protected]
+
+
+ +

+unique update number of each state transition of an object +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_point_object_state_pdu.png b/cpp/docs/html/class_d_i_s_1_1_point_object_state_pdu.png new file mode 100644 index 00000000..906819b6 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_point_object_state_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_propulsion_system_data-members.html b/cpp/docs/html/class_d_i_s_1_1_propulsion_system_data-members.html new file mode 100644 index 00000000..d67878d3 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_propulsion_system_data-members.html @@ -0,0 +1,44 @@ + + +open-dis: Member List + + + + + +
+

DIS::PropulsionSystemData Member List

This is the complete list of members for DIS::PropulsionSystemData, including all inherited members.

+ + + + + + + + + + + + +
_engineRpmDIS::PropulsionSystemData [protected]
_powerSettingDIS::PropulsionSystemData [protected]
getEngineRpm() const DIS::PropulsionSystemData
getMarshalledSize() const DIS::PropulsionSystemData [virtual]
getPowerSetting() const DIS::PropulsionSystemData
marshal(DataStream &dataStream) const DIS::PropulsionSystemData [virtual]
operator==(const PropulsionSystemData &rhs) const DIS::PropulsionSystemData
PropulsionSystemData()DIS::PropulsionSystemData
setEngineRpm(float pX)DIS::PropulsionSystemData
setPowerSetting(float pX)DIS::PropulsionSystemData
unmarshal(DataStream &dataStream)DIS::PropulsionSystemData [virtual]
~PropulsionSystemData()DIS::PropulsionSystemData [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_propulsion_system_data.html b/cpp/docs/html/class_d_i_s_1_1_propulsion_system_data.html new file mode 100644 index 00000000..92ce0703 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_propulsion_system_data.html @@ -0,0 +1,300 @@ + + +open-dis: DIS::PropulsionSystemData Class Reference + + + + + +
+

DIS::PropulsionSystemData Class Reference

#include <PropulsionSystemData.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 PropulsionSystemData ()
virtual ~PropulsionSystemData ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
float getPowerSetting () const
void setPowerSetting (float pX)
float getEngineRpm () const
void setEngineRpm (float pX)
virtual int getMarshalledSize () const
bool operator== (const PropulsionSystemData &rhs) const

Protected Attributes

float _powerSetting
float _engineRpm
+


Detailed Description

+Data about a propulsion system

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
PropulsionSystemData::PropulsionSystemData (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
PropulsionSystemData::~PropulsionSystemData (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
float PropulsionSystemData::getEngineRpm (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int PropulsionSystemData::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float PropulsionSystemData::getPowerSetting (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void PropulsionSystemData::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool PropulsionSystemData::operator== (const PropulsionSystemData rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void PropulsionSystemData::setEngineRpm (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void PropulsionSystemData::setPowerSetting (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void PropulsionSystemData::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
float DIS::PropulsionSystemData::_engineRpm [protected]
+
+
+ +

+engine RPMs +

+

+ +

+
+ + + + +
float DIS::PropulsionSystemData::_powerSetting [protected]
+
+
+ +

+powerSetting +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_radio_communications_family_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_radio_communications_family_pdu-members.html new file mode 100644 index 00000000..4fcd60a9 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_radio_communications_family_pdu-members.html @@ -0,0 +1,69 @@ + + +open-dis: Member List + + + + + +
+

DIS::RadioCommunicationsFamilyPdu Member List

This is the complete list of members for DIS::RadioCommunicationsFamilyPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_entityIdDIS::RadioCommunicationsFamilyPdu [protected]
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_radioIdDIS::RadioCommunicationsFamilyPdu [protected]
_timestampDIS::Pdu [protected]
getEntityId()DIS::RadioCommunicationsFamilyPdu
getEntityId() const DIS::RadioCommunicationsFamilyPdu
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::RadioCommunicationsFamilyPdu [virtual]
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getRadioId() const DIS::RadioCommunicationsFamilyPdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::RadioCommunicationsFamilyPdu [virtual]
operator==(const RadioCommunicationsFamilyPdu &rhs) const DIS::RadioCommunicationsFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
RadioCommunicationsFamilyPdu()DIS::RadioCommunicationsFamilyPdu
setEntityId(const EntityID &pX)DIS::RadioCommunicationsFamilyPdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setRadioId(unsigned short pX)DIS::RadioCommunicationsFamilyPdu
setTimestamp(unsigned int pX)DIS::Pdu
unmarshal(DataStream &dataStream)DIS::RadioCommunicationsFamilyPdu [virtual]
~Pdu()DIS::Pdu [virtual]
~RadioCommunicationsFamilyPdu()DIS::RadioCommunicationsFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_radio_communications_family_pdu.html b/cpp/docs/html/class_d_i_s_1_1_radio_communications_family_pdu.html new file mode 100644 index 00000000..24bb3acc --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_radio_communications_family_pdu.html @@ -0,0 +1,347 @@ + + +open-dis: DIS::RadioCommunicationsFamilyPdu Class Reference + + + + + +
+

DIS::RadioCommunicationsFamilyPdu Class Reference

#include <RadioCommunicationsFamilyPdu.h> +

+

+Inheritance diagram for DIS::RadioCommunicationsFamilyPdu:
+
+ +

+ +DIS::Pdu +DIS::IntercomControlPdu +DIS::IntercomSignalPdu +DIS::ReceiverPdu +DIS::SignalPdu +DIS::TransmitterPdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 RadioCommunicationsFamilyPdu ()
virtual ~RadioCommunicationsFamilyPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetEntityId ()
const EntityIDgetEntityId () const
void setEntityId (const EntityID &pX)
unsigned short getRadioId () const
void setRadioId (unsigned short pX)
virtual int getMarshalledSize () const
bool operator== (const RadioCommunicationsFamilyPdu &rhs) const

Protected Attributes

EntityID _entityId
unsigned short _radioId
+


Detailed Description

+Section 5.3.8. Abstract superclass for radio communications PDUs.

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
RadioCommunicationsFamilyPdu::RadioCommunicationsFamilyPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
RadioCommunicationsFamilyPdu::~RadioCommunicationsFamilyPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const EntityID & RadioCommunicationsFamilyPdu::getEntityId (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & RadioCommunicationsFamilyPdu::getEntityId (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int RadioCommunicationsFamilyPdu::getMarshalledSize (  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + +
unsigned short RadioCommunicationsFamilyPdu::getRadioId (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RadioCommunicationsFamilyPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + + +
bool RadioCommunicationsFamilyPdu::operator== (const RadioCommunicationsFamilyPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RadioCommunicationsFamilyPdu::setEntityId (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RadioCommunicationsFamilyPdu::setRadioId (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RadioCommunicationsFamilyPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+ +

+


Member Data Documentation

+ +
+ +
+ +

+ID of the entitythat is the source of the communication +

+

+ +

+
+ + + + +
unsigned short DIS::RadioCommunicationsFamilyPdu::_radioId [protected]
+
+
+ +

+particular radio within an entity +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_radio_communications_family_pdu.png b/cpp/docs/html/class_d_i_s_1_1_radio_communications_family_pdu.png new file mode 100644 index 00000000..b30e1d61 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_radio_communications_family_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_radio_entity_type-members.html b/cpp/docs/html/class_d_i_s_1_1_radio_entity_type-members.html new file mode 100644 index 00000000..2399cc0c --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_radio_entity_type-members.html @@ -0,0 +1,56 @@ + + +open-dis: Member List + + + + + +
+

DIS::RadioEntityType Member List

This is the complete list of members for DIS::RadioEntityType, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + +
_categoryDIS::RadioEntityType [protected]
_countryDIS::RadioEntityType [protected]
_domainDIS::RadioEntityType [protected]
_entityKindDIS::RadioEntityType [protected]
_nomenclatureDIS::RadioEntityType [protected]
_nomenclatureVersionDIS::RadioEntityType [protected]
getCategory() const DIS::RadioEntityType
getCountry() const DIS::RadioEntityType
getDomain() const DIS::RadioEntityType
getEntityKind() const DIS::RadioEntityType
getMarshalledSize() const DIS::RadioEntityType [virtual]
getNomenclature() const DIS::RadioEntityType
getNomenclatureVersion() const DIS::RadioEntityType
marshal(DataStream &dataStream) const DIS::RadioEntityType [virtual]
operator==(const RadioEntityType &rhs) const DIS::RadioEntityType
RadioEntityType()DIS::RadioEntityType
setCategory(unsigned char pX)DIS::RadioEntityType
setCountry(unsigned short pX)DIS::RadioEntityType
setDomain(unsigned char pX)DIS::RadioEntityType
setEntityKind(unsigned char pX)DIS::RadioEntityType
setNomenclature(unsigned short pX)DIS::RadioEntityType
setNomenclatureVersion(unsigned char pX)DIS::RadioEntityType
unmarshal(DataStream &dataStream)DIS::RadioEntityType [virtual]
~RadioEntityType()DIS::RadioEntityType [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_radio_entity_type.html b/cpp/docs/html/class_d_i_s_1_1_radio_entity_type.html new file mode 100644 index 00000000..f0315874 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_radio_entity_type.html @@ -0,0 +1,540 @@ + + +open-dis: DIS::RadioEntityType Class Reference + + + + + +
+

DIS::RadioEntityType Class Reference

#include <RadioEntityType.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 RadioEntityType ()
virtual ~RadioEntityType ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned char getEntityKind () const
void setEntityKind (unsigned char pX)
unsigned char getDomain () const
void setDomain (unsigned char pX)
unsigned short getCountry () const
void setCountry (unsigned short pX)
unsigned char getCategory () const
void setCategory (unsigned char pX)
unsigned char getNomenclatureVersion () const
void setNomenclatureVersion (unsigned char pX)
unsigned short getNomenclature () const
void setNomenclature (unsigned short pX)
virtual int getMarshalledSize () const
bool operator== (const RadioEntityType &rhs) const

Protected Attributes

unsigned char _entityKind
unsigned char _domain
unsigned short _country
unsigned char _category
unsigned char _nomenclatureVersion
unsigned short _nomenclature
+


Detailed Description

+Section 5.2.25. Identifies the type of radio

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
RadioEntityType::RadioEntityType (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
RadioEntityType::~RadioEntityType (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned char RadioEntityType::getCategory (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short RadioEntityType::getCountry (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char RadioEntityType::getDomain (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char RadioEntityType::getEntityKind (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int RadioEntityType::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short RadioEntityType::getNomenclature (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char RadioEntityType::getNomenclatureVersion (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RadioEntityType::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool RadioEntityType::operator== (const RadioEntityType rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RadioEntityType::setCategory (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RadioEntityType::setCountry (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RadioEntityType::setDomain (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RadioEntityType::setEntityKind (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RadioEntityType::setNomenclature (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RadioEntityType::setNomenclatureVersion (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RadioEntityType::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned char DIS::RadioEntityType::_category [protected]
+
+
+ +

+category of entity +

+

+ +

+
+ + + + +
unsigned short DIS::RadioEntityType::_country [protected]
+
+
+ +

+country to which the design of the entity is attributed +

+

+ +

+
+ + + + +
unsigned char DIS::RadioEntityType::_domain [protected]
+
+
+ +

+Domain of entity (air, surface, subsurface, space, etc) +

+

+ +

+
+ + + + +
unsigned char DIS::RadioEntityType::_entityKind [protected]
+
+
+ +

+Kind of entity +

+

+ +

+
+ + + + +
unsigned short DIS::RadioEntityType::_nomenclature [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + +
unsigned char DIS::RadioEntityType::_nomenclatureVersion [protected]
+
+
+ +

+specific info based on subcategory field +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_receiver_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_receiver_pdu-members.html new file mode 100644 index 00000000..286ac890 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_receiver_pdu-members.html @@ -0,0 +1,88 @@ + + +open-dis: Member List + + + + + +
+

DIS::ReceiverPdu Member List

This is the complete list of members for DIS::ReceiverPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_entityIdDIS::RadioCommunicationsFamilyPdu [protected]
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_paddingDIS::Pdu [protected]
_padding1DIS::ReceiverPdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_radioIdDIS::RadioCommunicationsFamilyPdu [protected]
_receivedPoserDIS::ReceiverPdu [protected]
_receiverStateDIS::ReceiverPdu [protected]
_timestampDIS::Pdu [protected]
_transmitterEntityIdDIS::ReceiverPdu [protected]
_transmitterRadioIdDIS::ReceiverPdu [protected]
getEntityId()DIS::RadioCommunicationsFamilyPdu
getEntityId() const DIS::RadioCommunicationsFamilyPdu
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::ReceiverPdu [virtual]
getPadding() const DIS::Pdu
getPadding1() const DIS::ReceiverPdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getRadioId() const DIS::RadioCommunicationsFamilyPdu
getReceivedPoser() const DIS::ReceiverPdu
getReceiverState() const DIS::ReceiverPdu
getTimestamp() const DIS::Pdu
getTransmitterEntityId()DIS::ReceiverPdu
getTransmitterEntityId() const DIS::ReceiverPdu
getTransmitterRadioId() const DIS::ReceiverPdu
marshal(DataStream &dataStream) const DIS::ReceiverPdu [virtual]
operator==(const ReceiverPdu &rhs) const DIS::ReceiverPdu
DIS::RadioCommunicationsFamilyPdu::operator==(const RadioCommunicationsFamilyPdu &rhs) const DIS::RadioCommunicationsFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
RadioCommunicationsFamilyPdu()DIS::RadioCommunicationsFamilyPdu
ReceiverPdu()DIS::ReceiverPdu
setEntityId(const EntityID &pX)DIS::RadioCommunicationsFamilyPdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setPadding(short pX)DIS::Pdu
setPadding1(unsigned short pX)DIS::ReceiverPdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setRadioId(unsigned short pX)DIS::RadioCommunicationsFamilyPdu
setReceivedPoser(float pX)DIS::ReceiverPdu
setReceiverState(unsigned short pX)DIS::ReceiverPdu
setTimestamp(unsigned int pX)DIS::Pdu
setTransmitterEntityId(const EntityID &pX)DIS::ReceiverPdu
setTransmitterRadioId(unsigned short pX)DIS::ReceiverPdu
unmarshal(DataStream &dataStream)DIS::ReceiverPdu [virtual]
~Pdu()DIS::Pdu [virtual]
~RadioCommunicationsFamilyPdu()DIS::RadioCommunicationsFamilyPdu [virtual]
~ReceiverPdu()DIS::ReceiverPdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_receiver_pdu.html b/cpp/docs/html/class_d_i_s_1_1_receiver_pdu.html new file mode 100644 index 00000000..cb8a53bf --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_receiver_pdu.html @@ -0,0 +1,517 @@ + + +open-dis: DIS::ReceiverPdu Class Reference + + + + + +
+

DIS::ReceiverPdu Class Reference

#include <ReceiverPdu.h> +

+

+Inheritance diagram for DIS::ReceiverPdu:
+
+ +

+ +DIS::RadioCommunicationsFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 ReceiverPdu ()
virtual ~ReceiverPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned short getReceiverState () const
void setReceiverState (unsigned short pX)
unsigned short getPadding1 () const
void setPadding1 (unsigned short pX)
float getReceivedPoser () const
void setReceivedPoser (float pX)
EntityIDgetTransmitterEntityId ()
const EntityIDgetTransmitterEntityId () const
void setTransmitterEntityId (const EntityID &pX)
unsigned short getTransmitterRadioId () const
void setTransmitterRadioId (unsigned short pX)
virtual int getMarshalledSize () const
bool operator== (const ReceiverPdu &rhs) const

Protected Attributes

unsigned short _receiverState
unsigned short _padding1
float _receivedPoser
EntityID _transmitterEntityId
unsigned short _transmitterRadioId
+


Detailed Description

+Section 5.3.8.3. Communication of a receiver state. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
ReceiverPdu::ReceiverPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
ReceiverPdu::~ReceiverPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int ReceiverPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::RadioCommunicationsFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
unsigned short ReceiverPdu::getPadding1 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float ReceiverPdu::getReceivedPoser (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short ReceiverPdu::getReceiverState (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & ReceiverPdu::getTransmitterEntityId (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & ReceiverPdu::getTransmitterEntityId (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short ReceiverPdu::getTransmitterRadioId (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ReceiverPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::RadioCommunicationsFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool ReceiverPdu::operator== (const ReceiverPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ReceiverPdu::setPadding1 (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ReceiverPdu::setReceivedPoser (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ReceiverPdu::setReceiverState (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ReceiverPdu::setTransmitterEntityId (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ReceiverPdu::setTransmitterRadioId (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ReceiverPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::RadioCommunicationsFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned short DIS::ReceiverPdu::_padding1 [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
float DIS::ReceiverPdu::_receivedPoser [protected]
+
+
+ +

+received power +

+

+ +

+
+ + + + +
unsigned short DIS::ReceiverPdu::_receiverState [protected]
+
+
+ +

+encoding scheme used, and enumeration +

+

+ +

+ +
+ +

+ID of transmitter +

+

+ +

+
+ + + + +
unsigned short DIS::ReceiverPdu::_transmitterRadioId [protected]
+
+
+ +

+ID of transmitting radio +

+

+


The documentation for this class was generated from the following files:
    +
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ReceiverPdu.h
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ReceiverPdu.cpp
+
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_receiver_pdu.png b/cpp/docs/html/class_d_i_s_1_1_receiver_pdu.png new file mode 100644 index 00000000..1501d845 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_receiver_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_record_query_reliable_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_record_query_reliable_pdu-members.html new file mode 100644 index 00000000..1412118b --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_record_query_reliable_pdu-members.html @@ -0,0 +1,97 @@ + + +open-dis: Member List + + + + + +
+

DIS::RecordQueryReliablePdu Member List

This is the complete list of members for DIS::RecordQueryReliablePdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_eventTypeDIS::RecordQueryReliablePdu [protected]
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_numberOfRecordsDIS::RecordQueryReliablePdu [protected]
_originatingEntityIDDIS::SimulationManagementWithReliabilityFamilyPdu [protected]
_pad1DIS::RecordQueryReliablePdu [protected]
_pad2DIS::RecordQueryReliablePdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingEntityIDDIS::SimulationManagementWithReliabilityFamilyPdu [protected]
_recordIDsDIS::RecordQueryReliablePdu [protected]
_requestIDDIS::RecordQueryReliablePdu [protected]
_requiredReliabilityServiceDIS::RecordQueryReliablePdu [protected]
_timeDIS::RecordQueryReliablePdu [protected]
_timestampDIS::Pdu [protected]
getEventType() const DIS::RecordQueryReliablePdu
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::RecordQueryReliablePdu [virtual]
getNumberOfRecords() const DIS::RecordQueryReliablePdu
getOriginatingEntityID()DIS::SimulationManagementWithReliabilityFamilyPdu
getOriginatingEntityID() const DIS::SimulationManagementWithReliabilityFamilyPdu
getPad1() const DIS::RecordQueryReliablePdu
getPad2() const DIS::RecordQueryReliablePdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingEntityID()DIS::SimulationManagementWithReliabilityFamilyPdu
getReceivingEntityID() const DIS::SimulationManagementWithReliabilityFamilyPdu
getRecordIDs()DIS::RecordQueryReliablePdu
getRecordIDs() const DIS::RecordQueryReliablePdu
getRequestID() const DIS::RecordQueryReliablePdu
getRequiredReliabilityService() const DIS::RecordQueryReliablePdu
getTime() const DIS::RecordQueryReliablePdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::RecordQueryReliablePdu [virtual]
operator==(const RecordQueryReliablePdu &rhs) const DIS::RecordQueryReliablePdu
DIS::SimulationManagementWithReliabilityFamilyPdu::operator==(const SimulationManagementWithReliabilityFamilyPdu &rhs) const DIS::SimulationManagementWithReliabilityFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
RecordQueryReliablePdu()DIS::RecordQueryReliablePdu
setEventType(unsigned short pX)DIS::RecordQueryReliablePdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setOriginatingEntityID(const EntityID &pX)DIS::SimulationManagementWithReliabilityFamilyPdu
setPad1(unsigned short pX)DIS::RecordQueryReliablePdu
setPad2(unsigned char pX)DIS::RecordQueryReliablePdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingEntityID(const EntityID &pX)DIS::SimulationManagementWithReliabilityFamilyPdu
setRecordIDs(const std::vector< FourByteChunk > &pX)DIS::RecordQueryReliablePdu
setRequestID(unsigned int pX)DIS::RecordQueryReliablePdu
setRequiredReliabilityService(unsigned char pX)DIS::RecordQueryReliablePdu
setTime(unsigned int pX)DIS::RecordQueryReliablePdu
setTimestamp(unsigned int pX)DIS::Pdu
SimulationManagementWithReliabilityFamilyPdu()DIS::SimulationManagementWithReliabilityFamilyPdu
unmarshal(DataStream &dataStream)DIS::RecordQueryReliablePdu [virtual]
~Pdu()DIS::Pdu [virtual]
~RecordQueryReliablePdu()DIS::RecordQueryReliablePdu [virtual]
~SimulationManagementWithReliabilityFamilyPdu()DIS::SimulationManagementWithReliabilityFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_record_query_reliable_pdu.html b/cpp/docs/html/class_d_i_s_1_1_record_query_reliable_pdu.html new file mode 100644 index 00000000..d3ba4422 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_record_query_reliable_pdu.html @@ -0,0 +1,676 @@ + + +open-dis: DIS::RecordQueryReliablePdu Class Reference + + + + + +
+

DIS::RecordQueryReliablePdu Class Reference

#include <RecordQueryReliablePdu.h> +

+

+Inheritance diagram for DIS::RecordQueryReliablePdu:
+
+ +

+ +DIS::SimulationManagementWithReliabilityFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 RecordQueryReliablePdu ()
virtual ~RecordQueryReliablePdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned int getRequestID () const
void setRequestID (unsigned int pX)
unsigned char getRequiredReliabilityService () const
void setRequiredReliabilityService (unsigned char pX)
unsigned short getPad1 () const
void setPad1 (unsigned short pX)
unsigned char getPad2 () const
void setPad2 (unsigned char pX)
unsigned short getEventType () const
void setEventType (unsigned short pX)
unsigned int getTime () const
void setTime (unsigned int pX)
unsigned int getNumberOfRecords () const
std::vector< FourByteChunk > & getRecordIDs ()
const std::vector
+< FourByteChunk > & 
getRecordIDs () const
void setRecordIDs (const std::vector< FourByteChunk > &pX)
virtual int getMarshalledSize () const
bool operator== (const RecordQueryReliablePdu &rhs) const

Protected Attributes

unsigned int _requestID
unsigned char _requiredReliabilityService
unsigned short _pad1
unsigned char _pad2
unsigned short _eventType
unsigned int _time
unsigned int _numberOfRecords
std::vector< FourByteChunk_recordIDs
+


Detailed Description

+Section 5.3.12.13: A request for one or more records of data from an entity. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
RecordQueryReliablePdu::RecordQueryReliablePdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
RecordQueryReliablePdu::~RecordQueryReliablePdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned short RecordQueryReliablePdu::getEventType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int RecordQueryReliablePdu::getMarshalledSize (  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + +
unsigned int RecordQueryReliablePdu::getNumberOfRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short RecordQueryReliablePdu::getPad1 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char RecordQueryReliablePdu::getPad2 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< FourByteChunk > & RecordQueryReliablePdu::getRecordIDs (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< FourByteChunk > & RecordQueryReliablePdu::getRecordIDs (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int RecordQueryReliablePdu::getRequestID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char RecordQueryReliablePdu::getRequiredReliabilityService (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int RecordQueryReliablePdu::getTime (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RecordQueryReliablePdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + + +
bool RecordQueryReliablePdu::operator== (const RecordQueryReliablePdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RecordQueryReliablePdu::setEventType (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RecordQueryReliablePdu::setPad1 (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RecordQueryReliablePdu::setPad2 (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RecordQueryReliablePdu::setRecordIDs (const std::vector< FourByteChunk > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RecordQueryReliablePdu::setRequestID (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RecordQueryReliablePdu::setRequiredReliabilityService (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RecordQueryReliablePdu::setTime (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RecordQueryReliablePdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+ +

+


Member Data Documentation

+ +
+
+ + + + +
unsigned short DIS::RecordQueryReliablePdu::_eventType [protected]
+
+
+ +

+event type +

+

+ +

+
+ + + + +
unsigned int DIS::RecordQueryReliablePdu::_numberOfRecords [protected]
+
+
+ +

+numberOfRecords +

+

+ +

+
+ + + + +
unsigned short DIS::RecordQueryReliablePdu::_pad1 [protected]
+
+
+ +

+padding. The spec is unclear and contradictory here. +

+

+ +

+
+ + + + +
unsigned char DIS::RecordQueryReliablePdu::_pad2 [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
std::vector<FourByteChunk> DIS::RecordQueryReliablePdu::_recordIDs [protected]
+
+
+ +

+record IDs +

+

+ +

+
+ + + + +
unsigned int DIS::RecordQueryReliablePdu::_requestID [protected]
+
+
+ +

+request ID +

+

+ +

+
+ + + + +
unsigned char DIS::RecordQueryReliablePdu::_requiredReliabilityService [protected]
+
+
+ +

+level of reliability service used for this transaction +

+

+ +

+
+ + + + +
unsigned int DIS::RecordQueryReliablePdu::_time [protected]
+
+
+ +

+time +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_record_query_reliable_pdu.png b/cpp/docs/html/class_d_i_s_1_1_record_query_reliable_pdu.png new file mode 100644 index 00000000..cef98151 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_record_query_reliable_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_record_set-members.html b/cpp/docs/html/class_d_i_s_1_1_record_set-members.html new file mode 100644 index 00000000..1cf5766d --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_record_set-members.html @@ -0,0 +1,56 @@ + + +open-dis: Member List + + + + + +
+

DIS::RecordSet Member List

This is the complete list of members for DIS::RecordSet, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + +
_pad4DIS::RecordSet [protected]
_recordCountDIS::RecordSet [protected]
_recordIDDIS::RecordSet [protected]
_recordLengthDIS::RecordSet [protected]
_recordSetSerialNumberDIS::RecordSet [protected]
_recordValuesDIS::RecordSet [protected]
getMarshalledSize() const DIS::RecordSet [virtual]
getPad4() const DIS::RecordSet
getRecordCount() const DIS::RecordSet
getRecordID() const DIS::RecordSet
getRecordLength() const DIS::RecordSet
getRecordSetSerialNumber() const DIS::RecordSet
getRecordValues() const DIS::RecordSet
marshal(DataStream &dataStream) const DIS::RecordSet [virtual]
operator==(const RecordSet &rhs) const DIS::RecordSet
RecordSet()DIS::RecordSet
setPad4(unsigned char pX)DIS::RecordSet
setRecordCount(unsigned short pX)DIS::RecordSet
setRecordID(unsigned int pX)DIS::RecordSet
setRecordLength(unsigned short pX)DIS::RecordSet
setRecordSetSerialNumber(unsigned int pX)DIS::RecordSet
setRecordValues(unsigned short pX)DIS::RecordSet
unmarshal(DataStream &dataStream)DIS::RecordSet [virtual]
~RecordSet()DIS::RecordSet [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_record_set.html b/cpp/docs/html/class_d_i_s_1_1_record_set.html new file mode 100644 index 00000000..d97eb2eb --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_record_set.html @@ -0,0 +1,540 @@ + + +open-dis: DIS::RecordSet Class Reference + + + + + +
+

DIS::RecordSet Class Reference

#include <RecordSet.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 RecordSet ()
virtual ~RecordSet ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned int getRecordID () const
void setRecordID (unsigned int pX)
unsigned int getRecordSetSerialNumber () const
void setRecordSetSerialNumber (unsigned int pX)
unsigned short getRecordLength () const
void setRecordLength (unsigned short pX)
unsigned short getRecordCount () const
void setRecordCount (unsigned short pX)
unsigned short getRecordValues () const
void setRecordValues (unsigned short pX)
unsigned char getPad4 () const
void setPad4 (unsigned char pX)
virtual int getMarshalledSize () const
bool operator== (const RecordSet &rhs) const

Protected Attributes

unsigned int _recordID
unsigned int _recordSetSerialNumber
unsigned short _recordLength
unsigned short _recordCount
unsigned short _recordValues
unsigned char _pad4
+


Detailed Description

+Record sets, used in transfer control request PDU

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
RecordSet::RecordSet (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
RecordSet::~RecordSet (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int RecordSet::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char RecordSet::getPad4 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short RecordSet::getRecordCount (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int RecordSet::getRecordID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short RecordSet::getRecordLength (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int RecordSet::getRecordSetSerialNumber (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short RecordSet::getRecordValues (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RecordSet::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool RecordSet::operator== (const RecordSet rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RecordSet::setPad4 (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RecordSet::setRecordCount (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RecordSet::setRecordID (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RecordSet::setRecordLength (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RecordSet::setRecordSetSerialNumber (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RecordSet::setRecordValues (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RecordSet::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned char DIS::RecordSet::_pad4 [protected]
+
+
+ +

+^^^This is wrong--variable sized padding +

+

+ +

+
+ + + + +
unsigned short DIS::RecordSet::_recordCount [protected]
+
+
+ +

+record count +

+

+ +

+
+ + + + +
unsigned int DIS::RecordSet::_recordID [protected]
+
+
+ +

+record ID +

+

+ +

+
+ + + + +
unsigned short DIS::RecordSet::_recordLength [protected]
+
+
+ +

+record length +

+

+ +

+
+ + + + +
unsigned int DIS::RecordSet::_recordSetSerialNumber [protected]
+
+
+ +

+record set serial number +

+

+ +

+
+ + + + +
unsigned short DIS::RecordSet::_recordValues [protected]
+
+
+ +

+^^^This is wrong--variable sized data records +

+

+


The documentation for this class was generated from the following files:
    +
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RecordSet.h
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RecordSet.cpp
+
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_relationship-members.html b/cpp/docs/html/class_d_i_s_1_1_relationship-members.html new file mode 100644 index 00000000..05b16c30 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_relationship-members.html @@ -0,0 +1,44 @@ + + +open-dis: Member List + + + + + +
+

DIS::Relationship Member List

This is the complete list of members for DIS::Relationship, including all inherited members.

+ + + + + + + + + + + + +
_natureDIS::Relationship [protected]
_positionDIS::Relationship [protected]
getMarshalledSize() const DIS::Relationship [virtual]
getNature() const DIS::Relationship
getPosition() const DIS::Relationship
marshal(DataStream &dataStream) const DIS::Relationship [virtual]
operator==(const Relationship &rhs) const DIS::Relationship
Relationship()DIS::Relationship
setNature(unsigned short pX)DIS::Relationship
setPosition(unsigned short pX)DIS::Relationship
unmarshal(DataStream &dataStream)DIS::Relationship [virtual]
~Relationship()DIS::Relationship [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_relationship.html b/cpp/docs/html/class_d_i_s_1_1_relationship.html new file mode 100644 index 00000000..d9b81437 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_relationship.html @@ -0,0 +1,300 @@ + + +open-dis: DIS::Relationship Class Reference + + + + + +
+

DIS::Relationship Class Reference

#include <Relationship.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 Relationship ()
virtual ~Relationship ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned short getNature () const
void setNature (unsigned short pX)
unsigned short getPosition () const
void setPosition (unsigned short pX)
virtual int getMarshalledSize () const
bool operator== (const Relationship &rhs) const

Protected Attributes

unsigned short _nature
unsigned short _position
+


Detailed Description

+5.2.56. Purpose for joinging two entities

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
Relationship::Relationship (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Relationship::~Relationship (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int Relationship::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short Relationship::getNature (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short Relationship::getPosition (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Relationship::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool Relationship::operator== (const Relationship rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Relationship::setNature (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Relationship::setPosition (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Relationship::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned short DIS::Relationship::_nature [protected]
+
+
+ +

+Nature of join +

+

+ +

+
+ + + + +
unsigned short DIS::Relationship::_position [protected]
+
+
+ +

+position of join +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_remove_entity_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_remove_entity_pdu-members.html new file mode 100644 index 00000000..d111acae --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_remove_entity_pdu-members.html @@ -0,0 +1,76 @@ + + +open-dis: Member List + + + + + +
+

DIS::RemoveEntityPdu Member List

This is the complete list of members for DIS::RemoveEntityPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_originatingEntityIDDIS::SimulationManagementFamilyPdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingEntityIDDIS::SimulationManagementFamilyPdu [protected]
_requestIDDIS::RemoveEntityPdu [protected]
_timestampDIS::Pdu [protected]
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::RemoveEntityPdu [virtual]
getOriginatingEntityID()DIS::SimulationManagementFamilyPdu
getOriginatingEntityID() const DIS::SimulationManagementFamilyPdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingEntityID()DIS::SimulationManagementFamilyPdu
getReceivingEntityID() const DIS::SimulationManagementFamilyPdu
getRequestID() const DIS::RemoveEntityPdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::RemoveEntityPdu [virtual]
operator==(const RemoveEntityPdu &rhs) const DIS::RemoveEntityPdu
DIS::SimulationManagementFamilyPdu::operator==(const SimulationManagementFamilyPdu &rhs) const DIS::SimulationManagementFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
RemoveEntityPdu()DIS::RemoveEntityPdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setOriginatingEntityID(const EntityID &pX)DIS::SimulationManagementFamilyPdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingEntityID(const EntityID &pX)DIS::SimulationManagementFamilyPdu
setRequestID(unsigned int pX)DIS::RemoveEntityPdu
setTimestamp(unsigned int pX)DIS::Pdu
SimulationManagementFamilyPdu()DIS::SimulationManagementFamilyPdu
unmarshal(DataStream &dataStream)DIS::RemoveEntityPdu [virtual]
~Pdu()DIS::Pdu [virtual]
~RemoveEntityPdu()DIS::RemoveEntityPdu [virtual]
~SimulationManagementFamilyPdu()DIS::SimulationManagementFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_remove_entity_pdu.html b/cpp/docs/html/class_d_i_s_1_1_remove_entity_pdu.html new file mode 100644 index 00000000..5fd34743 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_remove_entity_pdu.html @@ -0,0 +1,256 @@ + + +open-dis: DIS::RemoveEntityPdu Class Reference + + + + + +
+

DIS::RemoveEntityPdu Class Reference

#include <RemoveEntityPdu.h> +

+

+Inheritance diagram for DIS::RemoveEntityPdu:
+
+ +

+ +DIS::SimulationManagementFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 RemoveEntityPdu ()
virtual ~RemoveEntityPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned int getRequestID () const
void setRequestID (unsigned int pX)
virtual int getMarshalledSize () const
bool operator== (const RemoveEntityPdu &rhs) const

Protected Attributes

unsigned int _requestID
+


Detailed Description

+Section 5.3.6.2. Remove an entity. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
RemoveEntityPdu::RemoveEntityPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
RemoveEntityPdu::~RemoveEntityPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int RemoveEntityPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
unsigned int RemoveEntityPdu::getRequestID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RemoveEntityPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool RemoveEntityPdu::operator== (const RemoveEntityPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RemoveEntityPdu::setRequestID (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RemoveEntityPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned int DIS::RemoveEntityPdu::_requestID [protected]
+
+
+ +

+Identifier for the request +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_remove_entity_pdu.png b/cpp/docs/html/class_d_i_s_1_1_remove_entity_pdu.png new file mode 100644 index 00000000..176f7b2f Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_remove_entity_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_remove_entity_reliable_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_remove_entity_reliable_pdu-members.html new file mode 100644 index 00000000..808ec5f8 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_remove_entity_reliable_pdu-members.html @@ -0,0 +1,85 @@ + + +open-dis: Member List + + + + + +
+

DIS::RemoveEntityReliablePdu Member List

This is the complete list of members for DIS::RemoveEntityReliablePdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_originatingEntityIDDIS::SimulationManagementWithReliabilityFamilyPdu [protected]
_pad1DIS::RemoveEntityReliablePdu [protected]
_pad2DIS::RemoveEntityReliablePdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingEntityIDDIS::SimulationManagementWithReliabilityFamilyPdu [protected]
_requestIDDIS::RemoveEntityReliablePdu [protected]
_requiredReliabilityServiceDIS::RemoveEntityReliablePdu [protected]
_timestampDIS::Pdu [protected]
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::RemoveEntityReliablePdu [virtual]
getOriginatingEntityID()DIS::SimulationManagementWithReliabilityFamilyPdu
getOriginatingEntityID() const DIS::SimulationManagementWithReliabilityFamilyPdu
getPad1() const DIS::RemoveEntityReliablePdu
getPad2() const DIS::RemoveEntityReliablePdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingEntityID()DIS::SimulationManagementWithReliabilityFamilyPdu
getReceivingEntityID() const DIS::SimulationManagementWithReliabilityFamilyPdu
getRequestID() const DIS::RemoveEntityReliablePdu
getRequiredReliabilityService() const DIS::RemoveEntityReliablePdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::RemoveEntityReliablePdu [virtual]
operator==(const RemoveEntityReliablePdu &rhs) const DIS::RemoveEntityReliablePdu
DIS::SimulationManagementWithReliabilityFamilyPdu::operator==(const SimulationManagementWithReliabilityFamilyPdu &rhs) const DIS::SimulationManagementWithReliabilityFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
RemoveEntityReliablePdu()DIS::RemoveEntityReliablePdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setOriginatingEntityID(const EntityID &pX)DIS::SimulationManagementWithReliabilityFamilyPdu
setPad1(unsigned short pX)DIS::RemoveEntityReliablePdu
setPad2(unsigned char pX)DIS::RemoveEntityReliablePdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingEntityID(const EntityID &pX)DIS::SimulationManagementWithReliabilityFamilyPdu
setRequestID(unsigned int pX)DIS::RemoveEntityReliablePdu
setRequiredReliabilityService(unsigned char pX)DIS::RemoveEntityReliablePdu
setTimestamp(unsigned int pX)DIS::Pdu
SimulationManagementWithReliabilityFamilyPdu()DIS::SimulationManagementWithReliabilityFamilyPdu
unmarshal(DataStream &dataStream)DIS::RemoveEntityReliablePdu [virtual]
~Pdu()DIS::Pdu [virtual]
~RemoveEntityReliablePdu()DIS::RemoveEntityReliablePdu [virtual]
~SimulationManagementWithReliabilityFamilyPdu()DIS::SimulationManagementWithReliabilityFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_remove_entity_reliable_pdu.html b/cpp/docs/html/class_d_i_s_1_1_remove_entity_reliable_pdu.html new file mode 100644 index 00000000..8cccf14e --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_remove_entity_reliable_pdu.html @@ -0,0 +1,436 @@ + + +open-dis: DIS::RemoveEntityReliablePdu Class Reference + + + + + +
+

DIS::RemoveEntityReliablePdu Class Reference

#include <RemoveEntityReliablePdu.h> +

+

+Inheritance diagram for DIS::RemoveEntityReliablePdu:
+
+ +

+ +DIS::SimulationManagementWithReliabilityFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 RemoveEntityReliablePdu ()
virtual ~RemoveEntityReliablePdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned char getRequiredReliabilityService () const
void setRequiredReliabilityService (unsigned char pX)
unsigned short getPad1 () const
void setPad1 (unsigned short pX)
unsigned char getPad2 () const
void setPad2 (unsigned char pX)
unsigned int getRequestID () const
void setRequestID (unsigned int pX)
virtual int getMarshalledSize () const
bool operator== (const RemoveEntityReliablePdu &rhs) const

Protected Attributes

unsigned char _requiredReliabilityService
unsigned short _pad1
unsigned char _pad2
unsigned int _requestID
+


Detailed Description

+Section 5.3.12.2: Removal of an entity , reliable. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
RemoveEntityReliablePdu::RemoveEntityReliablePdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
RemoveEntityReliablePdu::~RemoveEntityReliablePdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int RemoveEntityReliablePdu::getMarshalledSize (  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + +
unsigned short RemoveEntityReliablePdu::getPad1 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char RemoveEntityReliablePdu::getPad2 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int RemoveEntityReliablePdu::getRequestID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char RemoveEntityReliablePdu::getRequiredReliabilityService (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RemoveEntityReliablePdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + + +
bool RemoveEntityReliablePdu::operator== (const RemoveEntityReliablePdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RemoveEntityReliablePdu::setPad1 (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RemoveEntityReliablePdu::setPad2 (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RemoveEntityReliablePdu::setRequestID (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RemoveEntityReliablePdu::setRequiredReliabilityService (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RemoveEntityReliablePdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+ +

+


Member Data Documentation

+ +
+
+ + + + +
unsigned short DIS::RemoveEntityReliablePdu::_pad1 [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
unsigned char DIS::RemoveEntityReliablePdu::_pad2 [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
unsigned int DIS::RemoveEntityReliablePdu::_requestID [protected]
+
+
+ +

+Request ID +

+

+ +

+
+ + + + +
unsigned char DIS::RemoveEntityReliablePdu::_requiredReliabilityService [protected]
+
+
+ +

+level of reliability service used for this transaction +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_remove_entity_reliable_pdu.png b/cpp/docs/html/class_d_i_s_1_1_remove_entity_reliable_pdu.png new file mode 100644 index 00000000..0ccb89e9 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_remove_entity_reliable_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_repair_complete_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_repair_complete_pdu-members.html new file mode 100644 index 00000000..e922ee9e --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_repair_complete_pdu-members.html @@ -0,0 +1,79 @@ + + +open-dis: Member List + + + + + +
+

DIS::RepairCompletePdu Member List

This is the complete list of members for DIS::RepairCompletePdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_paddingDIS::Pdu [protected]
_padding2DIS::RepairCompletePdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingEntityIDDIS::RepairCompletePdu [protected]
_repairDIS::RepairCompletePdu [protected]
_repairingEntityIDDIS::RepairCompletePdu [protected]
_timestampDIS::Pdu [protected]
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::RepairCompletePdu [virtual]
getPadding() const DIS::Pdu
getPadding2() const DIS::RepairCompletePdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingEntityID()DIS::RepairCompletePdu
getReceivingEntityID() const DIS::RepairCompletePdu
getRepair() const DIS::RepairCompletePdu
getRepairingEntityID()DIS::RepairCompletePdu
getRepairingEntityID() const DIS::RepairCompletePdu
getTimestamp() const DIS::Pdu
LogisticsFamilyPdu()DIS::LogisticsFamilyPdu
marshal(DataStream &dataStream) const DIS::RepairCompletePdu [virtual]
operator==(const RepairCompletePdu &rhs) const DIS::RepairCompletePdu
DIS::LogisticsFamilyPdu::operator==(const LogisticsFamilyPdu &rhs) const DIS::LogisticsFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
RepairCompletePdu()DIS::RepairCompletePdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setPadding(short pX)DIS::Pdu
setPadding2(short pX)DIS::RepairCompletePdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingEntityID(const EntityID &pX)DIS::RepairCompletePdu
setRepair(unsigned short pX)DIS::RepairCompletePdu
setRepairingEntityID(const EntityID &pX)DIS::RepairCompletePdu
setTimestamp(unsigned int pX)DIS::Pdu
unmarshal(DataStream &dataStream)DIS::RepairCompletePdu [virtual]
~LogisticsFamilyPdu()DIS::LogisticsFamilyPdu [virtual]
~Pdu()DIS::Pdu [virtual]
~RepairCompletePdu()DIS::RepairCompletePdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_repair_complete_pdu.html b/cpp/docs/html/class_d_i_s_1_1_repair_complete_pdu.html new file mode 100644 index 00000000..3bbb95c3 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_repair_complete_pdu.html @@ -0,0 +1,478 @@ + + +open-dis: DIS::RepairCompletePdu Class Reference + + + + + +
+

DIS::RepairCompletePdu Class Reference

#include <RepairCompletePdu.h> +

+

+Inheritance diagram for DIS::RepairCompletePdu:
+
+ +

+ +DIS::LogisticsFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 RepairCompletePdu ()
virtual ~RepairCompletePdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetReceivingEntityID ()
const EntityIDgetReceivingEntityID () const
void setReceivingEntityID (const EntityID &pX)
EntityIDgetRepairingEntityID ()
const EntityIDgetRepairingEntityID () const
void setRepairingEntityID (const EntityID &pX)
unsigned short getRepair () const
void setRepair (unsigned short pX)
short getPadding2 () const
void setPadding2 (short pX)
virtual int getMarshalledSize () const
bool operator== (const RepairCompletePdu &rhs) const

Protected Attributes

EntityID _receivingEntityID
EntityID _repairingEntityID
unsigned short _repair
short _padding2
+


Detailed Description

+Section 5.2.5.5. Repair is complete. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
RepairCompletePdu::RepairCompletePdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
RepairCompletePdu::~RepairCompletePdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int RepairCompletePdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::LogisticsFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
short RepairCompletePdu::getPadding2 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & RepairCompletePdu::getReceivingEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & RepairCompletePdu::getReceivingEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short RepairCompletePdu::getRepair (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & RepairCompletePdu::getRepairingEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & RepairCompletePdu::getRepairingEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RepairCompletePdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::LogisticsFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool RepairCompletePdu::operator== (const RepairCompletePdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RepairCompletePdu::setPadding2 (short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RepairCompletePdu::setReceivingEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RepairCompletePdu::setRepair (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RepairCompletePdu::setRepairingEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RepairCompletePdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::LogisticsFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
short DIS::RepairCompletePdu::_padding2 [protected]
+
+
+ +

+padding, number prevents conflict with superclass ivar name +

+

+ +

+ +
+ +

+Entity that is receiving service +

+

+ +

+
+ + + + +
unsigned short DIS::RepairCompletePdu::_repair [protected]
+
+
+ +

+Enumeration for type of repair +

+

+ +

+ +
+ +

+Entity that is supplying +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_repair_complete_pdu.png b/cpp/docs/html/class_d_i_s_1_1_repair_complete_pdu.png new file mode 100644 index 00000000..4991b6bf Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_repair_complete_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_repair_response_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_repair_response_pdu-members.html new file mode 100644 index 00000000..7715ff5d --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_repair_response_pdu-members.html @@ -0,0 +1,82 @@ + + +open-dis: Member List + + + + + +
+

DIS::RepairResponsePdu Member List

This is the complete list of members for DIS::RepairResponsePdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_paddingDIS::Pdu [protected]
_padding1DIS::RepairResponsePdu [protected]
_padding2DIS::RepairResponsePdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingEntityIDDIS::RepairResponsePdu [protected]
_repairingEntityIDDIS::RepairResponsePdu [protected]
_repairResultDIS::RepairResponsePdu [protected]
_timestampDIS::Pdu [protected]
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::RepairResponsePdu [virtual]
getPadding() const DIS::Pdu
getPadding1() const DIS::RepairResponsePdu
getPadding2() const DIS::RepairResponsePdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingEntityID()DIS::RepairResponsePdu
getReceivingEntityID() const DIS::RepairResponsePdu
getRepairingEntityID()DIS::RepairResponsePdu
getRepairingEntityID() const DIS::RepairResponsePdu
getRepairResult() const DIS::RepairResponsePdu
getTimestamp() const DIS::Pdu
LogisticsFamilyPdu()DIS::LogisticsFamilyPdu
marshal(DataStream &dataStream) const DIS::RepairResponsePdu [virtual]
operator==(const RepairResponsePdu &rhs) const DIS::RepairResponsePdu
DIS::LogisticsFamilyPdu::operator==(const LogisticsFamilyPdu &rhs) const DIS::LogisticsFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
RepairResponsePdu()DIS::RepairResponsePdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setPadding(short pX)DIS::Pdu
setPadding1(short pX)DIS::RepairResponsePdu
setPadding2(char pX)DIS::RepairResponsePdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingEntityID(const EntityID &pX)DIS::RepairResponsePdu
setRepairingEntityID(const EntityID &pX)DIS::RepairResponsePdu
setRepairResult(unsigned char pX)DIS::RepairResponsePdu
setTimestamp(unsigned int pX)DIS::Pdu
unmarshal(DataStream &dataStream)DIS::RepairResponsePdu [virtual]
~LogisticsFamilyPdu()DIS::LogisticsFamilyPdu [virtual]
~Pdu()DIS::Pdu [virtual]
~RepairResponsePdu()DIS::RepairResponsePdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_repair_response_pdu.html b/cpp/docs/html/class_d_i_s_1_1_repair_response_pdu.html new file mode 100644 index 00000000..df437be6 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_repair_response_pdu.html @@ -0,0 +1,538 @@ + + +open-dis: DIS::RepairResponsePdu Class Reference + + + + + +
+

DIS::RepairResponsePdu Class Reference

#include <RepairResponsePdu.h> +

+

+Inheritance diagram for DIS::RepairResponsePdu:
+
+ +

+ +DIS::LogisticsFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 RepairResponsePdu ()
virtual ~RepairResponsePdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetReceivingEntityID ()
const EntityIDgetReceivingEntityID () const
void setReceivingEntityID (const EntityID &pX)
EntityIDgetRepairingEntityID ()
const EntityIDgetRepairingEntityID () const
void setRepairingEntityID (const EntityID &pX)
unsigned char getRepairResult () const
void setRepairResult (unsigned char pX)
short getPadding1 () const
void setPadding1 (short pX)
char getPadding2 () const
void setPadding2 (char pX)
virtual int getMarshalledSize () const
bool operator== (const RepairResponsePdu &rhs) const

Protected Attributes

EntityID _receivingEntityID
EntityID _repairingEntityID
unsigned char _repairResult
short _padding1
char _padding2
+


Detailed Description

+Section 5.2.5.6. Sent after repair complete PDU. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
RepairResponsePdu::RepairResponsePdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
RepairResponsePdu::~RepairResponsePdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int RepairResponsePdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::LogisticsFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
short RepairResponsePdu::getPadding1 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
char RepairResponsePdu::getPadding2 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & RepairResponsePdu::getReceivingEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & RepairResponsePdu::getReceivingEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & RepairResponsePdu::getRepairingEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & RepairResponsePdu::getRepairingEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char RepairResponsePdu::getRepairResult (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RepairResponsePdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::LogisticsFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool RepairResponsePdu::operator== (const RepairResponsePdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RepairResponsePdu::setPadding1 (short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RepairResponsePdu::setPadding2 (char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RepairResponsePdu::setReceivingEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RepairResponsePdu::setRepairingEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RepairResponsePdu::setRepairResult (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void RepairResponsePdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::LogisticsFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
short DIS::RepairResponsePdu::_padding1 [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
char DIS::RepairResponsePdu::_padding2 [protected]
+
+
+ +

+padding +

+

+ +

+ +
+ +

+Entity that is receiving service +

+

+ +

+ +
+ +

+Entity that is supplying +

+

+ +

+
+ + + + +
unsigned char DIS::RepairResponsePdu::_repairResult [protected]
+
+
+ +

+Result of repair operation +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_repair_response_pdu.png b/cpp/docs/html/class_d_i_s_1_1_repair_response_pdu.png new file mode 100644 index 00000000..82b526da Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_repair_response_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_resupply_cancel_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_resupply_cancel_pdu-members.html new file mode 100644 index 00000000..b5578806 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_resupply_cancel_pdu-members.html @@ -0,0 +1,73 @@ + + +open-dis: Member List + + + + + +
+

DIS::ResupplyCancelPdu Member List

This is the complete list of members for DIS::ResupplyCancelPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingEntityIDDIS::ResupplyCancelPdu [protected]
_supplyingEntityIDDIS::ResupplyCancelPdu [protected]
_timestampDIS::Pdu [protected]
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::ResupplyCancelPdu [virtual]
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingEntityID()DIS::ResupplyCancelPdu
getReceivingEntityID() const DIS::ResupplyCancelPdu
getSupplyingEntityID()DIS::ResupplyCancelPdu
getSupplyingEntityID() const DIS::ResupplyCancelPdu
getTimestamp() const DIS::Pdu
LogisticsFamilyPdu()DIS::LogisticsFamilyPdu
marshal(DataStream &dataStream) const DIS::ResupplyCancelPdu [virtual]
operator==(const ResupplyCancelPdu &rhs) const DIS::ResupplyCancelPdu
DIS::LogisticsFamilyPdu::operator==(const LogisticsFamilyPdu &rhs) const DIS::LogisticsFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
ResupplyCancelPdu()DIS::ResupplyCancelPdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingEntityID(const EntityID &pX)DIS::ResupplyCancelPdu
setSupplyingEntityID(const EntityID &pX)DIS::ResupplyCancelPdu
setTimestamp(unsigned int pX)DIS::Pdu
unmarshal(DataStream &dataStream)DIS::ResupplyCancelPdu [virtual]
~LogisticsFamilyPdu()DIS::LogisticsFamilyPdu [virtual]
~Pdu()DIS::Pdu [virtual]
~ResupplyCancelPdu()DIS::ResupplyCancelPdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_resupply_cancel_pdu.html b/cpp/docs/html/class_d_i_s_1_1_resupply_cancel_pdu.html new file mode 100644 index 00000000..83df8f49 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_resupply_cancel_pdu.html @@ -0,0 +1,358 @@ + + +open-dis: DIS::ResupplyCancelPdu Class Reference + + + + + +
+

DIS::ResupplyCancelPdu Class Reference

#include <ResupplyCancelPdu.h> +

+

+Inheritance diagram for DIS::ResupplyCancelPdu:
+
+ +

+ +DIS::LogisticsFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 ResupplyCancelPdu ()
virtual ~ResupplyCancelPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetReceivingEntityID ()
const EntityIDgetReceivingEntityID () const
void setReceivingEntityID (const EntityID &pX)
EntityIDgetSupplyingEntityID ()
const EntityIDgetSupplyingEntityID () const
void setSupplyingEntityID (const EntityID &pX)
virtual int getMarshalledSize () const
bool operator== (const ResupplyCancelPdu &rhs) const

Protected Attributes

EntityID _receivingEntityID
EntityID _supplyingEntityID
+


Detailed Description

+Section 5.2.5.4. Cancel of resupply by either the receiving or supplying entity. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
ResupplyCancelPdu::ResupplyCancelPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
ResupplyCancelPdu::~ResupplyCancelPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int ResupplyCancelPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::LogisticsFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
const EntityID & ResupplyCancelPdu::getReceivingEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & ResupplyCancelPdu::getReceivingEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & ResupplyCancelPdu::getSupplyingEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & ResupplyCancelPdu::getSupplyingEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ResupplyCancelPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::LogisticsFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool ResupplyCancelPdu::operator== (const ResupplyCancelPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ResupplyCancelPdu::setReceivingEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ResupplyCancelPdu::setSupplyingEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ResupplyCancelPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::LogisticsFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+ +
+ +

+Entity that is receiving service +

+

+ +

+ +
+ +

+Entity that is supplying +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_resupply_cancel_pdu.png b/cpp/docs/html/class_d_i_s_1_1_resupply_cancel_pdu.png new file mode 100644 index 00000000..accfb7db Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_resupply_cancel_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_resupply_offer_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_resupply_offer_pdu-members.html new file mode 100644 index 00000000..246e4173 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_resupply_offer_pdu-members.html @@ -0,0 +1,85 @@ + + +open-dis: Member List + + + + + +
+

DIS::ResupplyOfferPdu Member List

This is the complete list of members for DIS::ResupplyOfferPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_numberOfSupplyTypesDIS::ResupplyOfferPdu [protected]
_paddingDIS::Pdu [protected]
_padding1DIS::ResupplyOfferPdu [protected]
_padding2DIS::ResupplyOfferPdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingEntityIDDIS::ResupplyOfferPdu [protected]
_suppliesDIS::ResupplyOfferPdu [protected]
_supplyingEntityIDDIS::ResupplyOfferPdu [protected]
_timestampDIS::Pdu [protected]
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::ResupplyOfferPdu [virtual]
getNumberOfSupplyTypes() const DIS::ResupplyOfferPdu
getPadding() const DIS::Pdu
getPadding1() const DIS::ResupplyOfferPdu
getPadding2() const DIS::ResupplyOfferPdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingEntityID()DIS::ResupplyOfferPdu
getReceivingEntityID() const DIS::ResupplyOfferPdu
getSupplies()DIS::ResupplyOfferPdu
getSupplies() const DIS::ResupplyOfferPdu
getSupplyingEntityID()DIS::ResupplyOfferPdu
getSupplyingEntityID() const DIS::ResupplyOfferPdu
getTimestamp() const DIS::Pdu
LogisticsFamilyPdu()DIS::LogisticsFamilyPdu
marshal(DataStream &dataStream) const DIS::ResupplyOfferPdu [virtual]
operator==(const ResupplyOfferPdu &rhs) const DIS::ResupplyOfferPdu
DIS::LogisticsFamilyPdu::operator==(const LogisticsFamilyPdu &rhs) const DIS::LogisticsFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
ResupplyOfferPdu()DIS::ResupplyOfferPdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setPadding(short pX)DIS::Pdu
setPadding1(short pX)DIS::ResupplyOfferPdu
setPadding2(char pX)DIS::ResupplyOfferPdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingEntityID(const EntityID &pX)DIS::ResupplyOfferPdu
setSupplies(const std::vector< SupplyQuantity > &pX)DIS::ResupplyOfferPdu
setSupplyingEntityID(const EntityID &pX)DIS::ResupplyOfferPdu
setTimestamp(unsigned int pX)DIS::Pdu
unmarshal(DataStream &dataStream)DIS::ResupplyOfferPdu [virtual]
~LogisticsFamilyPdu()DIS::LogisticsFamilyPdu [virtual]
~Pdu()DIS::Pdu [virtual]
~ResupplyOfferPdu()DIS::ResupplyOfferPdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_resupply_offer_pdu.html b/cpp/docs/html/class_d_i_s_1_1_resupply_offer_pdu.html new file mode 100644 index 00000000..feabbf0b --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_resupply_offer_pdu.html @@ -0,0 +1,598 @@ + + +open-dis: DIS::ResupplyOfferPdu Class Reference + + + + + +
+

DIS::ResupplyOfferPdu Class Reference

#include <ResupplyOfferPdu.h> +

+

+Inheritance diagram for DIS::ResupplyOfferPdu:
+
+ +

+ +DIS::LogisticsFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 ResupplyOfferPdu ()
virtual ~ResupplyOfferPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetReceivingEntityID ()
const EntityIDgetReceivingEntityID () const
void setReceivingEntityID (const EntityID &pX)
EntityIDgetSupplyingEntityID ()
const EntityIDgetSupplyingEntityID () const
void setSupplyingEntityID (const EntityID &pX)
unsigned char getNumberOfSupplyTypes () const
short getPadding1 () const
void setPadding1 (short pX)
char getPadding2 () const
void setPadding2 (char pX)
std::vector< SupplyQuantity > & getSupplies ()
const std::vector
+< SupplyQuantity > & 
getSupplies () const
void setSupplies (const std::vector< SupplyQuantity > &pX)
virtual int getMarshalledSize () const
bool operator== (const ResupplyOfferPdu &rhs) const

Protected Attributes

EntityID _receivingEntityID
EntityID _supplyingEntityID
unsigned char _numberOfSupplyTypes
short _padding1
char _padding2
std::vector< SupplyQuantity_supplies
+


Detailed Description

+Section 5.3.5.2. Information about a request for supplies. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
ResupplyOfferPdu::ResupplyOfferPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
ResupplyOfferPdu::~ResupplyOfferPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int ResupplyOfferPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::LogisticsFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
unsigned char ResupplyOfferPdu::getNumberOfSupplyTypes (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
short ResupplyOfferPdu::getPadding1 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
char ResupplyOfferPdu::getPadding2 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & ResupplyOfferPdu::getReceivingEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & ResupplyOfferPdu::getReceivingEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< SupplyQuantity > & ResupplyOfferPdu::getSupplies (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< SupplyQuantity > & ResupplyOfferPdu::getSupplies (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & ResupplyOfferPdu::getSupplyingEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & ResupplyOfferPdu::getSupplyingEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ResupplyOfferPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::LogisticsFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool ResupplyOfferPdu::operator== (const ResupplyOfferPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ResupplyOfferPdu::setPadding1 (short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ResupplyOfferPdu::setPadding2 (char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ResupplyOfferPdu::setReceivingEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ResupplyOfferPdu::setSupplies (const std::vector< SupplyQuantity > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ResupplyOfferPdu::setSupplyingEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ResupplyOfferPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::LogisticsFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned char DIS::ResupplyOfferPdu::_numberOfSupplyTypes [protected]
+
+
+ +

+how many supplies are being offered +

+

+ +

+
+ + + + +
short DIS::ResupplyOfferPdu::_padding1 [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
char DIS::ResupplyOfferPdu::_padding2 [protected]
+
+
+ +

+padding +

+

+ +

+ +
+ +

+Entity that is receiving service +

+

+ +

+
+ + + + +
std::vector<SupplyQuantity> DIS::ResupplyOfferPdu::_supplies [protected]
+
+
+ +

+ +

+

+ +

+ +
+ +

+Entity that is supplying +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_resupply_offer_pdu.png b/cpp/docs/html/class_d_i_s_1_1_resupply_offer_pdu.png new file mode 100644 index 00000000..dbe49065 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_resupply_offer_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_resupply_received_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_resupply_received_pdu-members.html new file mode 100644 index 00000000..7e78c7a7 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_resupply_received_pdu-members.html @@ -0,0 +1,85 @@ + + +open-dis: Member List + + + + + +
+

DIS::ResupplyReceivedPdu Member List

This is the complete list of members for DIS::ResupplyReceivedPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_numberOfSupplyTypesDIS::ResupplyReceivedPdu [protected]
_paddingDIS::Pdu [protected]
_padding1DIS::ResupplyReceivedPdu [protected]
_padding2DIS::ResupplyReceivedPdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingEntityIDDIS::ResupplyReceivedPdu [protected]
_suppliesDIS::ResupplyReceivedPdu [protected]
_supplyingEntityIDDIS::ResupplyReceivedPdu [protected]
_timestampDIS::Pdu [protected]
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::ResupplyReceivedPdu [virtual]
getNumberOfSupplyTypes() const DIS::ResupplyReceivedPdu
getPadding() const DIS::Pdu
getPadding1() const DIS::ResupplyReceivedPdu
getPadding2() const DIS::ResupplyReceivedPdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingEntityID()DIS::ResupplyReceivedPdu
getReceivingEntityID() const DIS::ResupplyReceivedPdu
getSupplies()DIS::ResupplyReceivedPdu
getSupplies() const DIS::ResupplyReceivedPdu
getSupplyingEntityID()DIS::ResupplyReceivedPdu
getSupplyingEntityID() const DIS::ResupplyReceivedPdu
getTimestamp() const DIS::Pdu
LogisticsFamilyPdu()DIS::LogisticsFamilyPdu
marshal(DataStream &dataStream) const DIS::ResupplyReceivedPdu [virtual]
operator==(const ResupplyReceivedPdu &rhs) const DIS::ResupplyReceivedPdu
DIS::LogisticsFamilyPdu::operator==(const LogisticsFamilyPdu &rhs) const DIS::LogisticsFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
ResupplyReceivedPdu()DIS::ResupplyReceivedPdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setPadding(short pX)DIS::Pdu
setPadding1(short pX)DIS::ResupplyReceivedPdu
setPadding2(char pX)DIS::ResupplyReceivedPdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingEntityID(const EntityID &pX)DIS::ResupplyReceivedPdu
setSupplies(const std::vector< SupplyQuantity > &pX)DIS::ResupplyReceivedPdu
setSupplyingEntityID(const EntityID &pX)DIS::ResupplyReceivedPdu
setTimestamp(unsigned int pX)DIS::Pdu
unmarshal(DataStream &dataStream)DIS::ResupplyReceivedPdu [virtual]
~LogisticsFamilyPdu()DIS::LogisticsFamilyPdu [virtual]
~Pdu()DIS::Pdu [virtual]
~ResupplyReceivedPdu()DIS::ResupplyReceivedPdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_resupply_received_pdu.html b/cpp/docs/html/class_d_i_s_1_1_resupply_received_pdu.html new file mode 100644 index 00000000..219bdb85 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_resupply_received_pdu.html @@ -0,0 +1,598 @@ + + +open-dis: DIS::ResupplyReceivedPdu Class Reference + + + + + +
+

DIS::ResupplyReceivedPdu Class Reference

#include <ResupplyReceivedPdu.h> +

+

+Inheritance diagram for DIS::ResupplyReceivedPdu:
+
+ +

+ +DIS::LogisticsFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 ResupplyReceivedPdu ()
virtual ~ResupplyReceivedPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetReceivingEntityID ()
const EntityIDgetReceivingEntityID () const
void setReceivingEntityID (const EntityID &pX)
EntityIDgetSupplyingEntityID ()
const EntityIDgetSupplyingEntityID () const
void setSupplyingEntityID (const EntityID &pX)
unsigned char getNumberOfSupplyTypes () const
short getPadding1 () const
void setPadding1 (short pX)
char getPadding2 () const
void setPadding2 (char pX)
std::vector< SupplyQuantity > & getSupplies ()
const std::vector
+< SupplyQuantity > & 
getSupplies () const
void setSupplies (const std::vector< SupplyQuantity > &pX)
virtual int getMarshalledSize () const
bool operator== (const ResupplyReceivedPdu &rhs) const

Protected Attributes

EntityID _receivingEntityID
EntityID _supplyingEntityID
unsigned char _numberOfSupplyTypes
short _padding1
char _padding2
std::vector< SupplyQuantity_supplies
+


Detailed Description

+Section 5.3.5.3. Receipt of supplies is communiated. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
ResupplyReceivedPdu::ResupplyReceivedPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
ResupplyReceivedPdu::~ResupplyReceivedPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int ResupplyReceivedPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::LogisticsFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
unsigned char ResupplyReceivedPdu::getNumberOfSupplyTypes (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
short ResupplyReceivedPdu::getPadding1 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
char ResupplyReceivedPdu::getPadding2 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & ResupplyReceivedPdu::getReceivingEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & ResupplyReceivedPdu::getReceivingEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< SupplyQuantity > & ResupplyReceivedPdu::getSupplies (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< SupplyQuantity > & ResupplyReceivedPdu::getSupplies (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & ResupplyReceivedPdu::getSupplyingEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & ResupplyReceivedPdu::getSupplyingEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ResupplyReceivedPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::LogisticsFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool ResupplyReceivedPdu::operator== (const ResupplyReceivedPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ResupplyReceivedPdu::setPadding1 (short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ResupplyReceivedPdu::setPadding2 (char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ResupplyReceivedPdu::setReceivingEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ResupplyReceivedPdu::setSupplies (const std::vector< SupplyQuantity > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ResupplyReceivedPdu::setSupplyingEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ResupplyReceivedPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::LogisticsFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned char DIS::ResupplyReceivedPdu::_numberOfSupplyTypes [protected]
+
+
+ +

+how many supplies are being offered +

+

+ +

+
+ + + + +
short DIS::ResupplyReceivedPdu::_padding1 [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
char DIS::ResupplyReceivedPdu::_padding2 [protected]
+
+
+ +

+padding +

+

+ +

+ +
+ +

+Entity that is receiving service +

+

+ +

+
+ + + + +
std::vector<SupplyQuantity> DIS::ResupplyReceivedPdu::_supplies [protected]
+
+
+ +

+ +

+

+ +

+ +
+ +

+Entity that is supplying +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_resupply_received_pdu.png b/cpp/docs/html/class_d_i_s_1_1_resupply_received_pdu.png new file mode 100644 index 00000000..d1ed584d Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_resupply_received_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_sees_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_sees_pdu-members.html new file mode 100644 index 00000000..3d710657 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_sees_pdu-members.html @@ -0,0 +1,90 @@ + + +open-dis: Member List + + + + + +
+

DIS::SeesPdu Member List

This is the complete list of members for DIS::SeesPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_acousticSignatureRepresentationIndexDIS::SeesPdu [protected]
_exerciseIDDIS::Pdu [protected]
_infraredSignatureRepresentationIndexDIS::SeesPdu [protected]
_lengthDIS::Pdu [protected]
_numberOfPropulsionSystemsDIS::SeesPdu [protected]
_numberOfVectoringNozzleSystemsDIS::SeesPdu [protected]
_orginatingEntityIDDIS::SeesPdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_propulsionSystemDataDIS::SeesPdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_radarCrossSectionSignatureRepresentationIndexDIS::SeesPdu [protected]
_timestampDIS::Pdu [protected]
_vectoringSystemDataDIS::SeesPdu [protected]
DistributedEmissionsFamilyPdu()DIS::DistributedEmissionsFamilyPdu
getAcousticSignatureRepresentationIndex() const DIS::SeesPdu
getExerciseID() const DIS::Pdu
getInfraredSignatureRepresentationIndex() const DIS::SeesPdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::SeesPdu [virtual]
getNumberOfPropulsionSystems() const DIS::SeesPdu
getNumberOfVectoringNozzleSystems() const DIS::SeesPdu
getOrginatingEntityID()DIS::SeesPdu
getOrginatingEntityID() const DIS::SeesPdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getPropulsionSystemData()DIS::SeesPdu
getPropulsionSystemData() const DIS::SeesPdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getRadarCrossSectionSignatureRepresentationIndex() const DIS::SeesPdu
getTimestamp() const DIS::Pdu
getVectoringSystemData()DIS::SeesPdu
getVectoringSystemData() const DIS::SeesPdu
marshal(DataStream &dataStream) const DIS::SeesPdu [virtual]
operator==(const SeesPdu &rhs) const DIS::SeesPdu
DIS::DistributedEmissionsFamilyPdu::operator==(const DistributedEmissionsFamilyPdu &rhs) const DIS::DistributedEmissionsFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
SeesPdu()DIS::SeesPdu
setAcousticSignatureRepresentationIndex(unsigned short pX)DIS::SeesPdu
setExerciseID(unsigned char pX)DIS::Pdu
setInfraredSignatureRepresentationIndex(unsigned short pX)DIS::SeesPdu
setLength(unsigned short pX)DIS::Pdu
setOrginatingEntityID(const EntityID &pX)DIS::SeesPdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setPropulsionSystemData(const std::vector< PropulsionSystemData > &pX)DIS::SeesPdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setRadarCrossSectionSignatureRepresentationIndex(unsigned short pX)DIS::SeesPdu
setTimestamp(unsigned int pX)DIS::Pdu
setVectoringSystemData(const std::vector< VectoringNozzleSystemData > &pX)DIS::SeesPdu
unmarshal(DataStream &dataStream)DIS::SeesPdu [virtual]
~DistributedEmissionsFamilyPdu()DIS::DistributedEmissionsFamilyPdu [virtual]
~Pdu()DIS::Pdu [virtual]
~SeesPdu()DIS::SeesPdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_sees_pdu.html b/cpp/docs/html/class_d_i_s_1_1_sees_pdu.html new file mode 100644 index 00000000..07332905 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_sees_pdu.html @@ -0,0 +1,700 @@ + + +open-dis: DIS::SeesPdu Class Reference + + + + + +
+

DIS::SeesPdu Class Reference

#include <SeesPdu.h> +

+

+Inheritance diagram for DIS::SeesPdu:
+
+ +

+ +DIS::DistributedEmissionsFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 SeesPdu ()
virtual ~SeesPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetOrginatingEntityID ()
const EntityIDgetOrginatingEntityID () const
void setOrginatingEntityID (const EntityID &pX)
unsigned short getInfraredSignatureRepresentationIndex () const
void setInfraredSignatureRepresentationIndex (unsigned short pX)
unsigned short getAcousticSignatureRepresentationIndex () const
void setAcousticSignatureRepresentationIndex (unsigned short pX)
unsigned short getRadarCrossSectionSignatureRepresentationIndex () const
void setRadarCrossSectionSignatureRepresentationIndex (unsigned short pX)
unsigned short getNumberOfPropulsionSystems () const
unsigned short getNumberOfVectoringNozzleSystems () const
std::vector
+< PropulsionSystemData > & 
getPropulsionSystemData ()
const std::vector
+< PropulsionSystemData > & 
getPropulsionSystemData () const
void setPropulsionSystemData (const std::vector< PropulsionSystemData > &pX)
std::vector
+< VectoringNozzleSystemData > & 
getVectoringSystemData ()
const std::vector
+< VectoringNozzleSystemData > & 
getVectoringSystemData () const
void setVectoringSystemData (const std::vector< VectoringNozzleSystemData > &pX)
virtual int getMarshalledSize () const
bool operator== (const SeesPdu &rhs) const

Protected Attributes

EntityID _orginatingEntityID
unsigned short _infraredSignatureRepresentationIndex
unsigned short _acousticSignatureRepresentationIndex
unsigned short _radarCrossSectionSignatureRepresentationIndex
unsigned short _numberOfPropulsionSystems
unsigned short _numberOfVectoringNozzleSystems
std::vector< PropulsionSystemData_propulsionSystemData
std::vector
+< VectoringNozzleSystemData
_vectoringSystemData
+


Detailed Description

+Section 5.3.7.5. SEES PDU, supplemental emissions entity state information. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
SeesPdu::SeesPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
SeesPdu::~SeesPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned short SeesPdu::getAcousticSignatureRepresentationIndex (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short SeesPdu::getInfraredSignatureRepresentationIndex (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int SeesPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::DistributedEmissionsFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
unsigned short SeesPdu::getNumberOfPropulsionSystems (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short SeesPdu::getNumberOfVectoringNozzleSystems (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & SeesPdu::getOrginatingEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & SeesPdu::getOrginatingEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< PropulsionSystemData > & SeesPdu::getPropulsionSystemData (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< PropulsionSystemData > & SeesPdu::getPropulsionSystemData (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short SeesPdu::getRadarCrossSectionSignatureRepresentationIndex (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< VectoringNozzleSystemData > & SeesPdu::getVectoringSystemData (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< VectoringNozzleSystemData > & SeesPdu::getVectoringSystemData (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SeesPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::DistributedEmissionsFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool SeesPdu::operator== (const SeesPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SeesPdu::setAcousticSignatureRepresentationIndex (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SeesPdu::setInfraredSignatureRepresentationIndex (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SeesPdu::setOrginatingEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SeesPdu::setPropulsionSystemData (const std::vector< PropulsionSystemData > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SeesPdu::setRadarCrossSectionSignatureRepresentationIndex (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SeesPdu::setVectoringSystemData (const std::vector< VectoringNozzleSystemData > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SeesPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::DistributedEmissionsFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned short DIS::SeesPdu::_acousticSignatureRepresentationIndex [protected]
+
+
+ +

+acoustic Signature representation index +

+

+ +

+
+ + + + +
unsigned short DIS::SeesPdu::_infraredSignatureRepresentationIndex [protected]
+
+
+ +

+IR Signature representation index +

+

+ +

+
+ + + + +
unsigned short DIS::SeesPdu::_numberOfPropulsionSystems [protected]
+
+
+ +

+how many propulsion systems +

+

+ +

+
+ + + + +
unsigned short DIS::SeesPdu::_numberOfVectoringNozzleSystems [protected]
+
+
+ +

+how many vectoring nozzle systems +

+

+ +

+ +
+ +

+Originating entity ID +

+

+ +

+
+ + + + +
std::vector<PropulsionSystemData> DIS::SeesPdu::_propulsionSystemData [protected]
+
+
+ +

+variable length list of propulsion system data +

+

+ +

+
+ + + + +
unsigned short DIS::SeesPdu::_radarCrossSectionSignatureRepresentationIndex [protected]
+
+
+ +

+radar cross section representation index +

+

+ +

+ +
+ +

+variable length list of vectoring system data +

+

+


The documentation for this class was generated from the following files:
    +
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SeesPdu.h
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SeesPdu.cpp
+
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_sees_pdu.png b/cpp/docs/html/class_d_i_s_1_1_sees_pdu.png new file mode 100644 index 00000000..ee1eb6a0 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_sees_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_service_request_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_service_request_pdu-members.html new file mode 100644 index 00000000..f3d2a18e --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_service_request_pdu-members.html @@ -0,0 +1,85 @@ + + +open-dis: Member List + + + + + +
+

DIS::ServiceRequestPdu Member List

This is the complete list of members for DIS::ServiceRequestPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_numberOfSupplyTypesDIS::ServiceRequestPdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_requestingEntityIDDIS::ServiceRequestPdu [protected]
_serviceRequestPaddingDIS::ServiceRequestPdu [protected]
_serviceTypeRequestedDIS::ServiceRequestPdu [protected]
_servicingEntityIDDIS::ServiceRequestPdu [protected]
_suppliesDIS::ServiceRequestPdu [protected]
_timestampDIS::Pdu [protected]
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::ServiceRequestPdu [virtual]
getNumberOfSupplyTypes() const DIS::ServiceRequestPdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getRequestingEntityID()DIS::ServiceRequestPdu
getRequestingEntityID() const DIS::ServiceRequestPdu
getServiceRequestPadding() const DIS::ServiceRequestPdu
getServiceTypeRequested() const DIS::ServiceRequestPdu
getServicingEntityID()DIS::ServiceRequestPdu
getServicingEntityID() const DIS::ServiceRequestPdu
getSupplies()DIS::ServiceRequestPdu
getSupplies() const DIS::ServiceRequestPdu
getTimestamp() const DIS::Pdu
LogisticsFamilyPdu()DIS::LogisticsFamilyPdu
marshal(DataStream &dataStream) const DIS::ServiceRequestPdu [virtual]
operator==(const ServiceRequestPdu &rhs) const DIS::ServiceRequestPdu
DIS::LogisticsFamilyPdu::operator==(const LogisticsFamilyPdu &rhs) const DIS::LogisticsFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
ServiceRequestPdu()DIS::ServiceRequestPdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setRequestingEntityID(const EntityID &pX)DIS::ServiceRequestPdu
setServiceRequestPadding(short pX)DIS::ServiceRequestPdu
setServiceTypeRequested(unsigned char pX)DIS::ServiceRequestPdu
setServicingEntityID(const EntityID &pX)DIS::ServiceRequestPdu
setSupplies(const std::vector< SupplyQuantity > &pX)DIS::ServiceRequestPdu
setTimestamp(unsigned int pX)DIS::Pdu
unmarshal(DataStream &dataStream)DIS::ServiceRequestPdu [virtual]
~LogisticsFamilyPdu()DIS::LogisticsFamilyPdu [virtual]
~Pdu()DIS::Pdu [virtual]
~ServiceRequestPdu()DIS::ServiceRequestPdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_service_request_pdu.html b/cpp/docs/html/class_d_i_s_1_1_service_request_pdu.html new file mode 100644 index 00000000..67995ca8 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_service_request_pdu.html @@ -0,0 +1,598 @@ + + +open-dis: DIS::ServiceRequestPdu Class Reference + + + + + +
+

DIS::ServiceRequestPdu Class Reference

#include <ServiceRequestPdu.h> +

+

+Inheritance diagram for DIS::ServiceRequestPdu:
+
+ +

+ +DIS::LogisticsFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 ServiceRequestPdu ()
virtual ~ServiceRequestPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetRequestingEntityID ()
const EntityIDgetRequestingEntityID () const
void setRequestingEntityID (const EntityID &pX)
EntityIDgetServicingEntityID ()
const EntityIDgetServicingEntityID () const
void setServicingEntityID (const EntityID &pX)
unsigned char getServiceTypeRequested () const
void setServiceTypeRequested (unsigned char pX)
unsigned char getNumberOfSupplyTypes () const
short getServiceRequestPadding () const
void setServiceRequestPadding (short pX)
std::vector< SupplyQuantity > & getSupplies ()
const std::vector
+< SupplyQuantity > & 
getSupplies () const
void setSupplies (const std::vector< SupplyQuantity > &pX)
virtual int getMarshalledSize () const
bool operator== (const ServiceRequestPdu &rhs) const

Protected Attributes

EntityID _requestingEntityID
EntityID _servicingEntityID
unsigned char _serviceTypeRequested
unsigned char _numberOfSupplyTypes
short _serviceRequestPadding
std::vector< SupplyQuantity_supplies
+


Detailed Description

+Section 5.3.5.1. Information about a request for supplies. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
ServiceRequestPdu::ServiceRequestPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
ServiceRequestPdu::~ServiceRequestPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int ServiceRequestPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::LogisticsFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
unsigned char ServiceRequestPdu::getNumberOfSupplyTypes (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & ServiceRequestPdu::getRequestingEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & ServiceRequestPdu::getRequestingEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
short ServiceRequestPdu::getServiceRequestPadding (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char ServiceRequestPdu::getServiceTypeRequested (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & ServiceRequestPdu::getServicingEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & ServiceRequestPdu::getServicingEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< SupplyQuantity > & ServiceRequestPdu::getSupplies (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< SupplyQuantity > & ServiceRequestPdu::getSupplies (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ServiceRequestPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::LogisticsFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool ServiceRequestPdu::operator== (const ServiceRequestPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ServiceRequestPdu::setRequestingEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ServiceRequestPdu::setServiceRequestPadding (short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ServiceRequestPdu::setServiceTypeRequested (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ServiceRequestPdu::setServicingEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ServiceRequestPdu::setSupplies (const std::vector< SupplyQuantity > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ServiceRequestPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::LogisticsFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned char DIS::ServiceRequestPdu::_numberOfSupplyTypes [protected]
+
+
+ +

+How many requested +

+

+ +

+ +
+ +

+Entity that is requesting service +

+

+ +

+
+ + + + +
short DIS::ServiceRequestPdu::_serviceRequestPadding [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
unsigned char DIS::ServiceRequestPdu::_serviceTypeRequested [protected]
+
+
+ +

+type of service requested +

+

+ +

+ +
+ +

+Entity that is providing the service +

+

+ +

+
+ + + + +
std::vector<SupplyQuantity> DIS::ServiceRequestPdu::_supplies [protected]
+
+
+ +

+ +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_service_request_pdu.png b/cpp/docs/html/class_d_i_s_1_1_service_request_pdu.png new file mode 100644 index 00000000..68cd4ded Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_service_request_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_set_data_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_set_data_pdu-members.html new file mode 100644 index 00000000..923eb2f9 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_set_data_pdu-members.html @@ -0,0 +1,91 @@ + + +open-dis: Member List + + + + + +
+

DIS::SetDataPdu Member List

This is the complete list of members for DIS::SetDataPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_fixedDatumsDIS::SetDataPdu [protected]
_lengthDIS::Pdu [protected]
_numberOfFixedDatumRecordsDIS::SetDataPdu [protected]
_numberOfVariableDatumRecordsDIS::SetDataPdu [protected]
_originatingEntityIDDIS::SimulationManagementFamilyPdu [protected]
_paddingDIS::Pdu [protected]
_padding1DIS::SetDataPdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingEntityIDDIS::SimulationManagementFamilyPdu [protected]
_requestIDDIS::SetDataPdu [protected]
_timestampDIS::Pdu [protected]
_variableDatumsDIS::SetDataPdu [protected]
getExerciseID() const DIS::Pdu
getFixedDatums()DIS::SetDataPdu
getFixedDatums() const DIS::SetDataPdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::SetDataPdu [virtual]
getNumberOfFixedDatumRecords() const DIS::SetDataPdu
getNumberOfVariableDatumRecords() const DIS::SetDataPdu
getOriginatingEntityID()DIS::SimulationManagementFamilyPdu
getOriginatingEntityID() const DIS::SimulationManagementFamilyPdu
getPadding() const DIS::Pdu
getPadding1() const DIS::SetDataPdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingEntityID()DIS::SimulationManagementFamilyPdu
getReceivingEntityID() const DIS::SimulationManagementFamilyPdu
getRequestID() const DIS::SetDataPdu
getTimestamp() const DIS::Pdu
getVariableDatums()DIS::SetDataPdu
getVariableDatums() const DIS::SetDataPdu
marshal(DataStream &dataStream) const DIS::SetDataPdu [virtual]
operator==(const SetDataPdu &rhs) const DIS::SetDataPdu
DIS::SimulationManagementFamilyPdu::operator==(const SimulationManagementFamilyPdu &rhs) const DIS::SimulationManagementFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
SetDataPdu()DIS::SetDataPdu
setExerciseID(unsigned char pX)DIS::Pdu
setFixedDatums(const std::vector< FixedDatum > &pX)DIS::SetDataPdu
setLength(unsigned short pX)DIS::Pdu
setOriginatingEntityID(const EntityID &pX)DIS::SimulationManagementFamilyPdu
setPadding(short pX)DIS::Pdu
setPadding1(unsigned int pX)DIS::SetDataPdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingEntityID(const EntityID &pX)DIS::SimulationManagementFamilyPdu
setRequestID(unsigned int pX)DIS::SetDataPdu
setTimestamp(unsigned int pX)DIS::Pdu
setVariableDatums(const std::vector< VariableDatum > &pX)DIS::SetDataPdu
SimulationManagementFamilyPdu()DIS::SimulationManagementFamilyPdu
unmarshal(DataStream &dataStream)DIS::SetDataPdu [virtual]
~Pdu()DIS::Pdu [virtual]
~SetDataPdu()DIS::SetDataPdu [virtual]
~SimulationManagementFamilyPdu()DIS::SimulationManagementFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_set_data_pdu.html b/cpp/docs/html/class_d_i_s_1_1_set_data_pdu.html new file mode 100644 index 00000000..5851f310 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_set_data_pdu.html @@ -0,0 +1,555 @@ + + +open-dis: DIS::SetDataPdu Class Reference + + + + + +
+

DIS::SetDataPdu Class Reference

#include <SetDataPdu.h> +

+

+Inheritance diagram for DIS::SetDataPdu:
+
+ +

+ +DIS::SimulationManagementFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 SetDataPdu ()
virtual ~SetDataPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned int getRequestID () const
void setRequestID (unsigned int pX)
unsigned int getPadding1 () const
void setPadding1 (unsigned int pX)
unsigned int getNumberOfFixedDatumRecords () const
unsigned int getNumberOfVariableDatumRecords () const
std::vector< FixedDatum > & getFixedDatums ()
const std::vector< FixedDatum > & getFixedDatums () const
void setFixedDatums (const std::vector< FixedDatum > &pX)
std::vector< VariableDatum > & getVariableDatums ()
const std::vector
+< VariableDatum > & 
getVariableDatums () const
void setVariableDatums (const std::vector< VariableDatum > &pX)
virtual int getMarshalledSize () const
bool operator== (const SetDataPdu &rhs) const

Protected Attributes

unsigned int _requestID
unsigned int _padding1
unsigned int _numberOfFixedDatumRecords
unsigned int _numberOfVariableDatumRecords
std::vector< FixedDatum_fixedDatums
std::vector< VariableDatum_variableDatums
+


Detailed Description

+Section 5.3.6.9. Change state information with the data contained in this. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
SetDataPdu::SetDataPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
SetDataPdu::~SetDataPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const std::vector< FixedDatum > & SetDataPdu::getFixedDatums (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< FixedDatum > & SetDataPdu::getFixedDatums (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int SetDataPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
unsigned int SetDataPdu::getNumberOfFixedDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int SetDataPdu::getNumberOfVariableDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int SetDataPdu::getPadding1 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int SetDataPdu::getRequestID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< VariableDatum > & SetDataPdu::getVariableDatums (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< VariableDatum > & SetDataPdu::getVariableDatums (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SetDataPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool SetDataPdu::operator== (const SetDataPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SetDataPdu::setFixedDatums (const std::vector< FixedDatum > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SetDataPdu::setPadding1 (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SetDataPdu::setRequestID (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SetDataPdu::setVariableDatums (const std::vector< VariableDatum > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SetDataPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
std::vector<FixedDatum> DIS::SetDataPdu::_fixedDatums [protected]
+
+
+ +

+variable length list of fixed datums +

+

+ +

+
+ + + + +
unsigned int DIS::SetDataPdu::_numberOfFixedDatumRecords [protected]
+
+
+ +

+Number of fixed datum records +

+

+ +

+
+ + + + +
unsigned int DIS::SetDataPdu::_numberOfVariableDatumRecords [protected]
+
+
+ +

+Number of variable datum records +

+

+ +

+
+ + + + +
unsigned int DIS::SetDataPdu::_padding1 [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
unsigned int DIS::SetDataPdu::_requestID [protected]
+
+
+ +

+ID of request +

+

+ +

+
+ + + + +
std::vector<VariableDatum> DIS::SetDataPdu::_variableDatums [protected]
+
+
+ +

+variable length list of variable length datums +

+

+


The documentation for this class was generated from the following files:
    +
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SetDataPdu.h
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SetDataPdu.cpp
+
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_set_data_pdu.png b/cpp/docs/html/class_d_i_s_1_1_set_data_pdu.png new file mode 100644 index 00000000..5283bebd Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_set_data_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_set_data_reliable_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_set_data_reliable_pdu-members.html new file mode 100644 index 00000000..c4852e17 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_set_data_reliable_pdu-members.html @@ -0,0 +1,97 @@ + + +open-dis: Member List + + + + + +
+

DIS::SetDataReliablePdu Member List

This is the complete list of members for DIS::SetDataReliablePdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_fixedDatumRecordsDIS::SetDataReliablePdu [protected]
_lengthDIS::Pdu [protected]
_numberOfFixedDatumRecordsDIS::SetDataReliablePdu [protected]
_numberOfVariableDatumRecordsDIS::SetDataReliablePdu [protected]
_originatingEntityIDDIS::SimulationManagementWithReliabilityFamilyPdu [protected]
_pad1DIS::SetDataReliablePdu [protected]
_pad2DIS::SetDataReliablePdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingEntityIDDIS::SimulationManagementWithReliabilityFamilyPdu [protected]
_requestIDDIS::SetDataReliablePdu [protected]
_requiredReliabilityServiceDIS::SetDataReliablePdu [protected]
_timestampDIS::Pdu [protected]
_variableDatumRecordsDIS::SetDataReliablePdu [protected]
getExerciseID() const DIS::Pdu
getFixedDatumRecords()DIS::SetDataReliablePdu
getFixedDatumRecords() const DIS::SetDataReliablePdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::SetDataReliablePdu [virtual]
getNumberOfFixedDatumRecords() const DIS::SetDataReliablePdu
getNumberOfVariableDatumRecords() const DIS::SetDataReliablePdu
getOriginatingEntityID()DIS::SimulationManagementWithReliabilityFamilyPdu
getOriginatingEntityID() const DIS::SimulationManagementWithReliabilityFamilyPdu
getPad1() const DIS::SetDataReliablePdu
getPad2() const DIS::SetDataReliablePdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingEntityID()DIS::SimulationManagementWithReliabilityFamilyPdu
getReceivingEntityID() const DIS::SimulationManagementWithReliabilityFamilyPdu
getRequestID() const DIS::SetDataReliablePdu
getRequiredReliabilityService() const DIS::SetDataReliablePdu
getTimestamp() const DIS::Pdu
getVariableDatumRecords()DIS::SetDataReliablePdu
getVariableDatumRecords() const DIS::SetDataReliablePdu
marshal(DataStream &dataStream) const DIS::SetDataReliablePdu [virtual]
operator==(const SetDataReliablePdu &rhs) const DIS::SetDataReliablePdu
DIS::SimulationManagementWithReliabilityFamilyPdu::operator==(const SimulationManagementWithReliabilityFamilyPdu &rhs) const DIS::SimulationManagementWithReliabilityFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
SetDataReliablePdu()DIS::SetDataReliablePdu
setExerciseID(unsigned char pX)DIS::Pdu
setFixedDatumRecords(const std::vector< FixedDatum > &pX)DIS::SetDataReliablePdu
setLength(unsigned short pX)DIS::Pdu
setOriginatingEntityID(const EntityID &pX)DIS::SimulationManagementWithReliabilityFamilyPdu
setPad1(unsigned short pX)DIS::SetDataReliablePdu
setPad2(unsigned char pX)DIS::SetDataReliablePdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingEntityID(const EntityID &pX)DIS::SimulationManagementWithReliabilityFamilyPdu
setRequestID(unsigned int pX)DIS::SetDataReliablePdu
setRequiredReliabilityService(unsigned char pX)DIS::SetDataReliablePdu
setTimestamp(unsigned int pX)DIS::Pdu
setVariableDatumRecords(const std::vector< VariableDatum > &pX)DIS::SetDataReliablePdu
SimulationManagementWithReliabilityFamilyPdu()DIS::SimulationManagementWithReliabilityFamilyPdu
unmarshal(DataStream &dataStream)DIS::SetDataReliablePdu [virtual]
~Pdu()DIS::Pdu [virtual]
~SetDataReliablePdu()DIS::SetDataReliablePdu [virtual]
~SimulationManagementWithReliabilityFamilyPdu()DIS::SimulationManagementWithReliabilityFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_set_data_reliable_pdu.html b/cpp/docs/html/class_d_i_s_1_1_set_data_reliable_pdu.html new file mode 100644 index 00000000..3515f02a --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_set_data_reliable_pdu.html @@ -0,0 +1,675 @@ + + +open-dis: DIS::SetDataReliablePdu Class Reference + + + + + +
+

DIS::SetDataReliablePdu Class Reference

#include <SetDataReliablePdu.h> +

+

+Inheritance diagram for DIS::SetDataReliablePdu:
+
+ +

+ +DIS::SimulationManagementWithReliabilityFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 SetDataReliablePdu ()
virtual ~SetDataReliablePdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned char getRequiredReliabilityService () const
void setRequiredReliabilityService (unsigned char pX)
unsigned short getPad1 () const
void setPad1 (unsigned short pX)
unsigned char getPad2 () const
void setPad2 (unsigned char pX)
unsigned int getRequestID () const
void setRequestID (unsigned int pX)
unsigned int getNumberOfFixedDatumRecords () const
unsigned int getNumberOfVariableDatumRecords () const
std::vector< FixedDatum > & getFixedDatumRecords ()
const std::vector< FixedDatum > & getFixedDatumRecords () const
void setFixedDatumRecords (const std::vector< FixedDatum > &pX)
std::vector< VariableDatum > & getVariableDatumRecords ()
const std::vector
+< VariableDatum > & 
getVariableDatumRecords () const
void setVariableDatumRecords (const std::vector< VariableDatum > &pX)
virtual int getMarshalledSize () const
bool operator== (const SetDataReliablePdu &rhs) const

Protected Attributes

unsigned char _requiredReliabilityService
unsigned short _pad1
unsigned char _pad2
unsigned int _requestID
unsigned int _numberOfFixedDatumRecords
unsigned int _numberOfVariableDatumRecords
std::vector< FixedDatum_fixedDatumRecords
std::vector< VariableDatum_variableDatumRecords
+


Detailed Description

+Section 5.3.12.9: initializing or chaning internal state information, reliable. Needs manual intervention to fix padding on variable datums. UNFINISHED

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
SetDataReliablePdu::SetDataReliablePdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
SetDataReliablePdu::~SetDataReliablePdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const std::vector< FixedDatum > & SetDataReliablePdu::getFixedDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< FixedDatum > & SetDataReliablePdu::getFixedDatumRecords (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int SetDataReliablePdu::getMarshalledSize (  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + +
unsigned int SetDataReliablePdu::getNumberOfFixedDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int SetDataReliablePdu::getNumberOfVariableDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short SetDataReliablePdu::getPad1 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char SetDataReliablePdu::getPad2 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int SetDataReliablePdu::getRequestID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char SetDataReliablePdu::getRequiredReliabilityService (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< VariableDatum > & SetDataReliablePdu::getVariableDatumRecords (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< VariableDatum > & SetDataReliablePdu::getVariableDatumRecords (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SetDataReliablePdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + + +
bool SetDataReliablePdu::operator== (const SetDataReliablePdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SetDataReliablePdu::setFixedDatumRecords (const std::vector< FixedDatum > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SetDataReliablePdu::setPad1 (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SetDataReliablePdu::setPad2 (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SetDataReliablePdu::setRequestID (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SetDataReliablePdu::setRequiredReliabilityService (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SetDataReliablePdu::setVariableDatumRecords (const std::vector< VariableDatum > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SetDataReliablePdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+ +

+


Member Data Documentation

+ +
+
+ + + + +
std::vector<FixedDatum> DIS::SetDataReliablePdu::_fixedDatumRecords [protected]
+
+
+ +

+Fixed datum records +

+

+ +

+
+ + + + +
unsigned int DIS::SetDataReliablePdu::_numberOfFixedDatumRecords [protected]
+
+
+ +

+Fixed datum record count +

+

+ +

+
+ + + + +
unsigned int DIS::SetDataReliablePdu::_numberOfVariableDatumRecords [protected]
+
+
+ +

+variable datum record count +

+

+ +

+
+ + + + +
unsigned short DIS::SetDataReliablePdu::_pad1 [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
unsigned char DIS::SetDataReliablePdu::_pad2 [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
unsigned int DIS::SetDataReliablePdu::_requestID [protected]
+
+
+ +

+Request ID +

+

+ +

+
+ + + + +
unsigned char DIS::SetDataReliablePdu::_requiredReliabilityService [protected]
+
+
+ +

+level of reliability service used for this transaction +

+

+ +

+ +
+ +

+Variable datum records +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_set_data_reliable_pdu.png b/cpp/docs/html/class_d_i_s_1_1_set_data_reliable_pdu.png new file mode 100644 index 00000000..773124dc Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_set_data_reliable_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_set_record_reliable_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_set_record_reliable_pdu-members.html new file mode 100644 index 00000000..89173dab --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_set_record_reliable_pdu-members.html @@ -0,0 +1,91 @@ + + +open-dis: Member List + + + + + +
+

DIS::SetRecordReliablePdu Member List

This is the complete list of members for DIS::SetRecordReliablePdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_numberOfRecordSetsDIS::SetRecordReliablePdu [protected]
_originatingEntityIDDIS::SimulationManagementWithReliabilityFamilyPdu [protected]
_pad1DIS::SetRecordReliablePdu [protected]
_pad2DIS::SetRecordReliablePdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingEntityIDDIS::SimulationManagementWithReliabilityFamilyPdu [protected]
_recordSetsDIS::SetRecordReliablePdu [protected]
_requestIDDIS::SetRecordReliablePdu [protected]
_requiredReliabilityServiceDIS::SetRecordReliablePdu [protected]
_timestampDIS::Pdu [protected]
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::SetRecordReliablePdu [virtual]
getNumberOfRecordSets() const DIS::SetRecordReliablePdu
getOriginatingEntityID()DIS::SimulationManagementWithReliabilityFamilyPdu
getOriginatingEntityID() const DIS::SimulationManagementWithReliabilityFamilyPdu
getPad1() const DIS::SetRecordReliablePdu
getPad2() const DIS::SetRecordReliablePdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingEntityID()DIS::SimulationManagementWithReliabilityFamilyPdu
getReceivingEntityID() const DIS::SimulationManagementWithReliabilityFamilyPdu
getRecordSets()DIS::SetRecordReliablePdu
getRecordSets() const DIS::SetRecordReliablePdu
getRequestID() const DIS::SetRecordReliablePdu
getRequiredReliabilityService() const DIS::SetRecordReliablePdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::SetRecordReliablePdu [virtual]
operator==(const SetRecordReliablePdu &rhs) const DIS::SetRecordReliablePdu
DIS::SimulationManagementWithReliabilityFamilyPdu::operator==(const SimulationManagementWithReliabilityFamilyPdu &rhs) const DIS::SimulationManagementWithReliabilityFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setOriginatingEntityID(const EntityID &pX)DIS::SimulationManagementWithReliabilityFamilyPdu
setPad1(unsigned short pX)DIS::SetRecordReliablePdu
setPad2(unsigned char pX)DIS::SetRecordReliablePdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingEntityID(const EntityID &pX)DIS::SimulationManagementWithReliabilityFamilyPdu
SetRecordReliablePdu()DIS::SetRecordReliablePdu
setRecordSets(const std::vector< RecordSet > &pX)DIS::SetRecordReliablePdu
setRequestID(unsigned int pX)DIS::SetRecordReliablePdu
setRequiredReliabilityService(unsigned char pX)DIS::SetRecordReliablePdu
setTimestamp(unsigned int pX)DIS::Pdu
SimulationManagementWithReliabilityFamilyPdu()DIS::SimulationManagementWithReliabilityFamilyPdu
unmarshal(DataStream &dataStream)DIS::SetRecordReliablePdu [virtual]
~Pdu()DIS::Pdu [virtual]
~SetRecordReliablePdu()DIS::SetRecordReliablePdu [virtual]
~SimulationManagementWithReliabilityFamilyPdu()DIS::SimulationManagementWithReliabilityFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_set_record_reliable_pdu.html b/cpp/docs/html/class_d_i_s_1_1_set_record_reliable_pdu.html new file mode 100644 index 00000000..25359951 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_set_record_reliable_pdu.html @@ -0,0 +1,555 @@ + + +open-dis: DIS::SetRecordReliablePdu Class Reference + + + + + +
+

DIS::SetRecordReliablePdu Class Reference

#include <SetRecordReliablePdu.h> +

+

+Inheritance diagram for DIS::SetRecordReliablePdu:
+
+ +

+ +DIS::SimulationManagementWithReliabilityFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 SetRecordReliablePdu ()
virtual ~SetRecordReliablePdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned int getRequestID () const
void setRequestID (unsigned int pX)
unsigned char getRequiredReliabilityService () const
void setRequiredReliabilityService (unsigned char pX)
unsigned short getPad1 () const
void setPad1 (unsigned short pX)
unsigned char getPad2 () const
void setPad2 (unsigned char pX)
unsigned int getNumberOfRecordSets () const
std::vector< RecordSet > & getRecordSets ()
const std::vector< RecordSet > & getRecordSets () const
void setRecordSets (const std::vector< RecordSet > &pX)
virtual int getMarshalledSize () const
bool operator== (const SetRecordReliablePdu &rhs) const

Protected Attributes

unsigned int _requestID
unsigned char _requiredReliabilityService
unsigned short _pad1
unsigned char _pad2
unsigned int _numberOfRecordSets
std::vector< RecordSet_recordSets
+


Detailed Description

+Section 5.3.12.14: Initializing or changing internal parameter info. Needs manual intervention to fix padding in recrod set PDUs. UNFINISHED

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
SetRecordReliablePdu::SetRecordReliablePdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
SetRecordReliablePdu::~SetRecordReliablePdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int SetRecordReliablePdu::getMarshalledSize (  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + +
unsigned int SetRecordReliablePdu::getNumberOfRecordSets (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short SetRecordReliablePdu::getPad1 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char SetRecordReliablePdu::getPad2 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< RecordSet > & SetRecordReliablePdu::getRecordSets (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< RecordSet > & SetRecordReliablePdu::getRecordSets (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int SetRecordReliablePdu::getRequestID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char SetRecordReliablePdu::getRequiredReliabilityService (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SetRecordReliablePdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + + +
bool SetRecordReliablePdu::operator== (const SetRecordReliablePdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SetRecordReliablePdu::setPad1 (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SetRecordReliablePdu::setPad2 (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SetRecordReliablePdu::setRecordSets (const std::vector< RecordSet > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SetRecordReliablePdu::setRequestID (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SetRecordReliablePdu::setRequiredReliabilityService (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SetRecordReliablePdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+ +

+


Member Data Documentation

+ +
+
+ + + + +
unsigned int DIS::SetRecordReliablePdu::_numberOfRecordSets [protected]
+
+
+ +

+Number of record sets in list +

+

+ +

+
+ + + + +
unsigned short DIS::SetRecordReliablePdu::_pad1 [protected]
+
+
+ +

+padding. The spec is unclear and contradictory here. +

+

+ +

+
+ + + + +
unsigned char DIS::SetRecordReliablePdu::_pad2 [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
std::vector<RecordSet> DIS::SetRecordReliablePdu::_recordSets [protected]
+
+
+ +

+record sets +

+

+ +

+
+ + + + +
unsigned int DIS::SetRecordReliablePdu::_requestID [protected]
+
+
+ +

+request ID +

+

+ +

+
+ + + + +
unsigned char DIS::SetRecordReliablePdu::_requiredReliabilityService [protected]
+
+
+ +

+level of reliability service used for this transaction +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_set_record_reliable_pdu.png b/cpp/docs/html/class_d_i_s_1_1_set_record_reliable_pdu.png new file mode 100644 index 00000000..ddf360a2 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_set_record_reliable_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_shaft_r_p_ms-members.html b/cpp/docs/html/class_d_i_s_1_1_shaft_r_p_ms-members.html new file mode 100644 index 00000000..2cb54695 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_shaft_r_p_ms-members.html @@ -0,0 +1,47 @@ + + +open-dis: Member List + + + + + +
+

DIS::ShaftRPMs Member List

This is the complete list of members for DIS::ShaftRPMs, including all inherited members.

+ + + + + + + + + + + + + + + +
_currentShaftRPMsDIS::ShaftRPMs [protected]
_orderedShaftRPMsDIS::ShaftRPMs [protected]
_shaftRPMRateOfChangeDIS::ShaftRPMs [protected]
getCurrentShaftRPMs() const DIS::ShaftRPMs
getMarshalledSize() const DIS::ShaftRPMs [virtual]
getOrderedShaftRPMs() const DIS::ShaftRPMs
getShaftRPMRateOfChange() const DIS::ShaftRPMs
marshal(DataStream &dataStream) const DIS::ShaftRPMs [virtual]
operator==(const ShaftRPMs &rhs) const DIS::ShaftRPMs
setCurrentShaftRPMs(short pX)DIS::ShaftRPMs
setOrderedShaftRPMs(short pX)DIS::ShaftRPMs
setShaftRPMRateOfChange(float pX)DIS::ShaftRPMs
ShaftRPMs()DIS::ShaftRPMs
unmarshal(DataStream &dataStream)DIS::ShaftRPMs [virtual]
~ShaftRPMs()DIS::ShaftRPMs [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_shaft_r_p_ms.html b/cpp/docs/html/class_d_i_s_1_1_shaft_r_p_ms.html new file mode 100644 index 00000000..6dda5001 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_shaft_r_p_ms.html @@ -0,0 +1,360 @@ + + +open-dis: DIS::ShaftRPMs Class Reference + + + + + +
+

DIS::ShaftRPMs Class Reference

#include <ShaftRPMs.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 ShaftRPMs ()
virtual ~ShaftRPMs ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
short getCurrentShaftRPMs () const
void setCurrentShaftRPMs (short pX)
short getOrderedShaftRPMs () const
void setOrderedShaftRPMs (short pX)
float getShaftRPMRateOfChange () const
void setShaftRPMRateOfChange (float pX)
virtual int getMarshalledSize () const
bool operator== (const ShaftRPMs &rhs) const

Protected Attributes

short _currentShaftRPMs
short _orderedShaftRPMs
float _shaftRPMRateOfChange
+


Detailed Description

+Shaft RPMs, used in underwater acoustic clacluations.

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
ShaftRPMs::ShaftRPMs (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
ShaftRPMs::~ShaftRPMs (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
short ShaftRPMs::getCurrentShaftRPMs (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int ShaftRPMs::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
short ShaftRPMs::getOrderedShaftRPMs (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float ShaftRPMs::getShaftRPMRateOfChange (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ShaftRPMs::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool ShaftRPMs::operator== (const ShaftRPMs rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ShaftRPMs::setCurrentShaftRPMs (short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ShaftRPMs::setOrderedShaftRPMs (short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ShaftRPMs::setShaftRPMRateOfChange (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void ShaftRPMs::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
short DIS::ShaftRPMs::_currentShaftRPMs [protected]
+
+
+ +

+Current shaft RPMs +

+

+ +

+
+ + + + +
short DIS::ShaftRPMs::_orderedShaftRPMs [protected]
+
+
+ +

+ordered shaft rpms +

+

+ +

+
+ + + + +
float DIS::ShaftRPMs::_shaftRPMRateOfChange [protected]
+
+
+ +

+rate of change of shaft RPMs +

+

+


The documentation for this class was generated from the following files:
    +
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ShaftRPMs.h
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ShaftRPMs.cpp
+
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_signal_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_signal_pdu-members.html new file mode 100644 index 00000000..329b87d7 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_signal_pdu-members.html @@ -0,0 +1,90 @@ + + +open-dis: Member List + + + + + +
+

DIS::SignalPdu Member List

This is the complete list of members for DIS::SignalPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_dataDIS::SignalPdu [protected]
_dataLengthDIS::SignalPdu [protected]
_encodingSchemeDIS::SignalPdu [protected]
_entityIdDIS::RadioCommunicationsFamilyPdu [protected]
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_radioIdDIS::RadioCommunicationsFamilyPdu [protected]
_sampleRateDIS::SignalPdu [protected]
_samplesDIS::SignalPdu [protected]
_tdlTypeDIS::SignalPdu [protected]
_timestampDIS::Pdu [protected]
getData()DIS::SignalPdu
getData() const DIS::SignalPdu
getDataLength() const DIS::SignalPdu
getEncodingScheme() const DIS::SignalPdu
getEntityId()DIS::RadioCommunicationsFamilyPdu
getEntityId() const DIS::RadioCommunicationsFamilyPdu
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::SignalPdu [virtual]
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getRadioId() const DIS::RadioCommunicationsFamilyPdu
getSampleRate() const DIS::SignalPdu
getSamples() const DIS::SignalPdu
getTdlType() const DIS::SignalPdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::SignalPdu [virtual]
operator==(const SignalPdu &rhs) const DIS::SignalPdu
DIS::RadioCommunicationsFamilyPdu::operator==(const RadioCommunicationsFamilyPdu &rhs) const DIS::RadioCommunicationsFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
RadioCommunicationsFamilyPdu()DIS::RadioCommunicationsFamilyPdu
setData(const std::vector< OneByteChunk > &pX)DIS::SignalPdu
setEncodingScheme(unsigned short pX)DIS::SignalPdu
setEntityId(const EntityID &pX)DIS::RadioCommunicationsFamilyPdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setRadioId(unsigned short pX)DIS::RadioCommunicationsFamilyPdu
setSampleRate(int pX)DIS::SignalPdu
setSamples(short pX)DIS::SignalPdu
setTdlType(unsigned short pX)DIS::SignalPdu
setTimestamp(unsigned int pX)DIS::Pdu
SignalPdu()DIS::SignalPdu
unmarshal(DataStream &dataStream)DIS::SignalPdu [virtual]
~Pdu()DIS::Pdu [virtual]
~RadioCommunicationsFamilyPdu()DIS::RadioCommunicationsFamilyPdu [virtual]
~SignalPdu()DIS::SignalPdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_signal_pdu.html b/cpp/docs/html/class_d_i_s_1_1_signal_pdu.html new file mode 100644 index 00000000..a6c5873f --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_signal_pdu.html @@ -0,0 +1,555 @@ + + +open-dis: DIS::SignalPdu Class Reference + + + + + +
+

DIS::SignalPdu Class Reference

#include <SignalPdu.h> +

+

+Inheritance diagram for DIS::SignalPdu:
+
+ +

+ +DIS::RadioCommunicationsFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 SignalPdu ()
virtual ~SignalPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned short getEncodingScheme () const
void setEncodingScheme (unsigned short pX)
unsigned short getTdlType () const
void setTdlType (unsigned short pX)
int getSampleRate () const
void setSampleRate (int pX)
short getDataLength () const
short getSamples () const
void setSamples (short pX)
std::vector< OneByteChunk > & getData ()
const std::vector< OneByteChunk > & getData () const
void setData (const std::vector< OneByteChunk > &pX)
virtual int getMarshalledSize () const
bool operator== (const SignalPdu &rhs) const

Protected Attributes

unsigned short _encodingScheme
unsigned short _tdlType
int _sampleRate
short _dataLength
short _samples
std::vector< OneByteChunk_data
+


Detailed Description

+Section 5.3.8.2. Detailed information about a radio transmitter. This PDU requires manually written code to complete. The encodingScheme field can be used in multiple ways, which requires hand-written code to finish. UNFINISHED

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
SignalPdu::SignalPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
SignalPdu::~SignalPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const std::vector< OneByteChunk > & SignalPdu::getData (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< OneByteChunk > & SignalPdu::getData (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
short SignalPdu::getDataLength (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short SignalPdu::getEncodingScheme (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int SignalPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::RadioCommunicationsFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
int SignalPdu::getSampleRate (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
short SignalPdu::getSamples (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short SignalPdu::getTdlType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SignalPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::RadioCommunicationsFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool SignalPdu::operator== (const SignalPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SignalPdu::setData (const std::vector< OneByteChunk > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SignalPdu::setEncodingScheme (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SignalPdu::setSampleRate (int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SignalPdu::setSamples (short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SignalPdu::setTdlType (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SignalPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::RadioCommunicationsFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
std::vector<OneByteChunk> DIS::SignalPdu::_data [protected]
+
+
+ +

+list of eight bit values +

+

+ +

+
+ + + + +
short DIS::SignalPdu::_dataLength [protected]
+
+
+ +

+length od data +

+

+ +

+
+ + + + +
unsigned short DIS::SignalPdu::_encodingScheme [protected]
+
+
+ +

+encoding scheme used, and enumeration +

+

+ +

+
+ + + + +
int DIS::SignalPdu::_sampleRate [protected]
+
+
+ +

+sample rate +

+

+ +

+
+ + + + +
short DIS::SignalPdu::_samples [protected]
+
+
+ +

+number of samples +

+

+ +

+
+ + + + +
unsigned short DIS::SignalPdu::_tdlType [protected]
+
+
+ +

+tdl type +

+

+


The documentation for this class was generated from the following files:
    +
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SignalPdu.h
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SignalPdu.cpp
+
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_signal_pdu.png b/cpp/docs/html/class_d_i_s_1_1_signal_pdu.png new file mode 100644 index 00000000..6260c7b5 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_signal_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_simulation_address-members.html b/cpp/docs/html/class_d_i_s_1_1_simulation_address-members.html new file mode 100644 index 00000000..d36a2dac --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_simulation_address-members.html @@ -0,0 +1,44 @@ + + +open-dis: Member List + + + + + +
+

DIS::SimulationAddress Member List

This is the complete list of members for DIS::SimulationAddress, including all inherited members.

+ + + + + + + + + + + + +
_applicationDIS::SimulationAddress [protected]
_siteDIS::SimulationAddress [protected]
getApplication() const DIS::SimulationAddress
getMarshalledSize() const DIS::SimulationAddress [virtual]
getSite() const DIS::SimulationAddress
marshal(DataStream &dataStream) const DIS::SimulationAddress [virtual]
operator==(const SimulationAddress &rhs) const DIS::SimulationAddress
setApplication(unsigned short pX)DIS::SimulationAddress
setSite(unsigned short pX)DIS::SimulationAddress
SimulationAddress()DIS::SimulationAddress
unmarshal(DataStream &dataStream)DIS::SimulationAddress [virtual]
~SimulationAddress()DIS::SimulationAddress [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_simulation_address.html b/cpp/docs/html/class_d_i_s_1_1_simulation_address.html new file mode 100644 index 00000000..1292a932 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_simulation_address.html @@ -0,0 +1,300 @@ + + +open-dis: DIS::SimulationAddress Class Reference + + + + + +
+

DIS::SimulationAddress Class Reference

#include <SimulationAddress.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 SimulationAddress ()
virtual ~SimulationAddress ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned short getSite () const
void setSite (unsigned short pX)
unsigned short getApplication () const
void setApplication (unsigned short pX)
virtual int getMarshalledSize () const
bool operator== (const SimulationAddress &rhs) const

Protected Attributes

unsigned short _site
unsigned short _application
+


Detailed Description

+Section 5.2.14.1. A Simulation Address record shall consist of the Site Identification number and the Application Identification number.

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
SimulationAddress::SimulationAddress (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
SimulationAddress::~SimulationAddress (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned short SimulationAddress::getApplication (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int SimulationAddress::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short SimulationAddress::getSite (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SimulationAddress::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool SimulationAddress::operator== (const SimulationAddress rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SimulationAddress::setApplication (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SimulationAddress::setSite (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SimulationAddress::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned short DIS::SimulationAddress::_application [protected]
+
+
+ +

+The application ID +

+

+ +

+
+ + + + +
unsigned short DIS::SimulationAddress::_site [protected]
+
+
+ +

+The site ID +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_simulation_management_family_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_simulation_management_family_pdu-members.html new file mode 100644 index 00000000..c1bed000 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_simulation_management_family_pdu-members.html @@ -0,0 +1,70 @@ + + +open-dis: Member List + + + + + +
+

DIS::SimulationManagementFamilyPdu Member List

This is the complete list of members for DIS::SimulationManagementFamilyPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_originatingEntityIDDIS::SimulationManagementFamilyPdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingEntityIDDIS::SimulationManagementFamilyPdu [protected]
_timestampDIS::Pdu [protected]
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::SimulationManagementFamilyPdu [virtual]
getOriginatingEntityID()DIS::SimulationManagementFamilyPdu
getOriginatingEntityID() const DIS::SimulationManagementFamilyPdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingEntityID()DIS::SimulationManagementFamilyPdu
getReceivingEntityID() const DIS::SimulationManagementFamilyPdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::SimulationManagementFamilyPdu [virtual]
operator==(const SimulationManagementFamilyPdu &rhs) const DIS::SimulationManagementFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setOriginatingEntityID(const EntityID &pX)DIS::SimulationManagementFamilyPdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingEntityID(const EntityID &pX)DIS::SimulationManagementFamilyPdu
setTimestamp(unsigned int pX)DIS::Pdu
SimulationManagementFamilyPdu()DIS::SimulationManagementFamilyPdu
unmarshal(DataStream &dataStream)DIS::SimulationManagementFamilyPdu [virtual]
~Pdu()DIS::Pdu [virtual]
~SimulationManagementFamilyPdu()DIS::SimulationManagementFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_simulation_management_family_pdu.html b/cpp/docs/html/class_d_i_s_1_1_simulation_management_family_pdu.html new file mode 100644 index 00000000..07b264fc --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_simulation_management_family_pdu.html @@ -0,0 +1,375 @@ + + +open-dis: DIS::SimulationManagementFamilyPdu Class Reference + + + + + +
+

DIS::SimulationManagementFamilyPdu Class Reference

#include <SimulationManagementFamilyPdu.h> +

+

+Inheritance diagram for DIS::SimulationManagementFamilyPdu:
+
+ +

+ +DIS::Pdu +DIS::AcknowledgePdu +DIS::ActionRequestPdu +DIS::ActionResponsePdu +DIS::CommentPdu +DIS::CreateEntityPdu +DIS::DataPdu +DIS::DataQueryPdu +DIS::EventReportPdu +DIS::RemoveEntityPdu +DIS::SetDataPdu +DIS::StartResumePdu +DIS::StopFreezePdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 SimulationManagementFamilyPdu ()
virtual ~SimulationManagementFamilyPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetOriginatingEntityID ()
const EntityIDgetOriginatingEntityID () const
void setOriginatingEntityID (const EntityID &pX)
EntityIDgetReceivingEntityID ()
const EntityIDgetReceivingEntityID () const
void setReceivingEntityID (const EntityID &pX)
virtual int getMarshalledSize () const
bool operator== (const SimulationManagementFamilyPdu &rhs) const

Protected Attributes

EntityID _originatingEntityID
EntityID _receivingEntityID
+


Detailed Description

+Section 5.3.6. Abstract superclass for PDUs relating to the simulation itself. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
SimulationManagementFamilyPdu::SimulationManagementFamilyPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
SimulationManagementFamilyPdu::~SimulationManagementFamilyPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int SimulationManagementFamilyPdu::getMarshalledSize (  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + +
const EntityID & SimulationManagementFamilyPdu::getOriginatingEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & SimulationManagementFamilyPdu::getOriginatingEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & SimulationManagementFamilyPdu::getReceivingEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & SimulationManagementFamilyPdu::getReceivingEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SimulationManagementFamilyPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + + +
bool SimulationManagementFamilyPdu::operator== (const SimulationManagementFamilyPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SimulationManagementFamilyPdu::setOriginatingEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SimulationManagementFamilyPdu::setReceivingEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SimulationManagementFamilyPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+ +

+


Member Data Documentation

+ +
+ +
+ +

+Entity that is sending message +

+

+ +

+ +
+ +

+Entity that is intended to receive message +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_simulation_management_family_pdu.png b/cpp/docs/html/class_d_i_s_1_1_simulation_management_family_pdu.png new file mode 100644 index 00000000..eaa240a3 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_simulation_management_family_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_simulation_management_with_reliability_family_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_simulation_management_with_reliability_family_pdu-members.html new file mode 100644 index 00000000..a5ac62eb --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_simulation_management_with_reliability_family_pdu-members.html @@ -0,0 +1,70 @@ + + +open-dis: Member List + + + + + +
+

DIS::SimulationManagementWithReliabilityFamilyPdu Member List

This is the complete list of members for DIS::SimulationManagementWithReliabilityFamilyPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_originatingEntityIDDIS::SimulationManagementWithReliabilityFamilyPdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_receivingEntityIDDIS::SimulationManagementWithReliabilityFamilyPdu [protected]
_timestampDIS::Pdu [protected]
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::SimulationManagementWithReliabilityFamilyPdu [virtual]
getOriginatingEntityID()DIS::SimulationManagementWithReliabilityFamilyPdu
getOriginatingEntityID() const DIS::SimulationManagementWithReliabilityFamilyPdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getReceivingEntityID()DIS::SimulationManagementWithReliabilityFamilyPdu
getReceivingEntityID() const DIS::SimulationManagementWithReliabilityFamilyPdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::SimulationManagementWithReliabilityFamilyPdu [virtual]
operator==(const SimulationManagementWithReliabilityFamilyPdu &rhs) const DIS::SimulationManagementWithReliabilityFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setOriginatingEntityID(const EntityID &pX)DIS::SimulationManagementWithReliabilityFamilyPdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setReceivingEntityID(const EntityID &pX)DIS::SimulationManagementWithReliabilityFamilyPdu
setTimestamp(unsigned int pX)DIS::Pdu
SimulationManagementWithReliabilityFamilyPdu()DIS::SimulationManagementWithReliabilityFamilyPdu
unmarshal(DataStream &dataStream)DIS::SimulationManagementWithReliabilityFamilyPdu [virtual]
~Pdu()DIS::Pdu [virtual]
~SimulationManagementWithReliabilityFamilyPdu()DIS::SimulationManagementWithReliabilityFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_simulation_management_with_reliability_family_pdu.html b/cpp/docs/html/class_d_i_s_1_1_simulation_management_with_reliability_family_pdu.html new file mode 100644 index 00000000..1d1faefd --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_simulation_management_with_reliability_family_pdu.html @@ -0,0 +1,377 @@ + + +open-dis: DIS::SimulationManagementWithReliabilityFamilyPdu Class Reference + + + + + +
+

DIS::SimulationManagementWithReliabilityFamilyPdu Class Reference

#include <SimulationManagementWithReliabilityFamilyPdu.h> +

+

+Inheritance diagram for DIS::SimulationManagementWithReliabilityFamilyPdu:
+
+ +

+ +DIS::Pdu +DIS::AcknowledgeReliablePdu +DIS::ActionRequestReliablePdu +DIS::ActionResponseReliablePdu +DIS::CommentReliablePdu +DIS::CreateEntityReliablePdu +DIS::DataQueryReliablePdu +DIS::DataReliablePdu +DIS::EventReportReliablePdu +DIS::RecordQueryReliablePdu +DIS::RemoveEntityReliablePdu +DIS::SetDataReliablePdu +DIS::SetRecordReliablePdu +DIS::StartResumeReliablePdu +DIS::StopFreezeReliablePdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 SimulationManagementWithReliabilityFamilyPdu ()
virtual ~SimulationManagementWithReliabilityFamilyPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetOriginatingEntityID ()
const EntityIDgetOriginatingEntityID () const
void setOriginatingEntityID (const EntityID &pX)
EntityIDgetReceivingEntityID ()
const EntityIDgetReceivingEntityID () const
void setReceivingEntityID (const EntityID &pX)
virtual int getMarshalledSize () const
bool operator== (const SimulationManagementWithReliabilityFamilyPdu &rhs) const

Protected Attributes

EntityID _originatingEntityID
EntityID _receivingEntityID
+


Detailed Description

+Section 5.3.12: Abstract superclass for reliable simulation management PDUs

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
SimulationManagementWithReliabilityFamilyPdu::SimulationManagementWithReliabilityFamilyPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
SimulationManagementWithReliabilityFamilyPdu::~SimulationManagementWithReliabilityFamilyPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +

+ +

+
+ + + + + + + + +
const EntityID & SimulationManagementWithReliabilityFamilyPdu::getOriginatingEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & SimulationManagementWithReliabilityFamilyPdu::getOriginatingEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & SimulationManagementWithReliabilityFamilyPdu::getReceivingEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & SimulationManagementWithReliabilityFamilyPdu::getReceivingEntityID (  ) 
+
+
+ +

+ +

+

+ +

+ +

+
+ + + + + + + + + +
bool SimulationManagementWithReliabilityFamilyPdu::operator== (const SimulationManagementWithReliabilityFamilyPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SimulationManagementWithReliabilityFamilyPdu::setOriginatingEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SimulationManagementWithReliabilityFamilyPdu::setReceivingEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+


Member Data Documentation

+ +
+ +
+ +

+Object originatig the request +

+

+ +

+ +
+ +

+Object with which this point object is associated +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_simulation_management_with_reliability_family_pdu.png b/cpp/docs/html/class_d_i_s_1_1_simulation_management_with_reliability_family_pdu.png new file mode 100644 index 00000000..bf50953c Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_simulation_management_with_reliability_family_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_six_byte_chunk-members.html b/cpp/docs/html/class_d_i_s_1_1_six_byte_chunk-members.html new file mode 100644 index 00000000..a87f688c --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_six_byte_chunk-members.html @@ -0,0 +1,42 @@ + + +open-dis: Member List + + + + + +
+

DIS::SixByteChunk Member List

This is the complete list of members for DIS::SixByteChunk, including all inherited members.

+ + + + + + + + + + +
_otherParametersDIS::SixByteChunk [protected]
getMarshalledSize() const DIS::SixByteChunk [virtual]
getOtherParameters()DIS::SixByteChunk
getOtherParameters() const DIS::SixByteChunk
marshal(DataStream &dataStream) const DIS::SixByteChunk [virtual]
operator==(const SixByteChunk &rhs) const DIS::SixByteChunk
setOtherParameters(const char *pX)DIS::SixByteChunk
SixByteChunk()DIS::SixByteChunk
unmarshal(DataStream &dataStream)DIS::SixByteChunk [virtual]
~SixByteChunk()DIS::SixByteChunk [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_six_byte_chunk.html b/cpp/docs/html/class_d_i_s_1_1_six_byte_chunk.html new file mode 100644 index 00000000..bf8e7aee --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_six_byte_chunk.html @@ -0,0 +1,261 @@ + + +open-dis: DIS::SixByteChunk Class Reference + + + + + +
+

DIS::SixByteChunk Class Reference

#include <SixByteChunk.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 SixByteChunk ()
virtual ~SixByteChunk ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
char * getOtherParameters ()
const char * getOtherParameters () const
void setOtherParameters (const char *pX)
virtual int getMarshalledSize () const
bool operator== (const SixByteChunk &rhs) const

Protected Attributes

char _otherParameters [6]
+


Detailed Description

+48 bit piece of data

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
SixByteChunk::SixByteChunk (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
SixByteChunk::~SixByteChunk (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int SixByteChunk::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const char * SixByteChunk::getOtherParameters (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
char * SixByteChunk::getOtherParameters (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SixByteChunk::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool SixByteChunk::operator== (const SixByteChunk rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SixByteChunk::setOtherParameters (const char *  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SixByteChunk::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
char DIS::SixByteChunk::_otherParameters[6] [protected]
+
+
+ +

+six bytes of arbitrary data +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_spherical_harmonic_antenna_pattern-members.html b/cpp/docs/html/class_d_i_s_1_1_spherical_harmonic_antenna_pattern-members.html new file mode 100644 index 00000000..5feefa67 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_spherical_harmonic_antenna_pattern-members.html @@ -0,0 +1,41 @@ + + +open-dis: Member List + + + + + +
+

DIS::SphericalHarmonicAntennaPattern Member List

This is the complete list of members for DIS::SphericalHarmonicAntennaPattern, including all inherited members.

+ + + + + + + + + +
_orderDIS::SphericalHarmonicAntennaPattern [protected]
getMarshalledSize() const DIS::SphericalHarmonicAntennaPattern [virtual]
getOrder() const DIS::SphericalHarmonicAntennaPattern
marshal(DataStream &dataStream) const DIS::SphericalHarmonicAntennaPattern [virtual]
operator==(const SphericalHarmonicAntennaPattern &rhs) const DIS::SphericalHarmonicAntennaPattern
setOrder(char pX)DIS::SphericalHarmonicAntennaPattern
SphericalHarmonicAntennaPattern()DIS::SphericalHarmonicAntennaPattern
unmarshal(DataStream &dataStream)DIS::SphericalHarmonicAntennaPattern [virtual]
~SphericalHarmonicAntennaPattern()DIS::SphericalHarmonicAntennaPattern [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_spherical_harmonic_antenna_pattern.html b/cpp/docs/html/class_d_i_s_1_1_spherical_harmonic_antenna_pattern.html new file mode 100644 index 00000000..eb929f28 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_spherical_harmonic_antenna_pattern.html @@ -0,0 +1,240 @@ + + +open-dis: DIS::SphericalHarmonicAntennaPattern Class Reference + + + + + +
+

DIS::SphericalHarmonicAntennaPattern Class Reference

#include <SphericalHarmonicAntennaPattern.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 SphericalHarmonicAntennaPattern ()
virtual ~SphericalHarmonicAntennaPattern ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
char getOrder () const
void setOrder (char pX)
virtual int getMarshalledSize () const
bool operator== (const SphericalHarmonicAntennaPattern &rhs) const

Protected Attributes

char _order
+


Detailed Description

+Section 5.2.4.3. Used when the antenna pattern type in the transmitter pdu is of value 2. Specified the direction and radiation pattern from a radio transmitter's antenna. NOTE: this class must be hand-coded to clean up some implementation details.

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
SphericalHarmonicAntennaPattern::SphericalHarmonicAntennaPattern (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
SphericalHarmonicAntennaPattern::~SphericalHarmonicAntennaPattern (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int SphericalHarmonicAntennaPattern::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
char SphericalHarmonicAntennaPattern::getOrder (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SphericalHarmonicAntennaPattern::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool SphericalHarmonicAntennaPattern::operator== (const SphericalHarmonicAntennaPattern rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SphericalHarmonicAntennaPattern::setOrder (char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SphericalHarmonicAntennaPattern::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
char DIS::SphericalHarmonicAntennaPattern::_order [protected]
+
+
+ +

+ +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_start_resume_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_start_resume_pdu-members.html new file mode 100644 index 00000000..1b292d00 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_start_resume_pdu-members.html @@ -0,0 +1,84 @@ + + +open-dis: Member List + + + + + +
+

DIS::StartResumePdu Member List

This is the complete list of members for DIS::StartResumePdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_originatingEntityIDDIS::SimulationManagementFamilyPdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_realWorldTimeDIS::StartResumePdu [protected]
_receivingEntityIDDIS::SimulationManagementFamilyPdu [protected]
_requestIDDIS::StartResumePdu [protected]
_simulationTimeDIS::StartResumePdu [protected]
_timestampDIS::Pdu [protected]
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::StartResumePdu [virtual]
getOriginatingEntityID()DIS::SimulationManagementFamilyPdu
getOriginatingEntityID() const DIS::SimulationManagementFamilyPdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getRealWorldTime()DIS::StartResumePdu
getRealWorldTime() const DIS::StartResumePdu
getReceivingEntityID()DIS::SimulationManagementFamilyPdu
getReceivingEntityID() const DIS::SimulationManagementFamilyPdu
getRequestID() const DIS::StartResumePdu
getSimulationTime()DIS::StartResumePdu
getSimulationTime() const DIS::StartResumePdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::StartResumePdu [virtual]
operator==(const StartResumePdu &rhs) const DIS::StartResumePdu
DIS::SimulationManagementFamilyPdu::operator==(const SimulationManagementFamilyPdu &rhs) const DIS::SimulationManagementFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setOriginatingEntityID(const EntityID &pX)DIS::SimulationManagementFamilyPdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setRealWorldTime(const ClockTime &pX)DIS::StartResumePdu
setReceivingEntityID(const EntityID &pX)DIS::SimulationManagementFamilyPdu
setRequestID(unsigned int pX)DIS::StartResumePdu
setSimulationTime(const ClockTime &pX)DIS::StartResumePdu
setTimestamp(unsigned int pX)DIS::Pdu
SimulationManagementFamilyPdu()DIS::SimulationManagementFamilyPdu
StartResumePdu()DIS::StartResumePdu
unmarshal(DataStream &dataStream)DIS::StartResumePdu [virtual]
~Pdu()DIS::Pdu [virtual]
~SimulationManagementFamilyPdu()DIS::SimulationManagementFamilyPdu [virtual]
~StartResumePdu()DIS::StartResumePdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_start_resume_pdu.html b/cpp/docs/html/class_d_i_s_1_1_start_resume_pdu.html new file mode 100644 index 00000000..fe06ee56 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_start_resume_pdu.html @@ -0,0 +1,418 @@ + + +open-dis: DIS::StartResumePdu Class Reference + + + + + +
+

DIS::StartResumePdu Class Reference

#include <StartResumePdu.h> +

+

+Inheritance diagram for DIS::StartResumePdu:
+
+ +

+ +DIS::SimulationManagementFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 StartResumePdu ()
virtual ~StartResumePdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
ClockTimegetRealWorldTime ()
const ClockTimegetRealWorldTime () const
void setRealWorldTime (const ClockTime &pX)
ClockTimegetSimulationTime ()
const ClockTimegetSimulationTime () const
void setSimulationTime (const ClockTime &pX)
unsigned int getRequestID () const
void setRequestID (unsigned int pX)
virtual int getMarshalledSize () const
bool operator== (const StartResumePdu &rhs) const

Protected Attributes

ClockTime _realWorldTime
ClockTime _simulationTime
unsigned int _requestID
+


Detailed Description

+Section 5.2.6.3. Start or resume an exercise. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
StartResumePdu::StartResumePdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
StartResumePdu::~StartResumePdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int StartResumePdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
const ClockTime & StartResumePdu::getRealWorldTime (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
ClockTime & StartResumePdu::getRealWorldTime (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int StartResumePdu::getRequestID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const ClockTime & StartResumePdu::getSimulationTime (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
ClockTime & StartResumePdu::getSimulationTime (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void StartResumePdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool StartResumePdu::operator== (const StartResumePdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void StartResumePdu::setRealWorldTime (const ClockTime pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void StartResumePdu::setRequestID (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void StartResumePdu::setSimulationTime (const ClockTime pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void StartResumePdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+ +
+ +

+UTC time at which the simulation shall start or resume +

+

+ +

+
+ + + + +
unsigned int DIS::StartResumePdu::_requestID [protected]
+
+
+ +

+Identifier for the request +

+

+ +

+ +
+ +

+Simulation clock time at which the simulation shall start or resume +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_start_resume_pdu.png b/cpp/docs/html/class_d_i_s_1_1_start_resume_pdu.png new file mode 100644 index 00000000..fcf88ff6 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_start_resume_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_start_resume_reliable_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_start_resume_reliable_pdu-members.html new file mode 100644 index 00000000..10c2010b --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_start_resume_reliable_pdu-members.html @@ -0,0 +1,93 @@ + + +open-dis: Member List + + + + + +
+

DIS::StartResumeReliablePdu Member List

This is the complete list of members for DIS::StartResumeReliablePdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_originatingEntityIDDIS::SimulationManagementWithReliabilityFamilyPdu [protected]
_pad1DIS::StartResumeReliablePdu [protected]
_pad2DIS::StartResumeReliablePdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_realWorldTimeDIS::StartResumeReliablePdu [protected]
_receivingEntityIDDIS::SimulationManagementWithReliabilityFamilyPdu [protected]
_requestIDDIS::StartResumeReliablePdu [protected]
_requiredReliabilityServiceDIS::StartResumeReliablePdu [protected]
_simulationTimeDIS::StartResumeReliablePdu [protected]
_timestampDIS::Pdu [protected]
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::StartResumeReliablePdu [virtual]
getOriginatingEntityID()DIS::SimulationManagementWithReliabilityFamilyPdu
getOriginatingEntityID() const DIS::SimulationManagementWithReliabilityFamilyPdu
getPad1() const DIS::StartResumeReliablePdu
getPad2() const DIS::StartResumeReliablePdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getRealWorldTime()DIS::StartResumeReliablePdu
getRealWorldTime() const DIS::StartResumeReliablePdu
getReceivingEntityID()DIS::SimulationManagementWithReliabilityFamilyPdu
getReceivingEntityID() const DIS::SimulationManagementWithReliabilityFamilyPdu
getRequestID() const DIS::StartResumeReliablePdu
getRequiredReliabilityService() const DIS::StartResumeReliablePdu
getSimulationTime()DIS::StartResumeReliablePdu
getSimulationTime() const DIS::StartResumeReliablePdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::StartResumeReliablePdu [virtual]
operator==(const StartResumeReliablePdu &rhs) const DIS::StartResumeReliablePdu
DIS::SimulationManagementWithReliabilityFamilyPdu::operator==(const SimulationManagementWithReliabilityFamilyPdu &rhs) const DIS::SimulationManagementWithReliabilityFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setOriginatingEntityID(const EntityID &pX)DIS::SimulationManagementWithReliabilityFamilyPdu
setPad1(unsigned short pX)DIS::StartResumeReliablePdu
setPad2(unsigned char pX)DIS::StartResumeReliablePdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setRealWorldTime(const ClockTime &pX)DIS::StartResumeReliablePdu
setReceivingEntityID(const EntityID &pX)DIS::SimulationManagementWithReliabilityFamilyPdu
setRequestID(unsigned int pX)DIS::StartResumeReliablePdu
setRequiredReliabilityService(unsigned char pX)DIS::StartResumeReliablePdu
setSimulationTime(const ClockTime &pX)DIS::StartResumeReliablePdu
setTimestamp(unsigned int pX)DIS::Pdu
SimulationManagementWithReliabilityFamilyPdu()DIS::SimulationManagementWithReliabilityFamilyPdu
StartResumeReliablePdu()DIS::StartResumeReliablePdu
unmarshal(DataStream &dataStream)DIS::StartResumeReliablePdu [virtual]
~Pdu()DIS::Pdu [virtual]
~SimulationManagementWithReliabilityFamilyPdu()DIS::SimulationManagementWithReliabilityFamilyPdu [virtual]
~StartResumeReliablePdu()DIS::StartResumeReliablePdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_start_resume_reliable_pdu.html b/cpp/docs/html/class_d_i_s_1_1_start_resume_reliable_pdu.html new file mode 100644 index 00000000..d846e653 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_start_resume_reliable_pdu.html @@ -0,0 +1,598 @@ + + +open-dis: DIS::StartResumeReliablePdu Class Reference + + + + + +
+

DIS::StartResumeReliablePdu Class Reference

#include <StartResumeReliablePdu.h> +

+

+Inheritance diagram for DIS::StartResumeReliablePdu:
+
+ +

+ +DIS::SimulationManagementWithReliabilityFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 StartResumeReliablePdu ()
virtual ~StartResumeReliablePdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
ClockTimegetRealWorldTime ()
const ClockTimegetRealWorldTime () const
void setRealWorldTime (const ClockTime &pX)
ClockTimegetSimulationTime ()
const ClockTimegetSimulationTime () const
void setSimulationTime (const ClockTime &pX)
unsigned char getRequiredReliabilityService () const
void setRequiredReliabilityService (unsigned char pX)
unsigned short getPad1 () const
void setPad1 (unsigned short pX)
unsigned char getPad2 () const
void setPad2 (unsigned char pX)
unsigned int getRequestID () const
void setRequestID (unsigned int pX)
virtual int getMarshalledSize () const
bool operator== (const StartResumeReliablePdu &rhs) const

Protected Attributes

ClockTime _realWorldTime
ClockTime _simulationTime
unsigned char _requiredReliabilityService
unsigned short _pad1
unsigned char _pad2
unsigned int _requestID
+


Detailed Description

+Section 5.3.12.3: Start resume simulation, relaible. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
StartResumeReliablePdu::StartResumeReliablePdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
StartResumeReliablePdu::~StartResumeReliablePdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int StartResumeReliablePdu::getMarshalledSize (  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + +
unsigned short StartResumeReliablePdu::getPad1 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char StartResumeReliablePdu::getPad2 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const ClockTime & StartResumeReliablePdu::getRealWorldTime (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
ClockTime & StartResumeReliablePdu::getRealWorldTime (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int StartResumeReliablePdu::getRequestID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char StartResumeReliablePdu::getRequiredReliabilityService (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const ClockTime & StartResumeReliablePdu::getSimulationTime (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
ClockTime & StartResumeReliablePdu::getSimulationTime (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void StartResumeReliablePdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + + +
bool StartResumeReliablePdu::operator== (const StartResumeReliablePdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void StartResumeReliablePdu::setPad1 (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void StartResumeReliablePdu::setPad2 (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void StartResumeReliablePdu::setRealWorldTime (const ClockTime pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void StartResumeReliablePdu::setRequestID (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void StartResumeReliablePdu::setRequiredReliabilityService (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void StartResumeReliablePdu::setSimulationTime (const ClockTime pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void StartResumeReliablePdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+ +

+


Member Data Documentation

+ +
+
+ + + + +
unsigned short DIS::StartResumeReliablePdu::_pad1 [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
unsigned char DIS::StartResumeReliablePdu::_pad2 [protected]
+
+
+ +

+padding +

+

+ +

+ +
+ +

+time in real world for this operation to happen +

+

+ +

+
+ + + + +
unsigned int DIS::StartResumeReliablePdu::_requestID [protected]
+
+
+ +

+Request ID +

+

+ +

+
+ + + + +
unsigned char DIS::StartResumeReliablePdu::_requiredReliabilityService [protected]
+
+
+ +

+level of reliability service used for this transaction +

+

+ +

+ +
+ +

+time in simulation for the simulation to resume +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_start_resume_reliable_pdu.png b/cpp/docs/html/class_d_i_s_1_1_start_resume_reliable_pdu.png new file mode 100644 index 00000000..1d468551 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_start_resume_reliable_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_stop_freeze_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_stop_freeze_pdu-members.html new file mode 100644 index 00000000..10946d77 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_stop_freeze_pdu-members.html @@ -0,0 +1,89 @@ + + +open-dis: Member List + + + + + +
+

DIS::StopFreezePdu Member List

This is the complete list of members for DIS::StopFreezePdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_frozenBehaviorDIS::StopFreezePdu [protected]
_lengthDIS::Pdu [protected]
_originatingEntityIDDIS::SimulationManagementFamilyPdu [protected]
_paddingDIS::Pdu [protected]
_padding1DIS::StopFreezePdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_realWorldTimeDIS::StopFreezePdu [protected]
_reasonDIS::StopFreezePdu [protected]
_receivingEntityIDDIS::SimulationManagementFamilyPdu [protected]
_requestIDDIS::StopFreezePdu [protected]
_timestampDIS::Pdu [protected]
getExerciseID() const DIS::Pdu
getFrozenBehavior() const DIS::StopFreezePdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::StopFreezePdu [virtual]
getOriginatingEntityID()DIS::SimulationManagementFamilyPdu
getOriginatingEntityID() const DIS::SimulationManagementFamilyPdu
getPadding() const DIS::Pdu
getPadding1() const DIS::StopFreezePdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getRealWorldTime()DIS::StopFreezePdu
getRealWorldTime() const DIS::StopFreezePdu
getReason() const DIS::StopFreezePdu
getReceivingEntityID()DIS::SimulationManagementFamilyPdu
getReceivingEntityID() const DIS::SimulationManagementFamilyPdu
getRequestID() const DIS::StopFreezePdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::StopFreezePdu [virtual]
operator==(const StopFreezePdu &rhs) const DIS::StopFreezePdu
DIS::SimulationManagementFamilyPdu::operator==(const SimulationManagementFamilyPdu &rhs) const DIS::SimulationManagementFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setFrozenBehavior(unsigned char pX)DIS::StopFreezePdu
setLength(unsigned short pX)DIS::Pdu
setOriginatingEntityID(const EntityID &pX)DIS::SimulationManagementFamilyPdu
setPadding(short pX)DIS::Pdu
setPadding1(short pX)DIS::StopFreezePdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setRealWorldTime(const ClockTime &pX)DIS::StopFreezePdu
setReason(unsigned char pX)DIS::StopFreezePdu
setReceivingEntityID(const EntityID &pX)DIS::SimulationManagementFamilyPdu
setRequestID(unsigned int pX)DIS::StopFreezePdu
setTimestamp(unsigned int pX)DIS::Pdu
SimulationManagementFamilyPdu()DIS::SimulationManagementFamilyPdu
StopFreezePdu()DIS::StopFreezePdu
unmarshal(DataStream &dataStream)DIS::StopFreezePdu [virtual]
~Pdu()DIS::Pdu [virtual]
~SimulationManagementFamilyPdu()DIS::SimulationManagementFamilyPdu [virtual]
~StopFreezePdu()DIS::StopFreezePdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_stop_freeze_pdu.html b/cpp/docs/html/class_d_i_s_1_1_stop_freeze_pdu.html new file mode 100644 index 00000000..a0ddf8ab --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_stop_freeze_pdu.html @@ -0,0 +1,517 @@ + + +open-dis: DIS::StopFreezePdu Class Reference + + + + + +
+

DIS::StopFreezePdu Class Reference

#include <StopFreezePdu.h> +

+

+Inheritance diagram for DIS::StopFreezePdu:
+
+ +

+ +DIS::SimulationManagementFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 StopFreezePdu ()
virtual ~StopFreezePdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
ClockTimegetRealWorldTime ()
const ClockTimegetRealWorldTime () const
void setRealWorldTime (const ClockTime &pX)
unsigned char getReason () const
void setReason (unsigned char pX)
unsigned char getFrozenBehavior () const
void setFrozenBehavior (unsigned char pX)
short getPadding1 () const
void setPadding1 (short pX)
unsigned int getRequestID () const
void setRequestID (unsigned int pX)
virtual int getMarshalledSize () const
bool operator== (const StopFreezePdu &rhs) const

Protected Attributes

ClockTime _realWorldTime
unsigned char _reason
unsigned char _frozenBehavior
short _padding1
unsigned int _requestID
+


Detailed Description

+Section 5.2.3.4. Stop or freeze an exercise. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
StopFreezePdu::StopFreezePdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
StopFreezePdu::~StopFreezePdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned char StopFreezePdu::getFrozenBehavior (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int StopFreezePdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
short StopFreezePdu::getPadding1 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const ClockTime & StopFreezePdu::getRealWorldTime (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
ClockTime & StopFreezePdu::getRealWorldTime (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char StopFreezePdu::getReason (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int StopFreezePdu::getRequestID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void StopFreezePdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool StopFreezePdu::operator== (const StopFreezePdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void StopFreezePdu::setFrozenBehavior (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void StopFreezePdu::setPadding1 (short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void StopFreezePdu::setRealWorldTime (const ClockTime pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void StopFreezePdu::setReason (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void StopFreezePdu::setRequestID (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void StopFreezePdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::SimulationManagementFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned char DIS::StopFreezePdu::_frozenBehavior [protected]
+
+
+ +

+Internal behavior of the simulation and its appearance while frozento the other participants +

+

+ +

+
+ + + + +
short DIS::StopFreezePdu::_padding1 [protected]
+
+
+ +

+padding +

+

+ +

+ +
+ +

+UTC time at which the simulation shall stop or freeze +

+

+ +

+
+ + + + +
unsigned char DIS::StopFreezePdu::_reason [protected]
+
+
+ +

+Reason the simulation was stopped or frozen +

+

+ +

+
+ + + + +
unsigned int DIS::StopFreezePdu::_requestID [protected]
+
+
+ +

+Request ID that is unique +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_stop_freeze_pdu.png b/cpp/docs/html/class_d_i_s_1_1_stop_freeze_pdu.png new file mode 100644 index 00000000..f3b971ec Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_stop_freeze_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_stop_freeze_reliable_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_stop_freeze_reliable_pdu-members.html new file mode 100644 index 00000000..9792ad40 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_stop_freeze_reliable_pdu-members.html @@ -0,0 +1,92 @@ + + +open-dis: Member List + + + + + +
+

DIS::StopFreezeReliablePdu Member List

This is the complete list of members for DIS::StopFreezeReliablePdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_frozenBehaviorDIS::StopFreezeReliablePdu [protected]
_lengthDIS::Pdu [protected]
_originatingEntityIDDIS::SimulationManagementWithReliabilityFamilyPdu [protected]
_pad1DIS::StopFreezeReliablePdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_realWorldTimeDIS::StopFreezeReliablePdu [protected]
_reasonDIS::StopFreezeReliablePdu [protected]
_receivingEntityIDDIS::SimulationManagementWithReliabilityFamilyPdu [protected]
_requestIDDIS::StopFreezeReliablePdu [protected]
_requiredReliablityServiceDIS::StopFreezeReliablePdu [protected]
_timestampDIS::Pdu [protected]
getExerciseID() const DIS::Pdu
getFrozenBehavior() const DIS::StopFreezeReliablePdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::StopFreezeReliablePdu [virtual]
getOriginatingEntityID()DIS::SimulationManagementWithReliabilityFamilyPdu
getOriginatingEntityID() const DIS::SimulationManagementWithReliabilityFamilyPdu
getPad1() const DIS::StopFreezeReliablePdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getRealWorldTime()DIS::StopFreezeReliablePdu
getRealWorldTime() const DIS::StopFreezeReliablePdu
getReason() const DIS::StopFreezeReliablePdu
getReceivingEntityID()DIS::SimulationManagementWithReliabilityFamilyPdu
getReceivingEntityID() const DIS::SimulationManagementWithReliabilityFamilyPdu
getRequestID() const DIS::StopFreezeReliablePdu
getRequiredReliablityService() const DIS::StopFreezeReliablePdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::StopFreezeReliablePdu [virtual]
operator==(const StopFreezeReliablePdu &rhs) const DIS::StopFreezeReliablePdu
DIS::SimulationManagementWithReliabilityFamilyPdu::operator==(const SimulationManagementWithReliabilityFamilyPdu &rhs) const DIS::SimulationManagementWithReliabilityFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setFrozenBehavior(unsigned char pX)DIS::StopFreezeReliablePdu
setLength(unsigned short pX)DIS::Pdu
setOriginatingEntityID(const EntityID &pX)DIS::SimulationManagementWithReliabilityFamilyPdu
setPad1(unsigned char pX)DIS::StopFreezeReliablePdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setRealWorldTime(const ClockTime &pX)DIS::StopFreezeReliablePdu
setReason(unsigned char pX)DIS::StopFreezeReliablePdu
setReceivingEntityID(const EntityID &pX)DIS::SimulationManagementWithReliabilityFamilyPdu
setRequestID(unsigned int pX)DIS::StopFreezeReliablePdu
setRequiredReliablityService(unsigned char pX)DIS::StopFreezeReliablePdu
setTimestamp(unsigned int pX)DIS::Pdu
SimulationManagementWithReliabilityFamilyPdu()DIS::SimulationManagementWithReliabilityFamilyPdu
StopFreezeReliablePdu()DIS::StopFreezeReliablePdu
unmarshal(DataStream &dataStream)DIS::StopFreezeReliablePdu [virtual]
~Pdu()DIS::Pdu [virtual]
~SimulationManagementWithReliabilityFamilyPdu()DIS::SimulationManagementWithReliabilityFamilyPdu [virtual]
~StopFreezeReliablePdu()DIS::StopFreezeReliablePdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_stop_freeze_reliable_pdu.html b/cpp/docs/html/class_d_i_s_1_1_stop_freeze_reliable_pdu.html new file mode 100644 index 00000000..9070760a --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_stop_freeze_reliable_pdu.html @@ -0,0 +1,577 @@ + + +open-dis: DIS::StopFreezeReliablePdu Class Reference + + + + + +
+

DIS::StopFreezeReliablePdu Class Reference

#include <StopFreezeReliablePdu.h> +

+

+Inheritance diagram for DIS::StopFreezeReliablePdu:
+
+ +

+ +DIS::SimulationManagementWithReliabilityFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 StopFreezeReliablePdu ()
virtual ~StopFreezeReliablePdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
ClockTimegetRealWorldTime ()
const ClockTimegetRealWorldTime () const
void setRealWorldTime (const ClockTime &pX)
unsigned char getReason () const
void setReason (unsigned char pX)
unsigned char getFrozenBehavior () const
void setFrozenBehavior (unsigned char pX)
unsigned char getRequiredReliablityService () const
void setRequiredReliablityService (unsigned char pX)
unsigned char getPad1 () const
void setPad1 (unsigned char pX)
unsigned int getRequestID () const
void setRequestID (unsigned int pX)
virtual int getMarshalledSize () const
bool operator== (const StopFreezeReliablePdu &rhs) const

Protected Attributes

ClockTime _realWorldTime
unsigned char _reason
unsigned char _frozenBehavior
unsigned char _requiredReliablityService
unsigned char _pad1
unsigned int _requestID
+


Detailed Description

+Section 5.3.12.4: Stop freeze simulation, relaible. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
StopFreezeReliablePdu::StopFreezeReliablePdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
StopFreezeReliablePdu::~StopFreezeReliablePdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned char StopFreezeReliablePdu::getFrozenBehavior (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int StopFreezeReliablePdu::getMarshalledSize (  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + +
unsigned char StopFreezeReliablePdu::getPad1 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const ClockTime & StopFreezeReliablePdu::getRealWorldTime (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
ClockTime & StopFreezeReliablePdu::getRealWorldTime (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char StopFreezeReliablePdu::getReason (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int StopFreezeReliablePdu::getRequestID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char StopFreezeReliablePdu::getRequiredReliablityService (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void StopFreezeReliablePdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + + +
bool StopFreezeReliablePdu::operator== (const StopFreezeReliablePdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void StopFreezeReliablePdu::setFrozenBehavior (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void StopFreezeReliablePdu::setPad1 (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void StopFreezeReliablePdu::setRealWorldTime (const ClockTime pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void StopFreezeReliablePdu::setReason (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void StopFreezeReliablePdu::setRequestID (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void StopFreezeReliablePdu::setRequiredReliablityService (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void StopFreezeReliablePdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+ +

+


Member Data Documentation

+ +
+
+ + + + +
unsigned char DIS::StopFreezeReliablePdu::_frozenBehavior [protected]
+
+
+ +

+internal behvior of the simulation while frozen +

+

+ +

+
+ + + + +
unsigned char DIS::StopFreezeReliablePdu::_pad1 [protected]
+
+
+ +

+padding +

+

+ +

+ +
+ +

+time in real world for this operation to happen +

+

+ +

+
+ + + + +
unsigned char DIS::StopFreezeReliablePdu::_reason [protected]
+
+
+ +

+Reason for stopping/freezing simulation +

+

+ +

+
+ + + + +
unsigned int DIS::StopFreezeReliablePdu::_requestID [protected]
+
+
+ +

+Request ID +

+

+ +

+
+ + + + +
unsigned char DIS::StopFreezeReliablePdu::_requiredReliablityService [protected]
+
+
+ +

+reliablity level +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_stop_freeze_reliable_pdu.png b/cpp/docs/html/class_d_i_s_1_1_stop_freeze_reliable_pdu.png new file mode 100644 index 00000000..21c44fe7 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_stop_freeze_reliable_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_supply_quantity-members.html b/cpp/docs/html/class_d_i_s_1_1_supply_quantity-members.html new file mode 100644 index 00000000..eb02980e --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_supply_quantity-members.html @@ -0,0 +1,45 @@ + + +open-dis: Member List + + + + + +
+

DIS::SupplyQuantity Member List

This is the complete list of members for DIS::SupplyQuantity, including all inherited members.

+ + + + + + + + + + + + + +
_quantityDIS::SupplyQuantity [protected]
_supplyTypeDIS::SupplyQuantity [protected]
getMarshalledSize() const DIS::SupplyQuantity [virtual]
getQuantity() const DIS::SupplyQuantity
getSupplyType()DIS::SupplyQuantity
getSupplyType() const DIS::SupplyQuantity
marshal(DataStream &dataStream) const DIS::SupplyQuantity [virtual]
operator==(const SupplyQuantity &rhs) const DIS::SupplyQuantity
setQuantity(unsigned char pX)DIS::SupplyQuantity
setSupplyType(const EntityType &pX)DIS::SupplyQuantity
SupplyQuantity()DIS::SupplyQuantity
unmarshal(DataStream &dataStream)DIS::SupplyQuantity [virtual]
~SupplyQuantity()DIS::SupplyQuantity [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_supply_quantity.html b/cpp/docs/html/class_d_i_s_1_1_supply_quantity.html new file mode 100644 index 00000000..25a13e8b --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_supply_quantity.html @@ -0,0 +1,321 @@ + + +open-dis: DIS::SupplyQuantity Class Reference + + + + + +
+

DIS::SupplyQuantity Class Reference

#include <SupplyQuantity.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 SupplyQuantity ()
virtual ~SupplyQuantity ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityTypegetSupplyType ()
const EntityTypegetSupplyType () const
void setSupplyType (const EntityType &pX)
unsigned char getQuantity () const
void setQuantity (unsigned char pX)
virtual int getMarshalledSize () const
bool operator== (const SupplyQuantity &rhs) const

Protected Attributes

EntityType _supplyType
unsigned char _quantity
+


Detailed Description

+Section 5.2.30. A supply, and the amount of that supply. Similar to an entity kind but with the addition of a quantity.

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
SupplyQuantity::SupplyQuantity (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
SupplyQuantity::~SupplyQuantity (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int SupplyQuantity::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char SupplyQuantity::getQuantity (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityType & SupplyQuantity::getSupplyType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityType & SupplyQuantity::getSupplyType (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SupplyQuantity::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool SupplyQuantity::operator== (const SupplyQuantity rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SupplyQuantity::setQuantity (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SupplyQuantity::setSupplyType (const EntityType pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SupplyQuantity::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned char DIS::SupplyQuantity::_quantity [protected]
+
+
+ +

+quantity to be supplied +

+

+ +

+ +
+ +

+Type of supply +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_synthetic_environment_family_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_synthetic_environment_family_pdu-members.html new file mode 100644 index 00000000..ea12cb4c --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_synthetic_environment_family_pdu-members.html @@ -0,0 +1,62 @@ + + +open-dis: Member List + + + + + +
+

DIS::SyntheticEnvironmentFamilyPdu Member List

This is the complete list of members for DIS::SyntheticEnvironmentFamilyPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_timestampDIS::Pdu [protected]
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::SyntheticEnvironmentFamilyPdu [virtual]
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::SyntheticEnvironmentFamilyPdu [virtual]
operator==(const SyntheticEnvironmentFamilyPdu &rhs) const DIS::SyntheticEnvironmentFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setTimestamp(unsigned int pX)DIS::Pdu
SyntheticEnvironmentFamilyPdu()DIS::SyntheticEnvironmentFamilyPdu
unmarshal(DataStream &dataStream)DIS::SyntheticEnvironmentFamilyPdu [virtual]
~Pdu()DIS::Pdu [virtual]
~SyntheticEnvironmentFamilyPdu()DIS::SyntheticEnvironmentFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_synthetic_environment_family_pdu.html b/cpp/docs/html/class_d_i_s_1_1_synthetic_environment_family_pdu.html new file mode 100644 index 00000000..269e6582 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_synthetic_environment_family_pdu.html @@ -0,0 +1,204 @@ + + +open-dis: DIS::SyntheticEnvironmentFamilyPdu Class Reference + + + + + +
+

DIS::SyntheticEnvironmentFamilyPdu Class Reference

#include <SyntheticEnvironmentFamilyPdu.h> +

+

+Inheritance diagram for DIS::SyntheticEnvironmentFamilyPdu:
+
+ +

+ +DIS::Pdu +DIS::ArealObjectStatePdu +DIS::EnvironmentalProcessPdu +DIS::GriddedDataPdu +DIS::LinearObjectStatePdu +DIS::PointObjectStatePdu + +
+ +

+List of all members. + + + + + + + + + + + + + + +

Public Member Functions

 SyntheticEnvironmentFamilyPdu ()
virtual ~SyntheticEnvironmentFamilyPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
virtual int getMarshalledSize () const
bool operator== (const SyntheticEnvironmentFamilyPdu &rhs) const
+


Detailed Description

+Section 5.3.11: Abstract superclass for synthetic environment PDUs

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
SyntheticEnvironmentFamilyPdu::SyntheticEnvironmentFamilyPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
SyntheticEnvironmentFamilyPdu::~SyntheticEnvironmentFamilyPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int SyntheticEnvironmentFamilyPdu::getMarshalledSize (  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + + +
void SyntheticEnvironmentFamilyPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+ +

+ +

+
+ + + + + + + + + +
bool SyntheticEnvironmentFamilyPdu::operator== (const SyntheticEnvironmentFamilyPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SyntheticEnvironmentFamilyPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+ +

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_synthetic_environment_family_pdu.png b/cpp/docs/html/class_d_i_s_1_1_synthetic_environment_family_pdu.png new file mode 100644 index 00000000..ec0999b8 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_synthetic_environment_family_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_system_i_d-members.html b/cpp/docs/html/class_d_i_s_1_1_system_i_d-members.html new file mode 100644 index 00000000..d0e3adb4 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_system_i_d-members.html @@ -0,0 +1,50 @@ + + +open-dis: Member List + + + + + +
+

DIS::SystemID Member List

This is the complete list of members for DIS::SystemID, including all inherited members.

+ + + + + + + + + + + + + + + + + + +
_changeOptionsDIS::SystemID [protected]
_systemModeDIS::SystemID [protected]
_systemNameDIS::SystemID [protected]
_systemTypeDIS::SystemID [protected]
getChangeOptions() const DIS::SystemID
getMarshalledSize() const DIS::SystemID [virtual]
getSystemMode() const DIS::SystemID
getSystemName() const DIS::SystemID
getSystemType() const DIS::SystemID
marshal(DataStream &dataStream) const DIS::SystemID [virtual]
operator==(const SystemID &rhs) const DIS::SystemID
setChangeOptions(unsigned char pX)DIS::SystemID
setSystemMode(unsigned char pX)DIS::SystemID
setSystemName(unsigned short pX)DIS::SystemID
setSystemType(unsigned short pX)DIS::SystemID
SystemID()DIS::SystemID
unmarshal(DataStream &dataStream)DIS::SystemID [virtual]
~SystemID()DIS::SystemID [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_system_i_d.html b/cpp/docs/html/class_d_i_s_1_1_system_i_d.html new file mode 100644 index 00000000..e4e31318 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_system_i_d.html @@ -0,0 +1,420 @@ + + +open-dis: DIS::SystemID Class Reference + + + + + +
+

DIS::SystemID Class Reference

#include <SystemID.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 SystemID ()
virtual ~SystemID ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned short getSystemType () const
void setSystemType (unsigned short pX)
unsigned short getSystemName () const
void setSystemName (unsigned short pX)
unsigned char getSystemMode () const
void setSystemMode (unsigned char pX)
unsigned char getChangeOptions () const
void setChangeOptions (unsigned char pX)
virtual int getMarshalledSize () const
bool operator== (const SystemID &rhs) const

Protected Attributes

unsigned short _systemType
unsigned short _systemName
unsigned char _systemMode
unsigned char _changeOptions
+


Detailed Description

+5.2.58. Used in IFF ATC PDU

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
SystemID::SystemID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
SystemID::~SystemID (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned char SystemID::getChangeOptions (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int SystemID::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char SystemID::getSystemMode (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short SystemID::getSystemName (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short SystemID::getSystemType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SystemID::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool SystemID::operator== (const SystemID rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SystemID::setChangeOptions (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SystemID::setSystemMode (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SystemID::setSystemName (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SystemID::setSystemType (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void SystemID::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned char DIS::SystemID::_changeOptions [protected]
+
+
+ +

+Change Options +

+

+ +

+
+ + + + +
unsigned char DIS::SystemID::_systemMode [protected]
+
+
+ +

+System mode +

+

+ +

+
+ + + + +
unsigned short DIS::SystemID::_systemName [protected]
+
+
+ +

+System name, an enumeration +

+

+ +

+
+ + + + +
unsigned short DIS::SystemID::_systemType [protected]
+
+
+ +

+System Type +

+

+


The documentation for this class was generated from the following files:
    +
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SystemID.h
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SystemID.cpp
+
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_track_jam_target-members.html b/cpp/docs/html/class_d_i_s_1_1_track_jam_target-members.html new file mode 100644 index 00000000..c7d56abf --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_track_jam_target-members.html @@ -0,0 +1,48 @@ + + +open-dis: Member List + + + + + +
+

DIS::TrackJamTarget Member List

This is the complete list of members for DIS::TrackJamTarget, including all inherited members.

+ + + + + + + + + + + + + + + + +
_beamIDDIS::TrackJamTarget [protected]
_emitterIDDIS::TrackJamTarget [protected]
_trackJamDIS::TrackJamTarget [protected]
getBeamID() const DIS::TrackJamTarget
getEmitterID() const DIS::TrackJamTarget
getMarshalledSize() const DIS::TrackJamTarget [virtual]
getTrackJam()DIS::TrackJamTarget
getTrackJam() const DIS::TrackJamTarget
marshal(DataStream &dataStream) const DIS::TrackJamTarget [virtual]
operator==(const TrackJamTarget &rhs) const DIS::TrackJamTarget
setBeamID(unsigned char pX)DIS::TrackJamTarget
setEmitterID(unsigned char pX)DIS::TrackJamTarget
setTrackJam(const EntityID &pX)DIS::TrackJamTarget
TrackJamTarget()DIS::TrackJamTarget
unmarshal(DataStream &dataStream)DIS::TrackJamTarget [virtual]
~TrackJamTarget()DIS::TrackJamTarget [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_track_jam_target.html b/cpp/docs/html/class_d_i_s_1_1_track_jam_target.html new file mode 100644 index 00000000..2d38deb4 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_track_jam_target.html @@ -0,0 +1,381 @@ + + +open-dis: DIS::TrackJamTarget Class Reference + + + + + +
+

DIS::TrackJamTarget Class Reference

#include <TrackJamTarget.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 TrackJamTarget ()
virtual ~TrackJamTarget ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetTrackJam ()
const EntityIDgetTrackJam () const
void setTrackJam (const EntityID &pX)
unsigned char getEmitterID () const
void setEmitterID (unsigned char pX)
unsigned char getBeamID () const
void setBeamID (unsigned char pX)
virtual int getMarshalledSize () const
bool operator== (const TrackJamTarget &rhs) const

Protected Attributes

EntityID _trackJam
unsigned char _emitterID
unsigned char _beamID
+


Detailed Description

+One track/jam target

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
TrackJamTarget::TrackJamTarget (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
TrackJamTarget::~TrackJamTarget (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
unsigned char TrackJamTarget::getBeamID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char TrackJamTarget::getEmitterID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int TrackJamTarget::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & TrackJamTarget::getTrackJam (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & TrackJamTarget::getTrackJam (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TrackJamTarget::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool TrackJamTarget::operator== (const TrackJamTarget rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TrackJamTarget::setBeamID (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TrackJamTarget::setEmitterID (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TrackJamTarget::setTrackJam (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TrackJamTarget::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned char DIS::TrackJamTarget::_beamID [protected]
+
+
+ +

+beam ID +

+

+ +

+
+ + + + +
unsigned char DIS::TrackJamTarget::_emitterID [protected]
+
+
+ +

+Emitter ID +

+

+ +

+
+ + + + +
EntityID DIS::TrackJamTarget::_trackJam [protected]
+
+
+ +

+track/jam target +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_transfer_control_request_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_transfer_control_request_pdu-members.html new file mode 100644 index 00000000..f079e0fb --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_transfer_control_request_pdu-members.html @@ -0,0 +1,92 @@ + + +open-dis: Member List + + + + + +
+

DIS::TransferControlRequestPdu Member List

This is the complete list of members for DIS::TransferControlRequestPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_numberOfRecordSetsDIS::TransferControlRequestPdu [protected]
_orginatingEntityIDDIS::TransferControlRequestPdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_recevingEntityIDDIS::TransferControlRequestPdu [protected]
_recordSetsDIS::TransferControlRequestPdu [protected]
_requestIDDIS::TransferControlRequestPdu [protected]
_requiredReliabilityServiceDIS::TransferControlRequestPdu [protected]
_timestampDIS::Pdu [protected]
_tranferTypeDIS::TransferControlRequestPdu [protected]
_transferEntityIDDIS::TransferControlRequestPdu [protected]
EntityManagementFamilyPdu()DIS::EntityManagementFamilyPdu
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::TransferControlRequestPdu [virtual]
getNumberOfRecordSets() const DIS::TransferControlRequestPdu
getOrginatingEntityID()DIS::TransferControlRequestPdu
getOrginatingEntityID() const DIS::TransferControlRequestPdu
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getRecevingEntityID()DIS::TransferControlRequestPdu
getRecevingEntityID() const DIS::TransferControlRequestPdu
getRecordSets()DIS::TransferControlRequestPdu
getRecordSets() const DIS::TransferControlRequestPdu
getRequestID() const DIS::TransferControlRequestPdu
getRequiredReliabilityService() const DIS::TransferControlRequestPdu
getTimestamp() const DIS::Pdu
getTranferType() const DIS::TransferControlRequestPdu
getTransferEntityID()DIS::TransferControlRequestPdu
getTransferEntityID() const DIS::TransferControlRequestPdu
marshal(DataStream &dataStream) const DIS::TransferControlRequestPdu [virtual]
operator==(const TransferControlRequestPdu &rhs) const DIS::TransferControlRequestPdu
DIS::EntityManagementFamilyPdu::operator==(const EntityManagementFamilyPdu &rhs) const DIS::EntityManagementFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setOrginatingEntityID(const EntityID &pX)DIS::TransferControlRequestPdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setRecevingEntityID(const EntityID &pX)DIS::TransferControlRequestPdu
setRecordSets(const std::vector< RecordSet > &pX)DIS::TransferControlRequestPdu
setRequestID(unsigned int pX)DIS::TransferControlRequestPdu
setRequiredReliabilityService(unsigned char pX)DIS::TransferControlRequestPdu
setTimestamp(unsigned int pX)DIS::Pdu
setTranferType(unsigned char pX)DIS::TransferControlRequestPdu
setTransferEntityID(const EntityID &pX)DIS::TransferControlRequestPdu
TransferControlRequestPdu()DIS::TransferControlRequestPdu
unmarshal(DataStream &dataStream)DIS::TransferControlRequestPdu [virtual]
~EntityManagementFamilyPdu()DIS::EntityManagementFamilyPdu [virtual]
~Pdu()DIS::Pdu [virtual]
~TransferControlRequestPdu()DIS::TransferControlRequestPdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_transfer_control_request_pdu.html b/cpp/docs/html/class_d_i_s_1_1_transfer_control_request_pdu.html new file mode 100644 index 00000000..fc5469a5 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_transfer_control_request_pdu.html @@ -0,0 +1,738 @@ + + +open-dis: DIS::TransferControlRequestPdu Class Reference + + + + + +
+

DIS::TransferControlRequestPdu Class Reference

#include <TransferControlRequestPdu.h> +

+

+Inheritance diagram for DIS::TransferControlRequestPdu:
+
+ +

+ +DIS::EntityManagementFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 TransferControlRequestPdu ()
virtual ~TransferControlRequestPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetOrginatingEntityID ()
const EntityIDgetOrginatingEntityID () const
void setOrginatingEntityID (const EntityID &pX)
EntityIDgetRecevingEntityID ()
const EntityIDgetRecevingEntityID () const
void setRecevingEntityID (const EntityID &pX)
unsigned int getRequestID () const
void setRequestID (unsigned int pX)
unsigned char getRequiredReliabilityService () const
void setRequiredReliabilityService (unsigned char pX)
unsigned char getTranferType () const
void setTranferType (unsigned char pX)
EntityIDgetTransferEntityID ()
const EntityIDgetTransferEntityID () const
void setTransferEntityID (const EntityID &pX)
unsigned char getNumberOfRecordSets () const
std::vector< RecordSet > & getRecordSets ()
const std::vector< RecordSet > & getRecordSets () const
void setRecordSets (const std::vector< RecordSet > &pX)
virtual int getMarshalledSize () const
bool operator== (const TransferControlRequestPdu &rhs) const

Protected Attributes

EntityID _orginatingEntityID
EntityID _recevingEntityID
unsigned int _requestID
unsigned char _requiredReliabilityService
unsigned char _tranferType
EntityID _transferEntityID
unsigned char _numberOfRecordSets
std::vector< RecordSet_recordSets
+


Detailed Description

+Section 5.3.9.3 Information initiating the dyanic allocation and control of simulation entities between two simulation applications. Requires manual cleanup. The padding between record sets is variable. UNFINISHED

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
TransferControlRequestPdu::TransferControlRequestPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
TransferControlRequestPdu::~TransferControlRequestPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int TransferControlRequestPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::EntityManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
unsigned char TransferControlRequestPdu::getNumberOfRecordSets (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & TransferControlRequestPdu::getOrginatingEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & TransferControlRequestPdu::getOrginatingEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & TransferControlRequestPdu::getRecevingEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & TransferControlRequestPdu::getRecevingEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< RecordSet > & TransferControlRequestPdu::getRecordSets (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< RecordSet > & TransferControlRequestPdu::getRecordSets (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int TransferControlRequestPdu::getRequestID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char TransferControlRequestPdu::getRequiredReliabilityService (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char TransferControlRequestPdu::getTranferType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & TransferControlRequestPdu::getTransferEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & TransferControlRequestPdu::getTransferEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TransferControlRequestPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::EntityManagementFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool TransferControlRequestPdu::operator== (const TransferControlRequestPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TransferControlRequestPdu::setOrginatingEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TransferControlRequestPdu::setRecevingEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TransferControlRequestPdu::setRecordSets (const std::vector< RecordSet > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TransferControlRequestPdu::setRequestID (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TransferControlRequestPdu::setRequiredReliabilityService (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TransferControlRequestPdu::setTranferType (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TransferControlRequestPdu::setTransferEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TransferControlRequestPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::EntityManagementFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned char DIS::TransferControlRequestPdu::_numberOfRecordSets [protected]
+
+
+ +

+number of record sets to transfer +

+

+ +

+ +
+ +

+ID of entity originating request +

+

+ +

+ +
+ +

+ID of entity receiving request +

+

+ +

+
+ + + + +
std::vector<RecordSet> DIS::TransferControlRequestPdu::_recordSets [protected]
+
+
+ +

+^^^This is wrong--the RecordSet class needs more work +

+

+ +

+
+ + + + +
unsigned int DIS::TransferControlRequestPdu::_requestID [protected]
+
+
+ +

+ID ofrequest +

+

+ +

+ +
+ +

+required level of reliabliity service. +

+

+ +

+
+ + + + +
unsigned char DIS::TransferControlRequestPdu::_tranferType [protected]
+
+
+ +

+type of transfer desired +

+

+ +

+ +
+ +

+The entity for which control is being requested to transfer +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_transfer_control_request_pdu.png b/cpp/docs/html/class_d_i_s_1_1_transfer_control_request_pdu.png new file mode 100644 index 00000000..413cb5d1 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_transfer_control_request_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_transmitter_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_transmitter_pdu-members.html new file mode 100644 index 00000000..ae6fda58 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_transmitter_pdu-members.html @@ -0,0 +1,133 @@ + + +open-dis: Member List + + + + + +
+

DIS::TransmitterPdu Member List

This is the complete list of members for DIS::TransmitterPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_antennaLocationDIS::TransmitterPdu [protected]
_antennaPatternCountDIS::TransmitterPdu [protected]
_antennaPatternListDIS::TransmitterPdu [protected]
_antennaPatternTypeDIS::TransmitterPdu [protected]
_cryptoKeyIdDIS::TransmitterPdu [protected]
_cryptoSystemDIS::TransmitterPdu [protected]
_entityIdDIS::RadioCommunicationsFamilyPdu [protected]
_exerciseIDDIS::Pdu [protected]
_frequencyDIS::TransmitterPdu [protected]
_inputSourceDIS::TransmitterPdu [protected]
_lengthDIS::Pdu [protected]
_modulationParameterCountDIS::TransmitterPdu [protected]
_modulationParametersListDIS::TransmitterPdu [protected]
_modulationTypeDIS::TransmitterPdu [protected]
_paddingDIS::Pdu [protected]
_padding1DIS::TransmitterPdu [protected]
_padding2DIS::TransmitterPdu [protected]
_padding3DIS::TransmitterPdu [protected]
_pduTypeDIS::Pdu [protected]
_powerDIS::TransmitterPdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_radioEntityTypeDIS::TransmitterPdu [protected]
_radioIdDIS::RadioCommunicationsFamilyPdu [protected]
_relativeAntennaLocationDIS::TransmitterPdu [protected]
_timestampDIS::Pdu [protected]
_transmitFrequencyBandwidthDIS::TransmitterPdu [protected]
_transmitStateDIS::TransmitterPdu [protected]
getAntennaLocation()DIS::TransmitterPdu
getAntennaLocation() const DIS::TransmitterPdu
getAntennaPatternCount() const DIS::TransmitterPdu
getAntennaPatternList()DIS::TransmitterPdu
getAntennaPatternList() const DIS::TransmitterPdu
getAntennaPatternType() const DIS::TransmitterPdu
getCryptoKeyId() const DIS::TransmitterPdu
getCryptoSystem() const DIS::TransmitterPdu
getEntityId()DIS::RadioCommunicationsFamilyPdu
getEntityId() const DIS::RadioCommunicationsFamilyPdu
getExerciseID() const DIS::Pdu
getFrequency() const DIS::TransmitterPdu
getInputSource() const DIS::TransmitterPdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::TransmitterPdu [virtual]
getModulationParameterCount() const DIS::TransmitterPdu
getModulationParametersList()DIS::TransmitterPdu
getModulationParametersList() const DIS::TransmitterPdu
getModulationType()DIS::TransmitterPdu
getModulationType() const DIS::TransmitterPdu
getPadding() const DIS::Pdu
getPadding1() const DIS::TransmitterPdu
getPadding2() const DIS::TransmitterPdu
getPadding3() const DIS::TransmitterPdu
getPduType() const DIS::Pdu
getPower() const DIS::TransmitterPdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getRadioEntityType()DIS::TransmitterPdu
getRadioEntityType() const DIS::TransmitterPdu
getRadioId() const DIS::RadioCommunicationsFamilyPdu
getRelativeAntennaLocation()DIS::TransmitterPdu
getRelativeAntennaLocation() const DIS::TransmitterPdu
getTimestamp() const DIS::Pdu
getTransmitFrequencyBandwidth() const DIS::TransmitterPdu
getTransmitState() const DIS::TransmitterPdu
marshal(DataStream &dataStream) const DIS::TransmitterPdu [virtual]
operator==(const TransmitterPdu &rhs) const DIS::TransmitterPdu
DIS::RadioCommunicationsFamilyPdu::operator==(const RadioCommunicationsFamilyPdu &rhs) const DIS::RadioCommunicationsFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
RadioCommunicationsFamilyPdu()DIS::RadioCommunicationsFamilyPdu
setAntennaLocation(const Vector3Double &pX)DIS::TransmitterPdu
setAntennaPatternList(const std::vector< Vector3Float > &pX)DIS::TransmitterPdu
setAntennaPatternType(unsigned short pX)DIS::TransmitterPdu
setCryptoKeyId(unsigned short pX)DIS::TransmitterPdu
setCryptoSystem(unsigned short pX)DIS::TransmitterPdu
setEntityId(const EntityID &pX)DIS::RadioCommunicationsFamilyPdu
setExerciseID(unsigned char pX)DIS::Pdu
setFrequency(long pX)DIS::TransmitterPdu
setInputSource(unsigned char pX)DIS::TransmitterPdu
setLength(unsigned short pX)DIS::Pdu
setModulationParametersList(const std::vector< Vector3Float > &pX)DIS::TransmitterPdu
setModulationType(const ModulationType &pX)DIS::TransmitterPdu
setPadding(short pX)DIS::Pdu
setPadding1(unsigned short pX)DIS::TransmitterPdu
setPadding2(unsigned short pX)DIS::TransmitterPdu
setPadding3(unsigned char pX)DIS::TransmitterPdu
setPduType(unsigned char pX)DIS::Pdu
setPower(float pX)DIS::TransmitterPdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setRadioEntityType(const RadioEntityType &pX)DIS::TransmitterPdu
setRadioId(unsigned short pX)DIS::RadioCommunicationsFamilyPdu
setRelativeAntennaLocation(const Vector3Float &pX)DIS::TransmitterPdu
setTimestamp(unsigned int pX)DIS::Pdu
setTransmitFrequencyBandwidth(float pX)DIS::TransmitterPdu
setTransmitState(unsigned char pX)DIS::TransmitterPdu
TransmitterPdu()DIS::TransmitterPdu
unmarshal(DataStream &dataStream)DIS::TransmitterPdu [virtual]
~Pdu()DIS::Pdu [virtual]
~RadioCommunicationsFamilyPdu()DIS::RadioCommunicationsFamilyPdu [virtual]
~TransmitterPdu()DIS::TransmitterPdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_transmitter_pdu.html b/cpp/docs/html/class_d_i_s_1_1_transmitter_pdu.html new file mode 100644 index 00000000..9c2467cc --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_transmitter_pdu.html @@ -0,0 +1,1418 @@ + + +open-dis: DIS::TransmitterPdu Class Reference + + + + + +
+

DIS::TransmitterPdu Class Reference

#include <TransmitterPdu.h> +

+

+Inheritance diagram for DIS::TransmitterPdu:
+
+ +

+ +DIS::RadioCommunicationsFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 TransmitterPdu ()
virtual ~TransmitterPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
RadioEntityTypegetRadioEntityType ()
const RadioEntityTypegetRadioEntityType () const
void setRadioEntityType (const RadioEntityType &pX)
unsigned char getTransmitState () const
void setTransmitState (unsigned char pX)
unsigned char getInputSource () const
void setInputSource (unsigned char pX)
unsigned short getPadding1 () const
void setPadding1 (unsigned short pX)
Vector3DoublegetAntennaLocation ()
const Vector3DoublegetAntennaLocation () const
void setAntennaLocation (const Vector3Double &pX)
Vector3FloatgetRelativeAntennaLocation ()
const Vector3FloatgetRelativeAntennaLocation () const
void setRelativeAntennaLocation (const Vector3Float &pX)
unsigned short getAntennaPatternType () const
void setAntennaPatternType (unsigned short pX)
unsigned short getAntennaPatternCount () const
long getFrequency () const
void setFrequency (long pX)
float getTransmitFrequencyBandwidth () const
void setTransmitFrequencyBandwidth (float pX)
float getPower () const
void setPower (float pX)
ModulationTypegetModulationType ()
const ModulationTypegetModulationType () const
void setModulationType (const ModulationType &pX)
unsigned short getCryptoSystem () const
void setCryptoSystem (unsigned short pX)
unsigned short getCryptoKeyId () const
void setCryptoKeyId (unsigned short pX)
unsigned char getModulationParameterCount () const
unsigned short getPadding2 () const
void setPadding2 (unsigned short pX)
unsigned char getPadding3 () const
void setPadding3 (unsigned char pX)
std::vector< Vector3Float > & getModulationParametersList ()
const std::vector< Vector3Float > & getModulationParametersList () const
void setModulationParametersList (const std::vector< Vector3Float > &pX)
std::vector< Vector3Float > & getAntennaPatternList ()
const std::vector< Vector3Float > & getAntennaPatternList () const
void setAntennaPatternList (const std::vector< Vector3Float > &pX)
virtual int getMarshalledSize () const
bool operator== (const TransmitterPdu &rhs) const

Protected Attributes

RadioEntityType _radioEntityType
unsigned char _transmitState
unsigned char _inputSource
unsigned short _padding1
Vector3Double _antennaLocation
Vector3Float _relativeAntennaLocation
unsigned short _antennaPatternType
unsigned short _antennaPatternCount
long _frequency
float _transmitFrequencyBandwidth
float _power
ModulationType _modulationType
unsigned short _cryptoSystem
unsigned short _cryptoKeyId
unsigned char _modulationParameterCount
unsigned short _padding2
unsigned char _padding3
std::vector< Vector3Float_modulationParametersList
std::vector< Vector3Float_antennaPatternList
+


Detailed Description

+Section 5.3.8.1. Detailed information about a radio transmitter. This PDU requires manually written code to complete, since the modulation parameters are of variable length. UNFINISHED

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
TransmitterPdu::TransmitterPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
TransmitterPdu::~TransmitterPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const Vector3Double & TransmitterPdu::getAntennaLocation (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Double & TransmitterPdu::getAntennaLocation (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short TransmitterPdu::getAntennaPatternCount (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< Vector3Float > & TransmitterPdu::getAntennaPatternList (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< Vector3Float > & TransmitterPdu::getAntennaPatternList (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short TransmitterPdu::getAntennaPatternType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short TransmitterPdu::getCryptoKeyId (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short TransmitterPdu::getCryptoSystem (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
long TransmitterPdu::getFrequency (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char TransmitterPdu::getInputSource (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int TransmitterPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::RadioCommunicationsFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
unsigned char TransmitterPdu::getModulationParameterCount (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< Vector3Float > & TransmitterPdu::getModulationParametersList (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< Vector3Float > & TransmitterPdu::getModulationParametersList (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const ModulationType & TransmitterPdu::getModulationType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
ModulationType & TransmitterPdu::getModulationType (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short TransmitterPdu::getPadding1 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short TransmitterPdu::getPadding2 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char TransmitterPdu::getPadding3 (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float TransmitterPdu::getPower (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const RadioEntityType & TransmitterPdu::getRadioEntityType (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
RadioEntityType & TransmitterPdu::getRadioEntityType (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const Vector3Float & TransmitterPdu::getRelativeAntennaLocation (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Float & TransmitterPdu::getRelativeAntennaLocation (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float TransmitterPdu::getTransmitFrequencyBandwidth (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char TransmitterPdu::getTransmitState (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TransmitterPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::RadioCommunicationsFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool TransmitterPdu::operator== (const TransmitterPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TransmitterPdu::setAntennaLocation (const Vector3Double pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TransmitterPdu::setAntennaPatternList (const std::vector< Vector3Float > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TransmitterPdu::setAntennaPatternType (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TransmitterPdu::setCryptoKeyId (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TransmitterPdu::setCryptoSystem (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TransmitterPdu::setFrequency (long  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TransmitterPdu::setInputSource (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TransmitterPdu::setModulationParametersList (const std::vector< Vector3Float > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TransmitterPdu::setModulationType (const ModulationType pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TransmitterPdu::setPadding1 (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TransmitterPdu::setPadding2 (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TransmitterPdu::setPadding3 (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TransmitterPdu::setPower (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TransmitterPdu::setRadioEntityType (const RadioEntityType pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TransmitterPdu::setRelativeAntennaLocation (const Vector3Float pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TransmitterPdu::setTransmitFrequencyBandwidth (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TransmitterPdu::setTransmitState (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TransmitterPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::RadioCommunicationsFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+ +
+ +

+Location of antenna +

+

+ +

+
+ + + + +
unsigned short DIS::TransmitterPdu::_antennaPatternCount [protected]
+
+
+ +

+atenna pattern length +

+

+ +

+
+ + + + +
std::vector<Vector3Float> DIS::TransmitterPdu::_antennaPatternList [protected]
+
+
+ +

+variable length list of antenna pattern records +

+

+ +

+
+ + + + +
unsigned short DIS::TransmitterPdu::_antennaPatternType [protected]
+
+
+ +

+antenna pattern type +

+

+ +

+
+ + + + +
unsigned short DIS::TransmitterPdu::_cryptoKeyId [protected]
+
+
+ +

+crypto system key identifer +

+

+ +

+
+ + + + +
unsigned short DIS::TransmitterPdu::_cryptoSystem [protected]
+
+
+ +

+crypto system enumeration +

+

+ +

+
+ + + + +
long DIS::TransmitterPdu::_frequency [protected]
+
+
+ +

+frequency +

+

+ +

+
+ + + + +
unsigned char DIS::TransmitterPdu::_inputSource [protected]
+
+
+ +

+input source +

+

+ +

+
+ + + + +
unsigned char DIS::TransmitterPdu::_modulationParameterCount [protected]
+
+
+ +

+how many modulation parameters we have +

+

+ +

+
+ + + + +
std::vector<Vector3Float> DIS::TransmitterPdu::_modulationParametersList [protected]
+
+
+ +

+variable length list of modulation parameters +

+

+ +

+ +
+ +

+modulation +

+

+ +

+
+ + + + +
unsigned short DIS::TransmitterPdu::_padding1 [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
unsigned short DIS::TransmitterPdu::_padding2 [protected]
+
+
+ +

+padding2 +

+

+ +

+
+ + + + +
unsigned char DIS::TransmitterPdu::_padding3 [protected]
+
+
+ +

+padding3 +

+

+ +

+
+ + + + +
float DIS::TransmitterPdu::_power [protected]
+
+
+ +

+transmission power +

+

+ +

+ +
+ +

+linear accelleration of entity +

+

+ +

+ +
+ +

+relative location of antenna +

+

+ +

+ +
+ +

+transmit frequency Bandwidth +

+

+ +

+
+ + + + +
unsigned char DIS::TransmitterPdu::_transmitState [protected]
+
+
+ +

+transmit state +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_transmitter_pdu.png b/cpp/docs/html/class_d_i_s_1_1_transmitter_pdu.png new file mode 100644 index 00000000..fe650693 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_transmitter_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_two_byte_chunk-members.html b/cpp/docs/html/class_d_i_s_1_1_two_byte_chunk-members.html new file mode 100644 index 00000000..e3d0f847 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_two_byte_chunk-members.html @@ -0,0 +1,42 @@ + + +open-dis: Member List + + + + + +
+

DIS::TwoByteChunk Member List

This is the complete list of members for DIS::TwoByteChunk, including all inherited members.

+ + + + + + + + + + +
_otherParametersDIS::TwoByteChunk [protected]
getMarshalledSize() const DIS::TwoByteChunk [virtual]
getOtherParameters()DIS::TwoByteChunk
getOtherParameters() const DIS::TwoByteChunk
marshal(DataStream &dataStream) const DIS::TwoByteChunk [virtual]
operator==(const TwoByteChunk &rhs) const DIS::TwoByteChunk
setOtherParameters(const char *pX)DIS::TwoByteChunk
TwoByteChunk()DIS::TwoByteChunk
unmarshal(DataStream &dataStream)DIS::TwoByteChunk [virtual]
~TwoByteChunk()DIS::TwoByteChunk [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_two_byte_chunk.html b/cpp/docs/html/class_d_i_s_1_1_two_byte_chunk.html new file mode 100644 index 00000000..ea123c9e --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_two_byte_chunk.html @@ -0,0 +1,261 @@ + + +open-dis: DIS::TwoByteChunk Class Reference + + + + + +
+

DIS::TwoByteChunk Class Reference

#include <TwoByteChunk.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 TwoByteChunk ()
virtual ~TwoByteChunk ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
char * getOtherParameters ()
const char * getOtherParameters () const
void setOtherParameters (const char *pX)
virtual int getMarshalledSize () const
bool operator== (const TwoByteChunk &rhs) const

Protected Attributes

char _otherParameters [2]
+


Detailed Description

+16 bit piece of data

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
TwoByteChunk::TwoByteChunk (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
TwoByteChunk::~TwoByteChunk (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int TwoByteChunk::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const char * TwoByteChunk::getOtherParameters (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
char * TwoByteChunk::getOtherParameters (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TwoByteChunk::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool TwoByteChunk::operator== (const TwoByteChunk rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TwoByteChunk::setOtherParameters (const char *  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void TwoByteChunk::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
char DIS::TwoByteChunk::_otherParameters[2] [protected]
+
+
+ +

+two bytes of arbitrary data +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_ua_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_ua_pdu-members.html new file mode 100644 index 00000000..101db0a1 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_ua_pdu-members.html @@ -0,0 +1,103 @@ + + +open-dis: Member List + + + + + +
+

DIS::UaPdu Member List

This is the complete list of members for DIS::UaPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_apaDataDIS::UaPdu [protected]
_emitterSystemsDIS::UaPdu [protected]
_emittingEntityIDDIS::UaPdu [protected]
_eventIDDIS::UaPdu [protected]
_exerciseIDDIS::Pdu [protected]
_lengthDIS::Pdu [protected]
_numberOfAPAsDIS::UaPdu [protected]
_numberOfShaftsDIS::UaPdu [protected]
_numberOfUAEmitterSystemsDIS::UaPdu [protected]
_padDIS::UaPdu [protected]
_paddingDIS::Pdu [protected]
_passiveParameterIndexDIS::UaPdu [protected]
_pduTypeDIS::Pdu [protected]
_propulsionPlantConfigurationDIS::UaPdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_shaftRPMsDIS::UaPdu [protected]
_stateChangeIndicatorDIS::UaPdu [protected]
_timestampDIS::Pdu [protected]
DistributedEmissionsFamilyPdu()DIS::DistributedEmissionsFamilyPdu
getApaData()DIS::UaPdu
getApaData() const DIS::UaPdu
getEmitterSystems()DIS::UaPdu
getEmitterSystems() const DIS::UaPdu
getEmittingEntityID()DIS::UaPdu
getEmittingEntityID() const DIS::UaPdu
getEventID()DIS::UaPdu
getEventID() const DIS::UaPdu
getExerciseID() const DIS::Pdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::UaPdu [virtual]
getNumberOfAPAs() const DIS::UaPdu
getNumberOfShafts() const DIS::UaPdu
getNumberOfUAEmitterSystems() const DIS::UaPdu
getPad() const DIS::UaPdu
getPadding() const DIS::Pdu
getPassiveParameterIndex() const DIS::UaPdu
getPduType() const DIS::Pdu
getPropulsionPlantConfiguration() const DIS::UaPdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getShaftRPMs()DIS::UaPdu
getShaftRPMs() const DIS::UaPdu
getStateChangeIndicator() const DIS::UaPdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::UaPdu [virtual]
operator==(const UaPdu &rhs) const DIS::UaPdu
DIS::DistributedEmissionsFamilyPdu::operator==(const DistributedEmissionsFamilyPdu &rhs) const DIS::DistributedEmissionsFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setApaData(const std::vector< ApaData > &pX)DIS::UaPdu
setEmitterSystems(const std::vector< AcousticEmitterSystemData > &pX)DIS::UaPdu
setEmittingEntityID(const EntityID &pX)DIS::UaPdu
setEventID(const EventID &pX)DIS::UaPdu
setExerciseID(unsigned char pX)DIS::Pdu
setLength(unsigned short pX)DIS::Pdu
setPad(char pX)DIS::UaPdu
setPadding(short pX)DIS::Pdu
setPassiveParameterIndex(unsigned short pX)DIS::UaPdu
setPduType(unsigned char pX)DIS::Pdu
setPropulsionPlantConfiguration(unsigned char pX)DIS::UaPdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setShaftRPMs(const std::vector< ShaftRPMs > &pX)DIS::UaPdu
setStateChangeIndicator(char pX)DIS::UaPdu
setTimestamp(unsigned int pX)DIS::Pdu
UaPdu()DIS::UaPdu
unmarshal(DataStream &dataStream)DIS::UaPdu [virtual]
~DistributedEmissionsFamilyPdu()DIS::DistributedEmissionsFamilyPdu [virtual]
~Pdu()DIS::Pdu [virtual]
~UaPdu()DIS::UaPdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_ua_pdu.html b/cpp/docs/html/class_d_i_s_1_1_ua_pdu.html new file mode 100644 index 00000000..3d9d5141 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_ua_pdu.html @@ -0,0 +1,958 @@ + + +open-dis: DIS::UaPdu Class Reference + + + + + +
+

DIS::UaPdu Class Reference

#include <UaPdu.h> +

+

+Inheritance diagram for DIS::UaPdu:
+
+ +

+ +DIS::DistributedEmissionsFamilyPdu +DIS::Pdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 UaPdu ()
virtual ~UaPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetEmittingEntityID ()
const EntityIDgetEmittingEntityID () const
void setEmittingEntityID (const EntityID &pX)
EventIDgetEventID ()
const EventIDgetEventID () const
void setEventID (const EventID &pX)
char getStateChangeIndicator () const
void setStateChangeIndicator (char pX)
char getPad () const
void setPad (char pX)
unsigned short getPassiveParameterIndex () const
void setPassiveParameterIndex (unsigned short pX)
unsigned char getPropulsionPlantConfiguration () const
void setPropulsionPlantConfiguration (unsigned char pX)
unsigned char getNumberOfShafts () const
unsigned char getNumberOfAPAs () const
unsigned char getNumberOfUAEmitterSystems () const
std::vector< ShaftRPMs > & getShaftRPMs ()
const std::vector< ShaftRPMs > & getShaftRPMs () const
void setShaftRPMs (const std::vector< ShaftRPMs > &pX)
std::vector< ApaData > & getApaData ()
const std::vector< ApaData > & getApaData () const
void setApaData (const std::vector< ApaData > &pX)
std::vector
+< AcousticEmitterSystemData > & 
getEmitterSystems ()
const std::vector
+< AcousticEmitterSystemData > & 
getEmitterSystems () const
void setEmitterSystems (const std::vector< AcousticEmitterSystemData > &pX)
virtual int getMarshalledSize () const
bool operator== (const UaPdu &rhs) const

Protected Attributes

EntityID _emittingEntityID
EventID _eventID
char _stateChangeIndicator
char _pad
unsigned short _passiveParameterIndex
unsigned char _propulsionPlantConfiguration
unsigned char _numberOfShafts
unsigned char _numberOfAPAs
unsigned char _numberOfUAEmitterSystems
std::vector< ShaftRPMs_shaftRPMs
std::vector< ApaData_apaData
std::vector
+< AcousticEmitterSystemData
_emitterSystems
+


Detailed Description

+Section 5.3.7.3. Information about underwater acoustic emmissions. This requires manual cleanup. The beam data records should ALL be a the finish, rather than attached to each emitter system. UNFINISHED

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
UaPdu::UaPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
UaPdu::~UaPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const std::vector< ApaData > & UaPdu::getApaData (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< ApaData > & UaPdu::getApaData (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< AcousticEmitterSystemData > & UaPdu::getEmitterSystems (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< AcousticEmitterSystemData > & UaPdu::getEmitterSystems (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EntityID & UaPdu::getEmittingEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & UaPdu::getEmittingEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const EventID & UaPdu::getEventID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EventID & UaPdu::getEventID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int UaPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::DistributedEmissionsFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + +
unsigned char UaPdu::getNumberOfAPAs (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char UaPdu::getNumberOfShafts (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char UaPdu::getNumberOfUAEmitterSystems (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
char UaPdu::getPad (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned short UaPdu::getPassiveParameterIndex (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned char UaPdu::getPropulsionPlantConfiguration (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< ShaftRPMs > & UaPdu::getShaftRPMs (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< ShaftRPMs > & UaPdu::getShaftRPMs (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
char UaPdu::getStateChangeIndicator (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void UaPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::DistributedEmissionsFamilyPdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool UaPdu::operator== (const UaPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void UaPdu::setApaData (const std::vector< ApaData > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void UaPdu::setEmitterSystems (const std::vector< AcousticEmitterSystemData > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void UaPdu::setEmittingEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void UaPdu::setEventID (const EventID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void UaPdu::setPad (char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void UaPdu::setPassiveParameterIndex (unsigned short  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void UaPdu::setPropulsionPlantConfiguration (unsigned char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void UaPdu::setShaftRPMs (const std::vector< ShaftRPMs > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void UaPdu::setStateChangeIndicator (char  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void UaPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::DistributedEmissionsFamilyPdu.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
std::vector<ApaData> DIS::UaPdu::_apaData [protected]
+
+
+ +

+apaData +

+

+ +

+
+ + + + +
std::vector<AcousticEmitterSystemData> DIS::UaPdu::_emitterSystems [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + +
EntityID DIS::UaPdu::_emittingEntityID [protected]
+
+
+ +

+ID of the entity that is the source of the emission +

+

+ +

+
+ + + + +
EventID DIS::UaPdu::_eventID [protected]
+
+
+ +

+ID of event +

+

+ +

+
+ + + + +
unsigned char DIS::UaPdu::_numberOfAPAs [protected]
+
+
+ +

+This field shall indicate the number of APAs described in the current UA PDU +

+

+ +

+
+ + + + +
unsigned char DIS::UaPdu::_numberOfShafts [protected]
+
+
+ +

+This field shall represent the number of shafts on a platform +

+

+ +

+
+ + + + +
unsigned char DIS::UaPdu::_numberOfUAEmitterSystems [protected]
+
+
+ +

+This field shall specify the number of UA emitter systems being described in the current UA PDU +

+

+ +

+
+ + + + +
char DIS::UaPdu::_pad [protected]
+
+
+ +

+padding +

+

+ +

+
+ + + + +
unsigned short DIS::UaPdu::_passiveParameterIndex [protected]
+
+
+ +

+This field indicates which database record (or file) shall be used in the definition of passive signature (unintentional) emissions of the entity. The indicated database record (or file) shall define all noise generated as a function of propulsion plant configurations and associated auxiliaries. +

+

+ +

+
+ + + + +
unsigned char DIS::UaPdu::_propulsionPlantConfiguration [protected]
+
+
+ +

+This field shall specify the entity propulsion plant configuration. This field is used to determine the passive signature characteristics of an entity. +

+

+ +

+
+ + + + +
std::vector<ShaftRPMs> DIS::UaPdu::_shaftRPMs [protected]
+
+
+ +

+shaft RPM values +

+

+ +

+
+ + + + +
char DIS::UaPdu::_stateChangeIndicator [protected]
+
+
+ +

+This field shall be used to indicate whether the data in the UA PDU represent a state update or data that have changed since issuance of the last UA PDU +

+

+


The documentation for this class was generated from the following files:
    +
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/UaPdu.h
  • /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/UaPdu.cpp
+
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_ua_pdu.png b/cpp/docs/html/class_d_i_s_1_1_ua_pdu.png new file mode 100644 index 00000000..4cdd01c3 Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_ua_pdu.png differ diff --git a/cpp/docs/html/class_d_i_s_1_1_variable_datum-members.html b/cpp/docs/html/class_d_i_s_1_1_variable_datum-members.html new file mode 100644 index 00000000..d90aa1dd --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_variable_datum-members.html @@ -0,0 +1,47 @@ + + +open-dis: Member List + + + + + +
+

DIS::VariableDatum Member List

This is the complete list of members for DIS::VariableDatum, including all inherited members.

+ + + + + + + + + + + + + + + +
_variableDatumIDDIS::VariableDatum [protected]
_variableDatumLengthDIS::VariableDatum [protected]
_variableDatumsDIS::VariableDatum [protected]
getMarshalledSize() const DIS::VariableDatum [virtual]
getVariableDatumID() const DIS::VariableDatum
getVariableDatumLength() const DIS::VariableDatum
getVariableDatums()DIS::VariableDatum
getVariableDatums() const DIS::VariableDatum
marshal(DataStream &dataStream) const DIS::VariableDatum [virtual]
operator==(const VariableDatum &rhs) const DIS::VariableDatum
setVariableDatumID(unsigned int pX)DIS::VariableDatum
setVariableDatums(const std::vector< EightByteChunk > &pX)DIS::VariableDatum
unmarshal(DataStream &dataStream)DIS::VariableDatum [virtual]
VariableDatum()DIS::VariableDatum
~VariableDatum()DIS::VariableDatum [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_variable_datum.html b/cpp/docs/html/class_d_i_s_1_1_variable_datum.html new file mode 100644 index 00000000..1fb6f47b --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_variable_datum.html @@ -0,0 +1,360 @@ + + +open-dis: DIS::VariableDatum Class Reference + + + + + +
+

DIS::VariableDatum Class Reference

#include <VariableDatum.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 VariableDatum ()
virtual ~VariableDatum ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
unsigned int getVariableDatumID () const
void setVariableDatumID (unsigned int pX)
unsigned int getVariableDatumLength () const
std::vector< EightByteChunk > & getVariableDatums ()
const std::vector
+< EightByteChunk > & 
getVariableDatums () const
void setVariableDatums (const std::vector< EightByteChunk > &pX)
virtual int getMarshalledSize () const
bool operator== (const VariableDatum &rhs) const

Protected Attributes

unsigned int _variableDatumID
unsigned int _variableDatumLength
std::vector< EightByteChunk_variableDatums
+


Detailed Description

+Section 5.2.32. Variable Datum Record

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
VariableDatum::VariableDatum (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
VariableDatum::~VariableDatum (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int VariableDatum::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int VariableDatum::getVariableDatumID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
unsigned int VariableDatum::getVariableDatumLength (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const std::vector< EightByteChunk > & VariableDatum::getVariableDatums (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
std::vector< EightByteChunk > & VariableDatum::getVariableDatums (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void VariableDatum::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool VariableDatum::operator== (const VariableDatum rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void VariableDatum::setVariableDatumID (unsigned int  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void VariableDatum::setVariableDatums (const std::vector< EightByteChunk > &  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void VariableDatum::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
unsigned int DIS::VariableDatum::_variableDatumID [protected]
+
+
+ +

+ID of the variable datum +

+

+ +

+
+ + + + +
unsigned int DIS::VariableDatum::_variableDatumLength [protected]
+
+
+ +

+length of the variable datums +

+

+ +

+
+ + + + +
std::vector<EightByteChunk> DIS::VariableDatum::_variableDatums [protected]
+
+
+ +

+variable length list of 64-bit datums +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_vector3_double-members.html b/cpp/docs/html/class_d_i_s_1_1_vector3_double-members.html new file mode 100644 index 00000000..6d876088 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_vector3_double-members.html @@ -0,0 +1,47 @@ + + +open-dis: Member List + + + + + +
+

DIS::Vector3Double Member List

This is the complete list of members for DIS::Vector3Double, including all inherited members.

+ + + + + + + + + + + + + + + +
_xDIS::Vector3Double [protected]
_yDIS::Vector3Double [protected]
_zDIS::Vector3Double [protected]
getMarshalledSize() const DIS::Vector3Double [virtual]
getX() const DIS::Vector3Double
getY() const DIS::Vector3Double
getZ() const DIS::Vector3Double
marshal(DataStream &dataStream) const DIS::Vector3Double [virtual]
operator==(const Vector3Double &rhs) const DIS::Vector3Double
setX(double pX)DIS::Vector3Double
setY(double pX)DIS::Vector3Double
setZ(double pX)DIS::Vector3Double
unmarshal(DataStream &dataStream)DIS::Vector3Double [virtual]
Vector3Double()DIS::Vector3Double
~Vector3Double()DIS::Vector3Double [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_vector3_double.html b/cpp/docs/html/class_d_i_s_1_1_vector3_double.html new file mode 100644 index 00000000..320ac228 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_vector3_double.html @@ -0,0 +1,360 @@ + + +open-dis: DIS::Vector3Double Class Reference + + + + + +
+

DIS::Vector3Double Class Reference

#include <Vector3Double.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 Vector3Double ()
virtual ~Vector3Double ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
double getX () const
void setX (double pX)
double getY () const
void setY (double pX)
double getZ () const
void setZ (double pX)
virtual int getMarshalledSize () const
bool operator== (const Vector3Double &rhs) const

Protected Attributes

double _x
double _y
double _z
+


Detailed Description

+Section 5.3.34. Three double precision floating point values, x, y, and z

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
Vector3Double::Vector3Double (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Double::~Vector3Double (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int Vector3Double::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
double Vector3Double::getX (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
double Vector3Double::getY (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
double Vector3Double::getZ (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Vector3Double::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool Vector3Double::operator== (const Vector3Double rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Vector3Double::setX (double  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Vector3Double::setY (double  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Vector3Double::setZ (double  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Vector3Double::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
double DIS::Vector3Double::_x [protected]
+
+
+ +

+X value +

+

+ +

+
+ + + + +
double DIS::Vector3Double::_y [protected]
+
+
+ +

+Y value +

+

+ +

+
+ + + + +
double DIS::Vector3Double::_z [protected]
+
+
+ +

+Z value +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_vector3_float-members.html b/cpp/docs/html/class_d_i_s_1_1_vector3_float-members.html new file mode 100644 index 00000000..7391b19b --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_vector3_float-members.html @@ -0,0 +1,47 @@ + + +open-dis: Member List + + + + + +
+

DIS::Vector3Float Member List

This is the complete list of members for DIS::Vector3Float, including all inherited members.

+ + + + + + + + + + + + + + + +
_xDIS::Vector3Float [protected]
_yDIS::Vector3Float [protected]
_zDIS::Vector3Float [protected]
getMarshalledSize() const DIS::Vector3Float [virtual]
getX() const DIS::Vector3Float
getY() const DIS::Vector3Float
getZ() const DIS::Vector3Float
marshal(DataStream &dataStream) const DIS::Vector3Float [virtual]
operator==(const Vector3Float &rhs) const DIS::Vector3Float
setX(float pX)DIS::Vector3Float
setY(float pX)DIS::Vector3Float
setZ(float pX)DIS::Vector3Float
unmarshal(DataStream &dataStream)DIS::Vector3Float [virtual]
Vector3Float()DIS::Vector3Float
~Vector3Float()DIS::Vector3Float [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_vector3_float.html b/cpp/docs/html/class_d_i_s_1_1_vector3_float.html new file mode 100644 index 00000000..d7f79bec --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_vector3_float.html @@ -0,0 +1,360 @@ + + +open-dis: DIS::Vector3Float Class Reference + + + + + +
+

DIS::Vector3Float Class Reference

#include <Vector3Float.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 Vector3Float ()
virtual ~Vector3Float ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
float getX () const
void setX (float pX)
float getY () const
void setY (float pX)
float getZ () const
void setZ (float pX)
virtual int getMarshalledSize () const
bool operator== (const Vector3Float &rhs) const

Protected Attributes

float _x
float _y
float _z
+


Detailed Description

+Section 5.2.33. Three floating point values, x, y, and z

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
Vector3Float::Vector3Float (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
Vector3Float::~Vector3Float (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int Vector3Float::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float Vector3Float::getX (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float Vector3Float::getY (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float Vector3Float::getZ (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Vector3Float::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool Vector3Float::operator== (const Vector3Float rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Vector3Float::setX (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Vector3Float::setY (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Vector3Float::setZ (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void Vector3Float::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
float DIS::Vector3Float::_x [protected]
+
+
+ +

+X value +

+

+ +

+
+ + + + +
float DIS::Vector3Float::_y [protected]
+
+
+ +

+y Value +

+

+ +

+
+ + + + +
float DIS::Vector3Float::_z [protected]
+
+
+ +

+Z value +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_vectoring_nozzle_system_data-members.html b/cpp/docs/html/class_d_i_s_1_1_vectoring_nozzle_system_data-members.html new file mode 100644 index 00000000..a3eaf016 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_vectoring_nozzle_system_data-members.html @@ -0,0 +1,44 @@ + + +open-dis: Member List + + + + + + +
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_vectoring_nozzle_system_data.html b/cpp/docs/html/class_d_i_s_1_1_vectoring_nozzle_system_data.html new file mode 100644 index 00000000..f8cc98c8 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_vectoring_nozzle_system_data.html @@ -0,0 +1,300 @@ + + +open-dis: DIS::VectoringNozzleSystemData Class Reference + + + + + +
+

DIS::VectoringNozzleSystemData Class Reference

#include <VectoringNozzleSystemData.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 VectoringNozzleSystemData ()
virtual ~VectoringNozzleSystemData ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
float getHorizontalDeflectionAngle () const
void setHorizontalDeflectionAngle (float pX)
float getVerticalDeflectionAngle () const
void setVerticalDeflectionAngle (float pX)
virtual int getMarshalledSize () const
bool operator== (const VectoringNozzleSystemData &rhs) const

Protected Attributes

float _horizontalDeflectionAngle
float _verticalDeflectionAngle
+


Detailed Description

+Data about a vectoring nozzle system

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
VectoringNozzleSystemData::VectoringNozzleSystemData (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
VectoringNozzleSystemData::~VectoringNozzleSystemData (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
float VectoringNozzleSystemData::getHorizontalDeflectionAngle (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int VectoringNozzleSystemData::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
float VectoringNozzleSystemData::getVerticalDeflectionAngle (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void VectoringNozzleSystemData::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool VectoringNozzleSystemData::operator== (const VectoringNozzleSystemData rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void VectoringNozzleSystemData::setHorizontalDeflectionAngle (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void VectoringNozzleSystemData::setVerticalDeflectionAngle (float  pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void VectoringNozzleSystemData::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+ +
+ +

+horizontal deflection angle +

+

+ +

+ +
+ +

+vertical deflection angle +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_warfare_family_pdu-members.html b/cpp/docs/html/class_d_i_s_1_1_warfare_family_pdu-members.html new file mode 100644 index 00000000..0231ff45 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_warfare_family_pdu-members.html @@ -0,0 +1,70 @@ + + +open-dis: Member List + + + + + +
+

DIS::WarfareFamilyPdu Member List

This is the complete list of members for DIS::WarfareFamilyPdu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_exerciseIDDIS::Pdu [protected]
_firingEntityIDDIS::WarfareFamilyPdu [protected]
_lengthDIS::Pdu [protected]
_paddingDIS::Pdu [protected]
_pduTypeDIS::Pdu [protected]
_protocolFamilyDIS::Pdu [protected]
_protocolVersionDIS::Pdu [protected]
_targetEntityIDDIS::WarfareFamilyPdu [protected]
_timestampDIS::Pdu [protected]
getExerciseID() const DIS::Pdu
getFiringEntityID()DIS::WarfareFamilyPdu
getFiringEntityID() const DIS::WarfareFamilyPdu
getLength() const DIS::Pdu
getMarshalledSize() const DIS::WarfareFamilyPdu [virtual]
getPadding() const DIS::Pdu
getPduType() const DIS::Pdu
getProtocolFamily() const DIS::Pdu
getProtocolVersion() const DIS::Pdu
getTargetEntityID()DIS::WarfareFamilyPdu
getTargetEntityID() const DIS::WarfareFamilyPdu
getTimestamp() const DIS::Pdu
marshal(DataStream &dataStream) const DIS::WarfareFamilyPdu [virtual]
operator==(const WarfareFamilyPdu &rhs) const DIS::WarfareFamilyPdu
DIS::Pdu::operator==(const Pdu &rhs) const DIS::Pdu
Pdu()DIS::Pdu
setExerciseID(unsigned char pX)DIS::Pdu
setFiringEntityID(const EntityID &pX)DIS::WarfareFamilyPdu
setLength(unsigned short pX)DIS::Pdu
setPadding(short pX)DIS::Pdu
setPduType(unsigned char pX)DIS::Pdu
setProtocolFamily(unsigned char pX)DIS::Pdu
setProtocolVersion(unsigned char pX)DIS::Pdu
setTargetEntityID(const EntityID &pX)DIS::WarfareFamilyPdu
setTimestamp(unsigned int pX)DIS::Pdu
unmarshal(DataStream &dataStream)DIS::WarfareFamilyPdu [virtual]
WarfareFamilyPdu()DIS::WarfareFamilyPdu
~Pdu()DIS::Pdu [virtual]
~WarfareFamilyPdu()DIS::WarfareFamilyPdu [virtual]

+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_warfare_family_pdu.html b/cpp/docs/html/class_d_i_s_1_1_warfare_family_pdu.html new file mode 100644 index 00000000..e2f63180 --- /dev/null +++ b/cpp/docs/html/class_d_i_s_1_1_warfare_family_pdu.html @@ -0,0 +1,365 @@ + + +open-dis: DIS::WarfareFamilyPdu Class Reference + + + + + +
+

DIS::WarfareFamilyPdu Class Reference

#include <WarfareFamilyPdu.h> +

+

+Inheritance diagram for DIS::WarfareFamilyPdu:
+
+ +

+ +DIS::Pdu +DIS::DetonationPdu +DIS::FirePdu + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 WarfareFamilyPdu ()
virtual ~WarfareFamilyPdu ()
virtual void marshal (DataStream &dataStream) const
virtual void unmarshal (DataStream &dataStream)
EntityIDgetFiringEntityID ()
const EntityIDgetFiringEntityID () const
void setFiringEntityID (const EntityID &pX)
EntityIDgetTargetEntityID ()
const EntityIDgetTargetEntityID () const
void setTargetEntityID (const EntityID &pX)
virtual int getMarshalledSize () const
bool operator== (const WarfareFamilyPdu &rhs) const

Protected Attributes

EntityID _firingEntityID
EntityID _targetEntityID
+


Detailed Description

+Section 5.3.4. abstract superclass for fire and detonation pdus that have shared information. COMPLETE

+Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.

+

Author:
DMcG, jkg
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
WarfareFamilyPdu::WarfareFamilyPdu (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
WarfareFamilyPdu::~WarfareFamilyPdu (  )  [virtual]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
const EntityID & WarfareFamilyPdu::getFiringEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & WarfareFamilyPdu::getFiringEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int WarfareFamilyPdu::getMarshalledSize (  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::Pdu.

+ +

Reimplemented in DIS::DetonationPdu, and DIS::FirePdu.

+ +
+

+ +

+
+ + + + + + + + +
const EntityID & WarfareFamilyPdu::getTargetEntityID (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
EntityID & WarfareFamilyPdu::getTargetEntityID (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void WarfareFamilyPdu::marshal (DataStream &  dataStream  )  const [virtual]
+
+
+ +

+ +

Reimplemented from DIS::Pdu.

+ +

Reimplemented in DIS::DetonationPdu, and DIS::FirePdu.

+ +
+

+ +

+
+ + + + + + + + + +
bool WarfareFamilyPdu::operator== (const WarfareFamilyPdu rhs  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void WarfareFamilyPdu::setFiringEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void WarfareFamilyPdu::setTargetEntityID (const EntityID pX  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
void WarfareFamilyPdu::unmarshal (DataStream &  dataStream  )  [virtual]
+
+
+ +

+ +

Reimplemented from DIS::Pdu.

+ +

Reimplemented in DIS::DetonationPdu, and DIS::FirePdu.

+ +
+

+


Member Data Documentation

+ +
+ +
+ +

+ID of the entity that shot +

+

+ +

+ +
+ +

+ID of the entity that is being shot at +

+

+


The documentation for this class was generated from the following files: +
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/class_d_i_s_1_1_warfare_family_pdu.png b/cpp/docs/html/class_d_i_s_1_1_warfare_family_pdu.png new file mode 100644 index 00000000..726fb7ef Binary files /dev/null and b/cpp/docs/html/class_d_i_s_1_1_warfare_family_pdu.png differ diff --git a/cpp/docs/html/classes.html b/cpp/docs/html/classes.html new file mode 100644 index 00000000..4c28f565 --- /dev/null +++ b/cpp/docs/html/classes.html @@ -0,0 +1,53 @@ + + +open-dis: Alphabetical List + + + + + +
+

Class Index

A | B | C | D | E | F | G | I | L | M | N | O | P | R | S | T | U | V | W

+ +
  A  
+
CreateEntityReliablePdu (DIS)   FourByteChunk (DIS)   MinefieldStatePdu (DIS)   SetDataPdu (DIS)   
AcknowledgePdu (DIS)   
  D  
+
FundamentalParameterData (DIS)   ModulationType (DIS)   SetDataReliablePdu (DIS)   
AcknowledgeReliablePdu (DIS)   DataPdu (DIS)   FundamentalParameterDataIff (DIS)   
  N  
+
SetRecordReliablePdu (DIS)   
AcousticBeamData (DIS)   DataQueryPdu (DIS)   
  G  
+
NamedLocation (DIS)   ShaftRPMs (DIS)   
AcousticBeamFundamentalParameter (DIS)   DataQueryReliablePdu (DIS)   GridAxisRecord (DIS)   
  O  
+
SignalPdu (DIS)   
AcousticEmitter (DIS)   DataReliablePdu (DIS)   GridAxisRecordRepresentation0 (DIS)   ObjectType (DIS)   SimulationAddress (DIS)   
AcousticEmitterSystem (DIS)   DeadReckoningParameter (DIS)   GridAxisRecordRepresentation1 (DIS)   OneByteChunk (DIS)   SimulationManagementFamilyPdu (DIS)   
AcousticEmitterSystemData (DIS)   DesignatorPdu (DIS)   GridAxisRecordRepresentation2 (DIS)   Orientation (DIS)   SimulationManagementWithReliabilityFamilyPdu (DIS)   
ActionRequestPdu (DIS)   DetonationPdu (DIS)   GriddedDataPdu (DIS)   
  P  
+
SixByteChunk (DIS)   
ActionRequestReliablePdu (DIS)   DistributedEmissionsFamilyPdu (DIS)   
  I  
+
Pdu (DIS)   SphericalHarmonicAntennaPattern (DIS)   
ActionResponsePdu (DIS)   
  E  
+
IffAtcNavAidsLayer1Pdu (DIS)   PduContainer (DIS)   StartResumePdu (DIS)   
ActionResponseReliablePdu (DIS)   EightByteChunk (DIS)   IffAtcNavAidsLayer2Pdu (DIS)   Point (DIS)   StartResumeReliablePdu (DIS)   
AggregateID (DIS)   ElectronicEmissionBeamData (DIS)   IffFundamentalData (DIS)   PointObjectStatePdu (DIS)   StopFreezePdu (DIS)   
AggregateMarking (DIS)   ElectronicEmissionsPdu (DIS)   IntercomCommunicationsParameters (DIS)   PropulsionSystemData (DIS)   StopFreezeReliablePdu (DIS)   
AggregateStatePdu (DIS)   ElectronicEmissionSystemData (DIS)   IntercomControlPdu (DIS)   
  R  
+
SupplyQuantity (DIS)   
AggregateType (DIS)   EmitterSystem (DIS)   IntercomSignalPdu (DIS)   RadioCommunicationsFamilyPdu (DIS)   SyntheticEnvironmentFamilyPdu (DIS)   
AngularVelocityVector (DIS)   EntityID (DIS)   IsGroupOfPdu (DIS)   RadioEntityType (DIS)   SystemID (DIS)   
AntennaLocation (DIS)   EntityInformationFamilyPdu (DIS)   IsPartOfPdu (DIS)   ReceiverPdu (DIS)   
  T  
+
ApaData (DIS)   EntityManagementFamilyPdu (DIS)   
  L  
+
RecordQueryReliablePdu (DIS)   TrackJamTarget (DIS)   
ArealObjectStatePdu (DIS)   EntityStatePdu (DIS)   LayerHeader (DIS)   RecordSet (DIS)   TransferControlRequestPdu (DIS)   
ArticulationParameter (DIS)   EntityStateUpdatePdu (DIS)   LinearObjectStatePdu (DIS)   Relationship (DIS)   TransmitterPdu (DIS)   
  B  
+
EntityType (DIS)   LinearSegmentParameter (DIS)   RemoveEntityPdu (DIS)   TwoByteChunk (DIS)   
BeamAntennaPattern (DIS)   Environment (DIS)   LogisticsFamilyPdu (DIS)   RemoveEntityReliablePdu (DIS)   
  U  
+
BeamData (DIS)   EnvironmentalProcessPdu (DIS)   LogisticsPdu (DIS)   RepairCompletePdu (DIS)   UaPdu (DIS)   
BurstDescriptor (DIS)   EventID (DIS)   
  M  
+
RepairResponsePdu (DIS)   
  V  
+
  C  
+
EventReportPdu (DIS)   Marking (DIS)   ResupplyCancelPdu (DIS)   VariableDatum (DIS)   
ClockTime (DIS)   EventReportReliablePdu (DIS)   MinefieldDataPdu (DIS)   ResupplyOfferPdu (DIS)   Vector3Double (DIS)   
CollisionElasticPdu (DIS)   
  F  
+
MinefieldFamilyPdu (DIS)   ResupplyReceivedPdu (DIS)   Vector3Float (DIS)   
CollisionPdu (DIS)   FastEntityStatePdu (DIS)   MinefieldPduFamily (DIS)   
  S  
+
VectoringNozzleSystemData (DIS)   
CommentPdu (DIS)   FirePdu (DIS)   MinefieldQueryPdu (DIS)   SeesPdu (DIS)   
  W  
+
CommentReliablePdu (DIS)   FixedDatum (DIS)   MinefieldResponseNackPdu (DIS)   ServiceRequestPdu (DIS)   WarfareFamilyPdu (DIS)   
CreateEntityPdu (DIS)   

A | B | C | D | E | F | G | I | L | M | N | O | P | R | S | T | U | V | W

+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/doxygen.css b/cpp/docs/html/doxygen.css new file mode 100644 index 00000000..3767dc95 --- /dev/null +++ b/cpp/docs/html/doxygen.css @@ -0,0 +1,441 @@ +body, table, div, p, dl { + font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif; + font-size: 12px; +} + +/* @group Heading Levels */ + +h1 { + text-align: center; + font-size: 150%; +} + +h2 { + font-size: 120%; +} + +h3 { + font-size: 100%; +} + +/* @end */ + +caption { + font-weight: bold; +} + +div.qindex, div.navtab{ + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + padding: 2px; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #153788; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #1b77c5; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #6666cc; + color: #ffffff; + border: 1px double #9295C2; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code { +} + +a.codeRef { +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +.fragment { + font-family: monospace, fixed; + font-size: 105%; +} + +pre.fragment { + border: 1px solid #CCCCCC; + background-color: #f5f5f5; + padding: 4px 6px; + margin: 4px 8px 4px 2px; +} + +div.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + margin-bottom: 6px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background: white; + color: black; + margin-right: 20px; + margin-left: 20px; +} + +td.indexkey { + background-color: #e8eef2; + font-weight: bold; + border: 1px solid #CCCCCC; + margin: 2px 0px 2px 0; + padding: 2px 10px; +} + +td.indexvalue { + background-color: #e8eef2; + border: 1px solid #CCCCCC; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #f0f0f0; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +/* @end */ + +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #84b0c7; +} + +th.dirtab { + background: #e8eef2; + font-weight: bold; +} + +hr { + height: 0; + border: none; + border-top: 1px solid #666; +} + +/* @group Member Descriptions */ + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #FAFAFA; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memItemLeft, .memItemRight, .memTemplParams { + border-top: 1px solid #ccc; +} + +.memTemplParams { + color: #606060; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtemplate { + font-size: 80%; + color: #606060; + font-weight: normal; + margin-left: 3px; +} + +.memnav { + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.memitem { + padding: 0; +} + +.memname { + white-space: nowrap; + font-weight: bold; +} + +.memproto, .memdoc { + border: 1px solid #84b0c7; +} + +.memproto { + padding: 0; + background-color: #d5e1e8; + font-weight: bold; + -webkit-border-top-left-radius: 8px; + -webkit-border-top-right-radius: 8px; + -moz-border-radius-topleft: 8px; + -moz-border-radius-topright: 8px; +} + +.memdoc { + padding: 2px 5px; + background-color: #eef3f5; + border-top-width: 0; + -webkit-border-bottom-left-radius: 8px; + -webkit-border-bottom-right-radius: 8px; + -moz-border-radius-bottomleft: 8px; + -moz-border-radius-bottomright: 8px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} + +/* @end */ + +/* @group Directory (tree) */ + +/* for the tree view */ + +.ftvtree { + font-family: sans-serif; + margin: 0.5em; +} + +/* these are for tree view when used as main index */ + +.directory { + font-size: 9pt; + font-weight: bold; +} + +.directory h3 { + margin: 0px; + margin-top: 1em; + font-size: 11pt; +} + +/* +The following two styles can be used to replace the root node title +with an image of your choice. Simply uncomment the next two styles, +specify the name of your image and be sure to set 'height' to the +proper pixel height of your image. +*/ + +/* +.directory h3.swap { + height: 61px; + background-repeat: no-repeat; + background-image: url("yourimage.gif"); +} +.directory h3.swap span { + display: none; +} +*/ + +.directory > h3 { + margin-top: 0; +} + +.directory p { + margin: 0px; + white-space: nowrap; +} + +.directory div { + display: none; + margin: 0px; +} + +.directory img { + vertical-align: -30%; +} + +/* these are for tree view when not used as main index */ + +.directory-alt { + font-size: 100%; + font-weight: bold; +} + +.directory-alt h3 { + margin: 0px; + margin-top: 1em; + font-size: 11pt; +} + +.directory-alt > h3 { + margin-top: 0; +} + +.directory-alt p { + margin: 0px; + white-space: nowrap; +} + +.directory-alt div { + display: none; + margin: 0px; +} + +.directory-alt img { + vertical-align: -30%; +} + +/* @end */ + +address { + font-style: normal; + color: #333; +} diff --git a/cpp/docs/html/doxygen.png b/cpp/docs/html/doxygen.png new file mode 100644 index 00000000..f0a274bb Binary files /dev/null and b/cpp/docs/html/doxygen.png differ diff --git a/cpp/docs/html/files.html b/cpp/docs/html/files.html new file mode 100644 index 00000000..20ccfb14 --- /dev/null +++ b/cpp/docs/html/files.html @@ -0,0 +1,309 @@ + + +open-dis: File Index + + + + + +
+

File List

Here is a list of all files with brief descriptions: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcknowledgePdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcknowledgePdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcknowledgeReliablePdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcknowledgeReliablePdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticBeamData.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticBeamData.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticBeamFundamentalParameter.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticBeamFundamentalParameter.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticEmitter.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticEmitter.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticEmitterSystem.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticEmitterSystem.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticEmitterSystemData.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticEmitterSystemData.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionRequestPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionRequestPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionRequestReliablePdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionRequestReliablePdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionResponsePdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionResponsePdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionResponseReliablePdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionResponseReliablePdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateID.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateID.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateMarking.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateMarking.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateStatePdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateStatePdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateType.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateType.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AngularVelocityVector.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AngularVelocityVector.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AntennaLocation.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AntennaLocation.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ApaData.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ApaData.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ArealObjectStatePdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ArealObjectStatePdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ArticulationParameter.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ArticulationParameter.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/BeamAntennaPattern.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/BeamAntennaPattern.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/BeamData.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/BeamData.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/BurstDescriptor.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/BurstDescriptor.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ClockTime.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ClockTime.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CollisionElasticPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CollisionElasticPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CollisionPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CollisionPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CommentPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CommentPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CommentReliablePdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CommentReliablePdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CreateEntityPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CreateEntityPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CreateEntityReliablePdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CreateEntityReliablePdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataQueryPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataQueryPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataQueryReliablePdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataQueryReliablePdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataReliablePdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataReliablePdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DeadReckoningParameter.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DeadReckoningParameter.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DesignatorPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DesignatorPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DetonationPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DetonationPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DistributedEmissionsFamilyPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DistributedEmissionsFamilyPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EightByteChunk.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EightByteChunk.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ElectronicEmissionBeamData.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ElectronicEmissionBeamData.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ElectronicEmissionsPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ElectronicEmissionsPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ElectronicEmissionSystemData.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ElectronicEmissionSystemData.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EmitterSystem.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EmitterSystem.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityID.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityID.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityInformationFamilyPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityInformationFamilyPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityManagementFamilyPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityManagementFamilyPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityStatePdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityStatePdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityStateUpdatePdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityStateUpdatePdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityType.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityType.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Environment.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Environment.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EnvironmentalProcessPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EnvironmentalProcessPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EventID.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EventID.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EventReportPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EventReportPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EventReportReliablePdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EventReportReliablePdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FastEntityStatePdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FastEntityStatePdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FirePdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FirePdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FixedDatum.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FixedDatum.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FourByteChunk.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FourByteChunk.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FundamentalParameterData.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FundamentalParameterData.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FundamentalParameterDataIff.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FundamentalParameterDataIff.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecord.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecord.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecordRepresentation0.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecordRepresentation0.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecordRepresentation1.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecordRepresentation1.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecordRepresentation2.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecordRepresentation2.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GriddedDataPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GriddedDataPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IffAtcNavAidsLayer1Pdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IffAtcNavAidsLayer1Pdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IffAtcNavAidsLayer2Pdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IffAtcNavAidsLayer2Pdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IffFundamentalData.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IffFundamentalData.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IntercomCommunicationsParameters.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IntercomCommunicationsParameters.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IntercomControlPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IntercomControlPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IntercomSignalPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IntercomSignalPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IsGroupOfPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IsGroupOfPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IsPartOfPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IsPartOfPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LayerHeader.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LayerHeader.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LinearObjectStatePdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LinearObjectStatePdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LinearSegmentParameter.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LinearSegmentParameter.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LogisticsFamilyPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LogisticsFamilyPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LogisticsPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LogisticsPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Marking.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Marking.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldDataPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldDataPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldFamilyPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldFamilyPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldPduFamily.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldPduFamily.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldQueryPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldQueryPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldResponseNackPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldResponseNackPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldStatePdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldStatePdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ModulationType.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ModulationType.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/msLibMacro.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/NamedLocation.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/NamedLocation.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ObjectType.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ObjectType.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/OneByteChunk.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/OneByteChunk.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Orientation.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Orientation.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Pdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Pdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/PduContainer.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/PduContainer.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Point.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Point.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/PointObjectStatePdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/PointObjectStatePdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/PropulsionSystemData.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/PropulsionSystemData.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RadioCommunicationsFamilyPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RadioCommunicationsFamilyPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RadioEntityType.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RadioEntityType.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ReceiverPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ReceiverPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RecordQueryReliablePdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RecordQueryReliablePdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RecordSet.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RecordSet.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Relationship.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Relationship.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RemoveEntityPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RemoveEntityPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RemoveEntityReliablePdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RemoveEntityReliablePdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RepairCompletePdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RepairCompletePdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RepairResponsePdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RepairResponsePdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ResupplyCancelPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ResupplyCancelPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ResupplyOfferPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ResupplyOfferPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ResupplyReceivedPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ResupplyReceivedPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SeesPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SeesPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ServiceRequestPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ServiceRequestPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SetDataPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SetDataPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SetDataReliablePdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SetDataReliablePdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SetRecordReliablePdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SetRecordReliablePdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ShaftRPMs.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ShaftRPMs.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SignalPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SignalPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SimulationAddress.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SimulationAddress.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SimulationManagementFamilyPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SimulationManagementFamilyPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SimulationManagementWithReliabilityFamilyPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SimulationManagementWithReliabilityFamilyPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SixByteChunk.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SixByteChunk.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SphericalHarmonicAntennaPattern.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SphericalHarmonicAntennaPattern.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StartResumePdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StartResumePdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StartResumeReliablePdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StartResumeReliablePdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StopFreezePdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StopFreezePdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StopFreezeReliablePdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StopFreezeReliablePdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SupplyQuantity.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SupplyQuantity.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/symbolic_names.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SyntheticEnvironmentFamilyPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SyntheticEnvironmentFamilyPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SystemID.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SystemID.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TrackJamTarget.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TrackJamTarget.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TransferControlRequestPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TransferControlRequestPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TransmitterPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TransmitterPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TwoByteChunk.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TwoByteChunk.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/UaPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/UaPdu.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/VariableDatum.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/VariableDatum.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/VariableDatumOld.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Vector3Double.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Vector3Double.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Vector3Float.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Vector3Float.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/VectoringNozzleSystemData.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/VectoringNozzleSystemData.h [code]
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/WarfareFamilyPdu.cpp
/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/WarfareFamilyPdu.h [code]
+
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/ftv2blank.png b/cpp/docs/html/ftv2blank.png new file mode 100644 index 00000000..493c3c0b Binary files /dev/null and b/cpp/docs/html/ftv2blank.png differ diff --git a/cpp/docs/html/ftv2doc.png b/cpp/docs/html/ftv2doc.png new file mode 100644 index 00000000..f72999f9 Binary files /dev/null and b/cpp/docs/html/ftv2doc.png differ diff --git a/cpp/docs/html/ftv2folderclosed.png b/cpp/docs/html/ftv2folderclosed.png new file mode 100644 index 00000000..d6d06344 Binary files /dev/null and b/cpp/docs/html/ftv2folderclosed.png differ diff --git a/cpp/docs/html/ftv2folderopen.png b/cpp/docs/html/ftv2folderopen.png new file mode 100644 index 00000000..bbe2c913 Binary files /dev/null and b/cpp/docs/html/ftv2folderopen.png differ diff --git a/cpp/docs/html/ftv2lastnode.png b/cpp/docs/html/ftv2lastnode.png new file mode 100644 index 00000000..e7b9ba90 Binary files /dev/null and b/cpp/docs/html/ftv2lastnode.png differ diff --git a/cpp/docs/html/ftv2link.png b/cpp/docs/html/ftv2link.png new file mode 100644 index 00000000..14f3fed0 Binary files /dev/null and b/cpp/docs/html/ftv2link.png differ diff --git a/cpp/docs/html/ftv2mlastnode.png b/cpp/docs/html/ftv2mlastnode.png new file mode 100644 index 00000000..09ceb6ad Binary files /dev/null and b/cpp/docs/html/ftv2mlastnode.png differ diff --git a/cpp/docs/html/ftv2mnode.png b/cpp/docs/html/ftv2mnode.png new file mode 100644 index 00000000..3254c051 Binary files /dev/null and b/cpp/docs/html/ftv2mnode.png differ diff --git a/cpp/docs/html/ftv2node.png b/cpp/docs/html/ftv2node.png new file mode 100644 index 00000000..c9f06a57 Binary files /dev/null and b/cpp/docs/html/ftv2node.png differ diff --git a/cpp/docs/html/ftv2plastnode.png b/cpp/docs/html/ftv2plastnode.png new file mode 100644 index 00000000..0b07e009 Binary files /dev/null and b/cpp/docs/html/ftv2plastnode.png differ diff --git a/cpp/docs/html/ftv2pnode.png b/cpp/docs/html/ftv2pnode.png new file mode 100644 index 00000000..2001b797 Binary files /dev/null and b/cpp/docs/html/ftv2pnode.png differ diff --git a/cpp/docs/html/ftv2vertline.png b/cpp/docs/html/ftv2vertline.png new file mode 100644 index 00000000..b330f3a3 Binary files /dev/null and b/cpp/docs/html/ftv2vertline.png differ diff --git a/cpp/docs/html/functions.html b/cpp/docs/html/functions.html new file mode 100644 index 00000000..4c543be1 --- /dev/null +++ b/cpp/docs/html/functions.html @@ -0,0 +1,1243 @@ + + +open-dis: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- _ -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_0x61.html b/cpp/docs/html/functions_0x61.html new file mode 100644 index 00000000..e1ae2f5e --- /dev/null +++ b/cpp/docs/html/functions_0x61.html @@ -0,0 +1,107 @@ + + +open-dis: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- a -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_0x62.html b/cpp/docs/html/functions_0x62.html new file mode 100644 index 00000000..0d768459 --- /dev/null +++ b/cpp/docs/html/functions_0x62.html @@ -0,0 +1,73 @@ + + +open-dis: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- b -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_0x63.html b/cpp/docs/html/functions_0x63.html new file mode 100644 index 00000000..a8841e0b --- /dev/null +++ b/cpp/docs/html/functions_0x63.html @@ -0,0 +1,81 @@ + + +open-dis: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- c -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_0x64.html b/cpp/docs/html/functions_0x64.html new file mode 100644 index 00000000..1d8790ea --- /dev/null +++ b/cpp/docs/html/functions_0x64.html @@ -0,0 +1,83 @@ + + +open-dis: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- d -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_0x65.html b/cpp/docs/html/functions_0x65.html new file mode 100644 index 00000000..3a9c2889 --- /dev/null +++ b/cpp/docs/html/functions_0x65.html @@ -0,0 +1,99 @@ + + +open-dis: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- e -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_0x66.html b/cpp/docs/html/functions_0x66.html new file mode 100644 index 00000000..3dea997b --- /dev/null +++ b/cpp/docs/html/functions_0x66.html @@ -0,0 +1,79 @@ + + +open-dis: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- f -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_0x67.html b/cpp/docs/html/functions_0x67.html new file mode 100644 index 00000000..2534a924 --- /dev/null +++ b/cpp/docs/html/functions_0x67.html @@ -0,0 +1,1440 @@ + + +open-dis: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- g -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_0x69.html b/cpp/docs/html/functions_0x69.html new file mode 100644 index 00000000..ece401b8 --- /dev/null +++ b/cpp/docs/html/functions_0x69.html @@ -0,0 +1,83 @@ + + +open-dis: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- i -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_0x6c.html b/cpp/docs/html/functions_0x6c.html new file mode 100644 index 00000000..df9b02c1 --- /dev/null +++ b/cpp/docs/html/functions_0x6c.html @@ -0,0 +1,77 @@ + + +open-dis: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- l -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_0x6d.html b/cpp/docs/html/functions_0x6d.html new file mode 100644 index 00000000..ca8ef9c4 --- /dev/null +++ b/cpp/docs/html/functions_0x6d.html @@ -0,0 +1,221 @@ + + +open-dis: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- m -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_0x6e.html b/cpp/docs/html/functions_0x6e.html new file mode 100644 index 00000000..52407434 --- /dev/null +++ b/cpp/docs/html/functions_0x6e.html @@ -0,0 +1,69 @@ + + +open-dis: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- n -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_0x6f.html b/cpp/docs/html/functions_0x6f.html new file mode 100644 index 00000000..9751c35a --- /dev/null +++ b/cpp/docs/html/functions_0x6f.html @@ -0,0 +1,211 @@ + + +open-dis: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- o -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_0x70.html b/cpp/docs/html/functions_0x70.html new file mode 100644 index 00000000..147c1fcc --- /dev/null +++ b/cpp/docs/html/functions_0x70.html @@ -0,0 +1,77 @@ + + +open-dis: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- p -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_0x72.html b/cpp/docs/html/functions_0x72.html new file mode 100644 index 00000000..cc096f2c --- /dev/null +++ b/cpp/docs/html/functions_0x72.html @@ -0,0 +1,93 @@ + + +open-dis: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- r -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_0x73.html b/cpp/docs/html/functions_0x73.html new file mode 100644 index 00000000..11088315 --- /dev/null +++ b/cpp/docs/html/functions_0x73.html @@ -0,0 +1,1176 @@ + + +open-dis: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- s -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_0x74.html b/cpp/docs/html/functions_0x74.html new file mode 100644 index 00000000..a92371c0 --- /dev/null +++ b/cpp/docs/html/functions_0x74.html @@ -0,0 +1,75 @@ + + +open-dis: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- t -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_0x75.html b/cpp/docs/html/functions_0x75.html new file mode 100644 index 00000000..1c856c63 --- /dev/null +++ b/cpp/docs/html/functions_0x75.html @@ -0,0 +1,207 @@ + + +open-dis: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- u -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_0x76.html b/cpp/docs/html/functions_0x76.html new file mode 100644 index 00000000..d36d26a1 --- /dev/null +++ b/cpp/docs/html/functions_0x76.html @@ -0,0 +1,75 @@ + + +open-dis: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- v -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_0x77.html b/cpp/docs/html/functions_0x77.html new file mode 100644 index 00000000..a8a8fb33 --- /dev/null +++ b/cpp/docs/html/functions_0x77.html @@ -0,0 +1,69 @@ + + +open-dis: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- w -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_0x7e.html b/cpp/docs/html/functions_0x7e.html new file mode 100644 index 00000000..d1afabe6 --- /dev/null +++ b/cpp/docs/html/functions_0x7e.html @@ -0,0 +1,341 @@ + + +open-dis: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- ~ -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_func.html b/cpp/docs/html/functions_func.html new file mode 100644 index 00000000..094465f2 --- /dev/null +++ b/cpp/docs/html/functions_func.html @@ -0,0 +1,106 @@ + + +open-dis: Class Members - Functions + + + + + +
+  +

+

- a -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_func_0x62.html b/cpp/docs/html/functions_func_0x62.html new file mode 100644 index 00000000..97a5af82 --- /dev/null +++ b/cpp/docs/html/functions_func_0x62.html @@ -0,0 +1,72 @@ + + +open-dis: Class Members - Functions + + + + + +
+  +

+

- b -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_func_0x63.html b/cpp/docs/html/functions_func_0x63.html new file mode 100644 index 00000000..63169dc6 --- /dev/null +++ b/cpp/docs/html/functions_func_0x63.html @@ -0,0 +1,80 @@ + + +open-dis: Class Members - Functions + + + + + +
+  +

+

- c -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_func_0x64.html b/cpp/docs/html/functions_func_0x64.html new file mode 100644 index 00000000..05ca1fc7 --- /dev/null +++ b/cpp/docs/html/functions_func_0x64.html @@ -0,0 +1,82 @@ + + +open-dis: Class Members - Functions + + + + + +
+  +

+

- d -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_func_0x65.html b/cpp/docs/html/functions_func_0x65.html new file mode 100644 index 00000000..51fe37bf --- /dev/null +++ b/cpp/docs/html/functions_func_0x65.html @@ -0,0 +1,98 @@ + + +open-dis: Class Members - Functions + + + + + +
+  +

+

- e -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_func_0x66.html b/cpp/docs/html/functions_func_0x66.html new file mode 100644 index 00000000..a2df8352 --- /dev/null +++ b/cpp/docs/html/functions_func_0x66.html @@ -0,0 +1,78 @@ + + +open-dis: Class Members - Functions + + + + + +
+  +

+

- f -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_func_0x67.html b/cpp/docs/html/functions_func_0x67.html new file mode 100644 index 00000000..f44801d6 --- /dev/null +++ b/cpp/docs/html/functions_func_0x67.html @@ -0,0 +1,1439 @@ + + +open-dis: Class Members - Functions + + + + + +
+  +

+

- g -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_func_0x69.html b/cpp/docs/html/functions_func_0x69.html new file mode 100644 index 00000000..ae8098f0 --- /dev/null +++ b/cpp/docs/html/functions_func_0x69.html @@ -0,0 +1,82 @@ + + +open-dis: Class Members - Functions + + + + + +
+  +

+

- i -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_func_0x6c.html b/cpp/docs/html/functions_func_0x6c.html new file mode 100644 index 00000000..2fec9b7f --- /dev/null +++ b/cpp/docs/html/functions_func_0x6c.html @@ -0,0 +1,76 @@ + + +open-dis: Class Members - Functions + + + + + +
+  +

+

- l -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_func_0x6d.html b/cpp/docs/html/functions_func_0x6d.html new file mode 100644 index 00000000..abdc3e8d --- /dev/null +++ b/cpp/docs/html/functions_func_0x6d.html @@ -0,0 +1,220 @@ + + +open-dis: Class Members - Functions + + + + + +
+  +

+

- m -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_func_0x6e.html b/cpp/docs/html/functions_func_0x6e.html new file mode 100644 index 00000000..8ee70f7d --- /dev/null +++ b/cpp/docs/html/functions_func_0x6e.html @@ -0,0 +1,68 @@ + + +open-dis: Class Members - Functions + + + + + +
+  +

+

- n -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_func_0x6f.html b/cpp/docs/html/functions_func_0x6f.html new file mode 100644 index 00000000..58f0afe7 --- /dev/null +++ b/cpp/docs/html/functions_func_0x6f.html @@ -0,0 +1,210 @@ + + +open-dis: Class Members - Functions + + + + + +
+  +

+

- o -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_func_0x70.html b/cpp/docs/html/functions_func_0x70.html new file mode 100644 index 00000000..bd3f2c53 --- /dev/null +++ b/cpp/docs/html/functions_func_0x70.html @@ -0,0 +1,76 @@ + + +open-dis: Class Members - Functions + + + + + +
+  +

+

- p -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_func_0x72.html b/cpp/docs/html/functions_func_0x72.html new file mode 100644 index 00000000..a1d25bc0 --- /dev/null +++ b/cpp/docs/html/functions_func_0x72.html @@ -0,0 +1,92 @@ + + +open-dis: Class Members - Functions + + + + + +
+  +

+

- r -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_func_0x73.html b/cpp/docs/html/functions_func_0x73.html new file mode 100644 index 00000000..a6782889 --- /dev/null +++ b/cpp/docs/html/functions_func_0x73.html @@ -0,0 +1,1175 @@ + + +open-dis: Class Members - Functions + + + + + +
+  +

+

- s -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_func_0x74.html b/cpp/docs/html/functions_func_0x74.html new file mode 100644 index 00000000..8bc184ad --- /dev/null +++ b/cpp/docs/html/functions_func_0x74.html @@ -0,0 +1,74 @@ + + +open-dis: Class Members - Functions + + + + + +
+  +

+

- t -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_func_0x75.html b/cpp/docs/html/functions_func_0x75.html new file mode 100644 index 00000000..444e09d0 --- /dev/null +++ b/cpp/docs/html/functions_func_0x75.html @@ -0,0 +1,206 @@ + + +open-dis: Class Members - Functions + + + + + +
+  +

+

- u -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_func_0x76.html b/cpp/docs/html/functions_func_0x76.html new file mode 100644 index 00000000..1cebc623 --- /dev/null +++ b/cpp/docs/html/functions_func_0x76.html @@ -0,0 +1,74 @@ + + +open-dis: Class Members - Functions + + + + + +
+  +

+

- v -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_func_0x77.html b/cpp/docs/html/functions_func_0x77.html new file mode 100644 index 00000000..a1cacd31 --- /dev/null +++ b/cpp/docs/html/functions_func_0x77.html @@ -0,0 +1,68 @@ + + +open-dis: Class Members - Functions + + + + + +
+  +

+

- w -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_func_0x7e.html b/cpp/docs/html/functions_func_0x7e.html new file mode 100644 index 00000000..1c07a214 --- /dev/null +++ b/cpp/docs/html/functions_func_0x7e.html @@ -0,0 +1,340 @@ + + +open-dis: Class Members - Functions + + + + + +
+  +

+

- ~ -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/functions_vars.html b/cpp/docs/html/functions_vars.html new file mode 100644 index 00000000..76395207 --- /dev/null +++ b/cpp/docs/html/functions_vars.html @@ -0,0 +1,1223 @@ + + +open-dis: Class Members - Variables + + + + + +
+  +

+

- _ -

+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/globals.html b/cpp/docs/html/globals.html new file mode 100644 index 00000000..f8b01995 --- /dev/null +++ b/cpp/docs/html/globals.html @@ -0,0 +1,42 @@ + + +open-dis: Class Members + + + + + +
+Here is a list of all file members with links to the files they belong to: +

+

+
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/globals_defs.html b/cpp/docs/html/globals_defs.html new file mode 100644 index 00000000..8c8ef786 --- /dev/null +++ b/cpp/docs/html/globals_defs.html @@ -0,0 +1,42 @@ + + +open-dis: Class Members + + + + + +
+  +

+

+
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/hierarchy.html b/cpp/docs/html/hierarchy.html new file mode 100644 index 00000000..8d366725 --- /dev/null +++ b/cpp/docs/html/hierarchy.html @@ -0,0 +1,253 @@ + + +open-dis: Hierarchical Index + + + + + +
+

Class Hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically: +
+
+
+

o*DIS::AcousticBeamData

+

o*DIS::AcousticBeamFundamentalParameter

+

o*DIS::AcousticEmitter

+

o*DIS::AcousticEmitterSystem

+

o*DIS::AcousticEmitterSystemData

+

o*DIS::AggregateID

+

o*DIS::AggregateMarking

+

o*DIS::AggregateType

+

o*DIS::AngularVelocityVector

+

o*DIS::AntennaLocation

+

o*DIS::ApaData

+

o*DIS::ArticulationParameter

+

o*DIS::BeamAntennaPattern

+

o*DIS::BeamData

+

o*DIS::BurstDescriptor

+

o*DIS::ClockTime

+

o*DIS::DeadReckoningParameter

+

o*DIS::EightByteChunk

+

o*DIS::ElectronicEmissionBeamData

+

o*DIS::ElectronicEmissionSystemData

+

o*DIS::EmitterSystem

+

o*DIS::EntityID

+

o*DIS::EntityType

+

o*DIS::Environment

+

o*DIS::EventID

+

o*DIS::FixedDatum

+

o*DIS::FourByteChunk

+

o*DIS::FundamentalParameterData

+

o*DIS::FundamentalParameterDataIff

+

o+DIS::GridAxisRecord

+ +

o*DIS::IffFundamentalData

+

o*DIS::IntercomCommunicationsParameters

+

o*DIS::LayerHeader

+

o*DIS::LinearSegmentParameter

+

o*DIS::Marking

+

o*DIS::ModulationType

+

o*DIS::NamedLocation

+

o*DIS::ObjectType

+

o*DIS::OneByteChunk

+

o*DIS::Orientation

+

o+DIS::Pdu

+
+

|o+DIS::DistributedEmissionsFamilyPdu

+ +

|o+DIS::EntityInformationFamilyPdu

+ +

|o+DIS::EntityManagementFamilyPdu

+ +

|o+DIS::LogisticsFamilyPdu

+ +

|o*DIS::LogisticsPdu

+

|o+DIS::MinefieldFamilyPdu

+ +

|o*DIS::MinefieldPduFamily

+

|o+DIS::RadioCommunicationsFamilyPdu

+ +

|o+DIS::SimulationManagementFamilyPdu

+ +

|o+DIS::SimulationManagementWithReliabilityFamilyPdu

+ +

|o+DIS::SyntheticEnvironmentFamilyPdu

+ +

|\+DIS::WarfareFamilyPdu

+ +
+

o*DIS::PduContainer

+

o*DIS::Point

+

o*DIS::PropulsionSystemData

+

o*DIS::RadioEntityType

+

o*DIS::RecordSet

+

o*DIS::Relationship

+

o*DIS::ShaftRPMs

+

o*DIS::SimulationAddress

+

o*DIS::SixByteChunk

+

o*DIS::SphericalHarmonicAntennaPattern

+

o*DIS::SupplyQuantity

+

o*DIS::SystemID

+

o*DIS::TrackJamTarget

+

o*DIS::TwoByteChunk

+

o*DIS::VariableDatum

+

o*DIS::Vector3Double

+

o*DIS::Vector3Float

+

\*DIS::VectoringNozzleSystemData

+
+
+ + +
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/index.html b/cpp/docs/html/index.html new file mode 100644 index 00000000..bbc80253 --- /dev/null +++ b/cpp/docs/html/index.html @@ -0,0 +1,11 @@ + + +open-dis + + + + + <a href="main.html">Frames are disabled. Click here to go to the main page.</a> + + + diff --git a/cpp/docs/html/main.html b/cpp/docs/html/main.html new file mode 100644 index 00000000..abe0063d --- /dev/null +++ b/cpp/docs/html/main.html @@ -0,0 +1,26 @@ + + +open-dis: Main Page + + + + + +
+

open-dis Documentation

+

+

3.1.2

+
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/ms_lib_macro_8h.html b/cpp/docs/html/ms_lib_macro_8h.html new file mode 100644 index 00000000..56edb4af --- /dev/null +++ b/cpp/docs/html/ms_lib_macro_8h.html @@ -0,0 +1,54 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/msLibMacro.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/msLibMacro.h File Reference

+

+Go to the source code of this file. + + + + +

Defines

#define EXPORT_MACRO
+


Define Documentation

+ +
+
+ + + + +
#define EXPORT_MACRO
+
+
+ +

+ +

+

+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/ms_lib_macro_8h_source.html b/cpp/docs/html/ms_lib_macro_8h_source.html new file mode 100644 index 00000000..da68f31b --- /dev/null +++ b/cpp/docs/html/ms_lib_macro_8h_source.html @@ -0,0 +1,40 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/msLibMacro.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/namespace_d_i_s.html b/cpp/docs/html/namespace_d_i_s.html new file mode 100644 index 00000000..e5611425 --- /dev/null +++ b/cpp/docs/html/namespace_d_i_s.html @@ -0,0 +1,1333 @@ + + +open-dis: DIS Namespace Reference + + + + + +
+

DIS Namespace Reference

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Classes

class  AcknowledgePdu
class  AcknowledgeReliablePdu
class  AcousticBeamData
class  AcousticBeamFundamentalParameter
class  AcousticEmitter
class  AcousticEmitterSystem
class  AcousticEmitterSystemData
class  ActionRequestPdu
class  ActionRequestReliablePdu
class  ActionResponsePdu
class  ActionResponseReliablePdu
class  AggregateID
class  AggregateMarking
class  AggregateStatePdu
class  AggregateType
class  AngularVelocityVector
class  AntennaLocation
class  ApaData
class  ArealObjectStatePdu
class  ArticulationParameter
class  BeamAntennaPattern
class  BeamData
class  BurstDescriptor
class  ClockTime
class  CollisionElasticPdu
class  CollisionPdu
class  CommentPdu
class  CommentReliablePdu
class  CreateEntityPdu
class  CreateEntityReliablePdu
class  DataPdu
class  DataQueryPdu
class  DataQueryReliablePdu
class  DataReliablePdu
class  DeadReckoningParameter
class  DesignatorPdu
class  DetonationPdu
class  DistributedEmissionsFamilyPdu
class  EightByteChunk
class  ElectronicEmissionBeamData
class  ElectronicEmissionsPdu
class  ElectronicEmissionSystemData
class  EmitterSystem
class  EntityID
class  EntityInformationFamilyPdu
class  EntityManagementFamilyPdu
class  EntityStatePdu
class  EntityStateUpdatePdu
class  EntityType
class  Environment
class  EnvironmentalProcessPdu
class  EventID
class  EventReportPdu
class  EventReportReliablePdu
class  FastEntityStatePdu
class  FirePdu
class  FixedDatum
class  FourByteChunk
class  FundamentalParameterData
class  FundamentalParameterDataIff
class  GridAxisRecord
class  GridAxisRecordRepresentation0
class  GridAxisRecordRepresentation1
class  GridAxisRecordRepresentation2
class  GriddedDataPdu
class  IffAtcNavAidsLayer1Pdu
class  IffAtcNavAidsLayer2Pdu
class  IffFundamentalData
class  IntercomCommunicationsParameters
class  IntercomControlPdu
class  IntercomSignalPdu
class  IsGroupOfPdu
class  IsPartOfPdu
class  LayerHeader
class  LinearObjectStatePdu
class  LinearSegmentParameter
class  LogisticsFamilyPdu
class  LogisticsPdu
class  Marking
class  MinefieldDataPdu
class  MinefieldFamilyPdu
class  MinefieldPduFamily
class  MinefieldQueryPdu
class  MinefieldResponseNackPdu
class  MinefieldStatePdu
class  ModulationType
class  NamedLocation
class  ObjectType
class  OneByteChunk
class  Orientation
class  Pdu
class  PduContainer
class  Point
class  PointObjectStatePdu
class  PropulsionSystemData
class  RadioCommunicationsFamilyPdu
class  RadioEntityType
class  ReceiverPdu
class  RecordQueryReliablePdu
class  RecordSet
class  Relationship
class  RemoveEntityPdu
class  RemoveEntityReliablePdu
class  RepairCompletePdu
class  RepairResponsePdu
class  ResupplyCancelPdu
class  ResupplyOfferPdu
class  ResupplyReceivedPdu
class  SeesPdu
class  ServiceRequestPdu
class  SetDataPdu
class  SetDataReliablePdu
class  SetRecordReliablePdu
class  ShaftRPMs
class  SignalPdu
class  SimulationAddress
class  SimulationManagementFamilyPdu
class  SimulationManagementWithReliabilityFamilyPdu
class  SixByteChunk
class  SphericalHarmonicAntennaPattern
class  StartResumePdu
class  StartResumeReliablePdu
class  StopFreezePdu
class  StopFreezeReliablePdu
class  SupplyQuantity
class  SyntheticEnvironmentFamilyPdu
class  SystemID
class  TrackJamTarget
class  TransferControlRequestPdu
class  TransmitterPdu
class  TwoByteChunk
class  UaPdu
class  VariableDatum
class  Vector3Double
class  Vector3Float
class  VectoringNozzleSystemData
class  WarfareFamilyPdu

Variables

const unsigned int AGG_HRT_BEAT_TIMER = 30U
const unsigned int AGG_RESPONSE_DFLT = 10U
const unsigned short ALL_AGGS = 0xFFFFU
const unsigned short ALL_APPLIC = 0xFFFFU
const unsigned short ALL_ENTITIES = 0xFFFFU
const unsigned short ALL_OBJECTS = 0xFFFFU
const unsigned short ALL_SITES = 0xFFFFU
const unsigned int APPEAR_HRT_BEAT_TIMER = 60U
const unsigned int COLLISION_ELASTIC_TO = 5U
const unsigned int COLLISION_THRSH_DFLT = 1U
const unsigned int DRA_ORIENT_THRSH_DFLT = 3U
const unsigned int DRA_POS_THRSH_DFLT = 1U
const unsigned int EE_AZ_THRSH_DFLT = 1U
const unsigned int EE_EL_THRSH_DFLT = 1U
const unsigned int EP_DIMENSION_THRSH_DFLT = 1U
const unsigned short EP_NO_SEQUENCE = 0xFFFFU
const unsigned int EP_POS_THRSH_DFLT = 1U
const unsigned int EP_STATE_THRSH_DFLT = 10U
const unsigned int GD_HRT_BEAT_TIMER = 15U
const unsigned int HRT_BEAT_MOVE_TIMER = 2U
const float HRT_BEAT_MPLIER = 2.4f
const unsigned int HRT_BEAT_TIMER = 5U
const unsigned int IFF_ATC_NAVAIDS_DFLT = 10U
const unsigned int IFF_ATC_NAVAIDS_CLAT = 2U
const unsigned int LE_HRT_BEAT_TIMER = 30
const unsigned int MINEFIELD_DATA_DFLT = 5U
const unsigned int MINEFIELD_DATA_TIMEOUT_DLFT = 5U
const unsigned int MINEFIELD_DFLT = 5U
const unsigned int MINEFIELD_RESPONSE_DFLT = 1U
const unsigned short NO_AGG = 0U
const unsigned short NO_APPLIC = 0U
const unsigned short NO_ENTITY = 0U
const unsigned int NO_FIRE_MISSION = 0U
const unsigned short NO_OBJECT = 0U
const unsigned short NO_SITE = 0U
const unsigned int REPAR_REC_T1_DFLT = 5U
const unsigned int REPAR_SUP_T1_DFLT = 12U
const unsigned int REPAR_SUP_T2_DFLT = 12U
const unsigned int RESUP_REC_T1_DFLT = 5U
const unsigned int RESUP_REC_T2_DFLT = 55U
const unsigned int RESUP_SUP_T1_DFLT = 1U
const unsigned short RQST_ASSIGN_ID = 0xFFFEU
const unsigned int SEES_NDA_THRSH_DFLT = 2U
const unsigned int SEES_PS_THRSH_DFLT = 10U
const unsigned int SEES_RPM_DELTA_THRSH_DFLT = 5U
const unsigned int SEES_STATE_UPDATE_DFLT = 3U
const unsigned int SM_REL_RETRY_CNT_DFLT = 3U
const unsigned int SM_REL_RETRY_DELAY_DFLT = 2U
const unsigned int TARGETS_IN_TJ_FIELD_DFLT = 10U
const unsigned int TI_TIMER1_DFLT = 2U
const unsigned int TI_TIMER2_DFLT = 12U
const unsigned int TR_TIMER1_DFLT = 5U
const unsigned int TR_TIMER2_DFLT = 60U
const unsigned int TRANS_ORIENT_THRSH_DFLT = 180U
const unsigned int TRANS_POS_THRSH_DFLT = 500U
const unsigned int UA_LOCATION_CHANGE_DELTA = 10U
const unsigned int UA_ORIENTATION_CHANGE_DELTA = 2U
const unsigned int UA_SRPM_CHANGE_DELTA = 5U
const unsigned int UA_SRPM_ROC_CHANGE_DELTA = 10U
const unsigned int UA_STATE_UPDATE_HRT_BEAT_TIMER = 3U
+

Detailed Description

+Symbolic names as defined in 5.1.4 +

+


Variable Documentation

+ +
+
+ + + + +
const unsigned int DIS::AGG_HRT_BEAT_TIMER = 30U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::AGG_RESPONSE_DFLT = 10U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned short DIS::ALL_AGGS = 0xFFFFU
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned short DIS::ALL_APPLIC = 0xFFFFU
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned short DIS::ALL_ENTITIES = 0xFFFFU
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned short DIS::ALL_OBJECTS = 0xFFFFU
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned short DIS::ALL_SITES = 0xFFFFU
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::APPEAR_HRT_BEAT_TIMER = 60U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::COLLISION_ELASTIC_TO = 5U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::COLLISION_THRSH_DFLT = 1U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::DRA_ORIENT_THRSH_DFLT = 3U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::DRA_POS_THRSH_DFLT = 1U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::EE_AZ_THRSH_DFLT = 1U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::EE_EL_THRSH_DFLT = 1U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::EP_DIMENSION_THRSH_DFLT = 1U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned short DIS::EP_NO_SEQUENCE = 0xFFFFU
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::EP_POS_THRSH_DFLT = 1U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::EP_STATE_THRSH_DFLT = 10U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::GD_HRT_BEAT_TIMER = 15U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::HRT_BEAT_MOVE_TIMER = 2U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const float DIS::HRT_BEAT_MPLIER = 2.4f
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::HRT_BEAT_TIMER = 5U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::IFF_ATC_NAVAIDS_CLAT = 2U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::IFF_ATC_NAVAIDS_DFLT = 10U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::LE_HRT_BEAT_TIMER = 30
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::MINEFIELD_DATA_DFLT = 5U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::MINEFIELD_DATA_TIMEOUT_DLFT = 5U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::MINEFIELD_DFLT = 5U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::MINEFIELD_RESPONSE_DFLT = 1U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned short DIS::NO_AGG = 0U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned short DIS::NO_APPLIC = 0U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned short DIS::NO_ENTITY = 0U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::NO_FIRE_MISSION = 0U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned short DIS::NO_OBJECT = 0U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned short DIS::NO_SITE = 0U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::REPAR_REC_T1_DFLT = 5U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::REPAR_SUP_T1_DFLT = 12U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::REPAR_SUP_T2_DFLT = 12U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::RESUP_REC_T1_DFLT = 5U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::RESUP_REC_T2_DFLT = 55U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::RESUP_SUP_T1_DFLT = 1U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned short DIS::RQST_ASSIGN_ID = 0xFFFEU
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::SEES_NDA_THRSH_DFLT = 2U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::SEES_PS_THRSH_DFLT = 10U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::SEES_RPM_DELTA_THRSH_DFLT = 5U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::SEES_STATE_UPDATE_DFLT = 3U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::SM_REL_RETRY_CNT_DFLT = 3U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::SM_REL_RETRY_DELAY_DFLT = 2U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::TARGETS_IN_TJ_FIELD_DFLT = 10U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::TI_TIMER1_DFLT = 2U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::TI_TIMER2_DFLT = 12U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::TR_TIMER1_DFLT = 5U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::TR_TIMER2_DFLT = 60U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::TRANS_ORIENT_THRSH_DFLT = 180U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::TRANS_POS_THRSH_DFLT = 500U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::UA_LOCATION_CHANGE_DELTA = 10U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::UA_ORIENTATION_CHANGE_DELTA = 2U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::UA_SRPM_CHANGE_DELTA = 5U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::UA_SRPM_ROC_CHANGE_DELTA = 10U
+
+
+ +

+ +

+

+ +

+
+ + + + +
const unsigned int DIS::UA_STATE_UPDATE_HRT_BEAT_TIMER = 3U
+
+
+ +

+ +

+

+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/namespacemembers.html b/cpp/docs/html/namespacemembers.html new file mode 100644 index 00000000..d70aca7e --- /dev/null +++ b/cpp/docs/html/namespacemembers.html @@ -0,0 +1,204 @@ + + +open-dis: Class Members + + + + + +
+Here is a list of all namespace members with links to the namespace documentation for each member: +

+

- a -

    +
  • AGG_HRT_BEAT_TIMER +: DIS +
  • AGG_RESPONSE_DFLT +: DIS +
  • ALL_AGGS +: DIS +
  • ALL_APPLIC +: DIS +
  • ALL_ENTITIES +: DIS +
  • ALL_OBJECTS +: DIS +
  • ALL_SITES +: DIS +
  • APPEAR_HRT_BEAT_TIMER +: DIS +
+

- c -

    +
  • COLLISION_ELASTIC_TO +: DIS +
  • COLLISION_THRSH_DFLT +: DIS +
+

- d -

    +
  • DRA_ORIENT_THRSH_DFLT +: DIS +
  • DRA_POS_THRSH_DFLT +: DIS +
+

- e -

    +
  • EE_AZ_THRSH_DFLT +: DIS +
  • EE_EL_THRSH_DFLT +: DIS +
  • EP_DIMENSION_THRSH_DFLT +: DIS +
  • EP_NO_SEQUENCE +: DIS +
  • EP_POS_THRSH_DFLT +: DIS +
  • EP_STATE_THRSH_DFLT +: DIS +
+

- g -

    +
  • GD_HRT_BEAT_TIMER +: DIS +
+

- h -

    +
  • HRT_BEAT_MOVE_TIMER +: DIS +
  • HRT_BEAT_MPLIER +: DIS +
  • HRT_BEAT_TIMER +: DIS +
+

- i -

    +
  • IFF_ATC_NAVAIDS_CLAT +: DIS +
  • IFF_ATC_NAVAIDS_DFLT +: DIS +
+

- l -

    +
  • LE_HRT_BEAT_TIMER +: DIS +
+

- m -

    +
  • MINEFIELD_DATA_DFLT +: DIS +
  • MINEFIELD_DATA_TIMEOUT_DLFT +: DIS +
  • MINEFIELD_DFLT +: DIS +
  • MINEFIELD_RESPONSE_DFLT +: DIS +
+

- n -

    +
  • NO_AGG +: DIS +
  • NO_APPLIC +: DIS +
  • NO_ENTITY +: DIS +
  • NO_FIRE_MISSION +: DIS +
  • NO_OBJECT +: DIS +
  • NO_SITE +: DIS +
+

- r -

    +
  • REPAR_REC_T1_DFLT +: DIS +
  • REPAR_SUP_T1_DFLT +: DIS +
  • REPAR_SUP_T2_DFLT +: DIS +
  • RESUP_REC_T1_DFLT +: DIS +
  • RESUP_REC_T2_DFLT +: DIS +
  • RESUP_SUP_T1_DFLT +: DIS +
  • RQST_ASSIGN_ID +: DIS +
+

- s -

    +
  • SEES_NDA_THRSH_DFLT +: DIS +
  • SEES_PS_THRSH_DFLT +: DIS +
  • SEES_RPM_DELTA_THRSH_DFLT +: DIS +
  • SEES_STATE_UPDATE_DFLT +: DIS +
  • SM_REL_RETRY_CNT_DFLT +: DIS +
  • SM_REL_RETRY_DELAY_DFLT +: DIS +
+

- t -

    +
  • TARGETS_IN_TJ_FIELD_DFLT +: DIS +
  • TI_TIMER1_DFLT +: DIS +
  • TI_TIMER2_DFLT +: DIS +
  • TR_TIMER1_DFLT +: DIS +
  • TR_TIMER2_DFLT +: DIS +
  • TRANS_ORIENT_THRSH_DFLT +: DIS +
  • TRANS_POS_THRSH_DFLT +: DIS +
+

- u -

    +
  • UA_LOCATION_CHANGE_DELTA +: DIS +
  • UA_ORIENTATION_CHANGE_DELTA +: DIS +
  • UA_SRPM_CHANGE_DELTA +: DIS +
  • UA_SRPM_ROC_CHANGE_DELTA +: DIS +
  • UA_STATE_UPDATE_HRT_BEAT_TIMER +: DIS +
+
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/namespacemembers_vars.html b/cpp/docs/html/namespacemembers_vars.html new file mode 100644 index 00000000..9b4297da --- /dev/null +++ b/cpp/docs/html/namespacemembers_vars.html @@ -0,0 +1,204 @@ + + +open-dis: Class Members + + + + + +
+  +

+

- a -

    +
  • AGG_HRT_BEAT_TIMER +: DIS +
  • AGG_RESPONSE_DFLT +: DIS +
  • ALL_AGGS +: DIS +
  • ALL_APPLIC +: DIS +
  • ALL_ENTITIES +: DIS +
  • ALL_OBJECTS +: DIS +
  • ALL_SITES +: DIS +
  • APPEAR_HRT_BEAT_TIMER +: DIS +
+

- c -

    +
  • COLLISION_ELASTIC_TO +: DIS +
  • COLLISION_THRSH_DFLT +: DIS +
+

- d -

    +
  • DRA_ORIENT_THRSH_DFLT +: DIS +
  • DRA_POS_THRSH_DFLT +: DIS +
+

- e -

    +
  • EE_AZ_THRSH_DFLT +: DIS +
  • EE_EL_THRSH_DFLT +: DIS +
  • EP_DIMENSION_THRSH_DFLT +: DIS +
  • EP_NO_SEQUENCE +: DIS +
  • EP_POS_THRSH_DFLT +: DIS +
  • EP_STATE_THRSH_DFLT +: DIS +
+

- g -

    +
  • GD_HRT_BEAT_TIMER +: DIS +
+

- h -

    +
  • HRT_BEAT_MOVE_TIMER +: DIS +
  • HRT_BEAT_MPLIER +: DIS +
  • HRT_BEAT_TIMER +: DIS +
+

- i -

    +
  • IFF_ATC_NAVAIDS_CLAT +: DIS +
  • IFF_ATC_NAVAIDS_DFLT +: DIS +
+

- l -

    +
  • LE_HRT_BEAT_TIMER +: DIS +
+

- m -

    +
  • MINEFIELD_DATA_DFLT +: DIS +
  • MINEFIELD_DATA_TIMEOUT_DLFT +: DIS +
  • MINEFIELD_DFLT +: DIS +
  • MINEFIELD_RESPONSE_DFLT +: DIS +
+

- n -

    +
  • NO_AGG +: DIS +
  • NO_APPLIC +: DIS +
  • NO_ENTITY +: DIS +
  • NO_FIRE_MISSION +: DIS +
  • NO_OBJECT +: DIS +
  • NO_SITE +: DIS +
+

- r -

    +
  • REPAR_REC_T1_DFLT +: DIS +
  • REPAR_SUP_T1_DFLT +: DIS +
  • REPAR_SUP_T2_DFLT +: DIS +
  • RESUP_REC_T1_DFLT +: DIS +
  • RESUP_REC_T2_DFLT +: DIS +
  • RESUP_SUP_T1_DFLT +: DIS +
  • RQST_ASSIGN_ID +: DIS +
+

- s -

    +
  • SEES_NDA_THRSH_DFLT +: DIS +
  • SEES_PS_THRSH_DFLT +: DIS +
  • SEES_RPM_DELTA_THRSH_DFLT +: DIS +
  • SEES_STATE_UPDATE_DFLT +: DIS +
  • SM_REL_RETRY_CNT_DFLT +: DIS +
  • SM_REL_RETRY_DELAY_DFLT +: DIS +
+

- t -

    +
  • TARGETS_IN_TJ_FIELD_DFLT +: DIS +
  • TI_TIMER1_DFLT +: DIS +
  • TI_TIMER2_DFLT +: DIS +
  • TR_TIMER1_DFLT +: DIS +
  • TR_TIMER2_DFLT +: DIS +
  • TRANS_ORIENT_THRSH_DFLT +: DIS +
  • TRANS_POS_THRSH_DFLT +: DIS +
+

- u -

    +
  • UA_LOCATION_CHANGE_DELTA +: DIS +
  • UA_ORIENTATION_CHANGE_DELTA +: DIS +
  • UA_SRPM_CHANGE_DELTA +: DIS +
  • UA_SRPM_ROC_CHANGE_DELTA +: DIS +
  • UA_STATE_UPDATE_HRT_BEAT_TIMER +: DIS +
+
+
Generated on Mon Jun 29 21:34:35 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/namespaces.html b/cpp/docs/html/namespaces.html new file mode 100644 index 00000000..4f0a0ec2 --- /dev/null +++ b/cpp/docs/html/namespaces.html @@ -0,0 +1,33 @@ + + +open-dis: Namespace Index + + + + + +
+

Namespace List

Here is a list of all namespaces with brief descriptions: + +
DIS
+
+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/symbolic__names_8h.html b/cpp/docs/html/symbolic__names_8h.html new file mode 100644 index 00000000..21b08ebe --- /dev/null +++ b/cpp/docs/html/symbolic__names_8h.html @@ -0,0 +1,160 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/symbolic_names.h File Reference + + + + + +
+

/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/symbolic_names.h File Reference

#include <DIS/EntityID.h>
+ +

+Go to the source code of this file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Namespaces

namespace  DIS

Variables

const unsigned int DIS::AGG_HRT_BEAT_TIMER = 30U
const unsigned int DIS::AGG_RESPONSE_DFLT = 10U
const unsigned short DIS::ALL_AGGS = 0xFFFFU
const unsigned short DIS::ALL_APPLIC = 0xFFFFU
const unsigned short DIS::ALL_ENTITIES = 0xFFFFU
const unsigned short DIS::ALL_OBJECTS = 0xFFFFU
const unsigned short DIS::ALL_SITES = 0xFFFFU
const unsigned int DIS::APPEAR_HRT_BEAT_TIMER = 60U
const unsigned int DIS::COLLISION_ELASTIC_TO = 5U
const unsigned int DIS::COLLISION_THRSH_DFLT = 1U
const unsigned int DIS::DRA_ORIENT_THRSH_DFLT = 3U
const unsigned int DIS::DRA_POS_THRSH_DFLT = 1U
const unsigned int DIS::EE_AZ_THRSH_DFLT = 1U
const unsigned int DIS::EE_EL_THRSH_DFLT = 1U
const unsigned int DIS::EP_DIMENSION_THRSH_DFLT = 1U
const unsigned short DIS::EP_NO_SEQUENCE = 0xFFFFU
const unsigned int DIS::EP_POS_THRSH_DFLT = 1U
const unsigned int DIS::EP_STATE_THRSH_DFLT = 10U
const unsigned int DIS::GD_HRT_BEAT_TIMER = 15U
const unsigned int DIS::HRT_BEAT_MOVE_TIMER = 2U
const float DIS::HRT_BEAT_MPLIER = 2.4f
const unsigned int DIS::HRT_BEAT_TIMER = 5U
const unsigned int DIS::IFF_ATC_NAVAIDS_DFLT = 10U
const unsigned int DIS::IFF_ATC_NAVAIDS_CLAT = 2U
const unsigned int DIS::LE_HRT_BEAT_TIMER = 30
const unsigned int DIS::MINEFIELD_DATA_DFLT = 5U
const unsigned int DIS::MINEFIELD_DATA_TIMEOUT_DLFT = 5U
const unsigned int DIS::MINEFIELD_DFLT = 5U
const unsigned int DIS::MINEFIELD_RESPONSE_DFLT = 1U
const unsigned short DIS::NO_AGG = 0U
const unsigned short DIS::NO_APPLIC = 0U
const unsigned short DIS::NO_ENTITY = 0U
const unsigned int DIS::NO_FIRE_MISSION = 0U
const unsigned short DIS::NO_OBJECT = 0U
const unsigned short DIS::NO_SITE = 0U
const unsigned int DIS::REPAR_REC_T1_DFLT = 5U
const unsigned int DIS::REPAR_SUP_T1_DFLT = 12U
const unsigned int DIS::REPAR_SUP_T2_DFLT = 12U
const unsigned int DIS::RESUP_REC_T1_DFLT = 5U
const unsigned int DIS::RESUP_REC_T2_DFLT = 55U
const unsigned int DIS::RESUP_SUP_T1_DFLT = 1U
const unsigned short DIS::RQST_ASSIGN_ID = 0xFFFEU
const unsigned int DIS::SEES_NDA_THRSH_DFLT = 2U
const unsigned int DIS::SEES_PS_THRSH_DFLT = 10U
const unsigned int DIS::SEES_RPM_DELTA_THRSH_DFLT = 5U
const unsigned int DIS::SEES_STATE_UPDATE_DFLT = 3U
const unsigned int DIS::SM_REL_RETRY_CNT_DFLT = 3U
const unsigned int DIS::SM_REL_RETRY_DELAY_DFLT = 2U
const unsigned int DIS::TARGETS_IN_TJ_FIELD_DFLT = 10U
const unsigned int DIS::TI_TIMER1_DFLT = 2U
const unsigned int DIS::TI_TIMER2_DFLT = 12U
const unsigned int DIS::TR_TIMER1_DFLT = 5U
const unsigned int DIS::TR_TIMER2_DFLT = 60U
const unsigned int DIS::TRANS_ORIENT_THRSH_DFLT = 180U
const unsigned int DIS::TRANS_POS_THRSH_DFLT = 500U
const unsigned int DIS::UA_LOCATION_CHANGE_DELTA = 10U
const unsigned int DIS::UA_ORIENTATION_CHANGE_DELTA = 2U
const unsigned int DIS::UA_SRPM_CHANGE_DELTA = 5U
const unsigned int DIS::UA_SRPM_ROC_CHANGE_DELTA = 10U
const unsigned int DIS::UA_STATE_UPDATE_HRT_BEAT_TIMER = 3U
+

+
Generated on Mon Jun 29 21:34:34 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/symbolic__names_8h_source.html b/cpp/docs/html/symbolic__names_8h_source.html new file mode 100644 index 00000000..adaecc4d --- /dev/null +++ b/cpp/docs/html/symbolic__names_8h_source.html @@ -0,0 +1,116 @@ + + +open-dis: /Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/symbolic_names.h Source File + + + + + +
Generated on Mon Jun 29 21:34:33 2009 for open-dis by  + +doxygen 1.5.9
+ + diff --git a/cpp/docs/html/tab_b.gif b/cpp/docs/html/tab_b.gif new file mode 100644 index 00000000..0d623483 Binary files /dev/null and b/cpp/docs/html/tab_b.gif differ diff --git a/cpp/docs/html/tab_l.gif b/cpp/docs/html/tab_l.gif new file mode 100644 index 00000000..9b1e6337 Binary files /dev/null and b/cpp/docs/html/tab_l.gif differ diff --git a/cpp/docs/html/tab_r.gif b/cpp/docs/html/tab_r.gif new file mode 100644 index 00000000..ce9dd9f5 Binary files /dev/null and b/cpp/docs/html/tab_r.gif differ diff --git a/cpp/docs/html/tabs.css b/cpp/docs/html/tabs.css new file mode 100644 index 00000000..ab02c624 --- /dev/null +++ b/cpp/docs/html/tabs.css @@ -0,0 +1,105 @@ +/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */ + +DIV.tabs +{ + float : left; + width : 100%; + background : url("tab_b.gif") repeat-x bottom; + margin-bottom : 4px; +} + +DIV.tabs UL +{ + margin : 0px; + padding-left : 10px; + list-style : none; +} + +DIV.tabs LI, DIV.tabs FORM +{ + display : inline; + margin : 0px; + padding : 0px; +} + +DIV.tabs FORM +{ + float : right; +} + +DIV.tabs A +{ + float : left; + background : url("tab_r.gif") no-repeat right top; + border-bottom : 1px solid #84B0C7; + font-size : 80%; + font-weight : bold; + text-decoration : none; +} + +DIV.tabs A:hover +{ + background-position: 100% -150px; +} + +DIV.tabs A:link, DIV.tabs A:visited, +DIV.tabs A:active, DIV.tabs A:hover +{ + color: #1A419D; +} + +DIV.tabs SPAN +{ + float : left; + display : block; + background : url("tab_l.gif") no-repeat left top; + padding : 5px 9px; + white-space : nowrap; +} + +DIV.tabs INPUT +{ + float : right; + display : inline; + font-size : 1em; +} + +DIV.tabs TD +{ + font-size : 80%; + font-weight : bold; + text-decoration : none; +} + + + +/* Commented Backslash Hack hides rule from IE5-Mac \*/ +DIV.tabs SPAN {float : none;} +/* End IE5-Mac hack */ + +DIV.tabs A:hover SPAN +{ + background-position: 0% -150px; +} + +DIV.tabs LI.current A +{ + background-position: 100% -150px; + border-width : 0px; +} + +DIV.tabs LI.current SPAN +{ + background-position: 0% -150px; + padding-bottom : 6px; +} + +DIV.navpath +{ + background : none; + border : none; + border-bottom : 1px solid #84B0C7; + text-align : center; + margin : 2px; + padding : 2px; +} diff --git a/cpp/docs/html/tree.html b/cpp/docs/html/tree.html new file mode 100644 index 00000000..77920de6 --- /dev/null +++ b/cpp/docs/html/tree.html @@ -0,0 +1,661 @@ + + + + + + + TreeView + + + + +
+

open-dis

+
+

o+Class List

+
+

|o*DIS::AcknowledgePdu

+

|o*DIS::AcknowledgeReliablePdu

+

|o*DIS::AcousticBeamData

+

|o*DIS::AcousticBeamFundamentalParameter

+

|o*DIS::AcousticEmitter

+

|o*DIS::AcousticEmitterSystem

+

|o*DIS::AcousticEmitterSystemData

+

|o*DIS::ActionRequestPdu

+

|o*DIS::ActionRequestReliablePdu

+

|o*DIS::ActionResponsePdu

+

|o*DIS::ActionResponseReliablePdu

+

|o*DIS::AggregateID

+

|o*DIS::AggregateMarking

+

|o*DIS::AggregateStatePdu

+

|o*DIS::AggregateType

+

|o*DIS::AngularVelocityVector

+

|o*DIS::AntennaLocation

+

|o*DIS::ApaData

+

|o*DIS::ArealObjectStatePdu

+

|o*DIS::ArticulationParameter

+

|o*DIS::BeamAntennaPattern

+

|o*DIS::BeamData

+

|o*DIS::BurstDescriptor

+

|o*DIS::ClockTime

+

|o*DIS::CollisionElasticPdu

+

|o*DIS::CollisionPdu

+

|o*DIS::CommentPdu

+

|o*DIS::CommentReliablePdu

+

|o*DIS::CreateEntityPdu

+

|o*DIS::CreateEntityReliablePdu

+

|o*DIS::DataPdu

+

|o*DIS::DataQueryPdu

+

|o*DIS::DataQueryReliablePdu

+

|o*DIS::DataReliablePdu

+

|o*DIS::DeadReckoningParameter

+

|o*DIS::DesignatorPdu

+

|o*DIS::DetonationPdu

+

|o*DIS::DistributedEmissionsFamilyPdu

+

|o*DIS::EightByteChunk

+

|o*DIS::ElectronicEmissionBeamData

+

|o*DIS::ElectronicEmissionsPdu

+

|o*DIS::ElectronicEmissionSystemData

+

|o*DIS::EmitterSystem

+

|o*DIS::EntityID

+

|o*DIS::EntityInformationFamilyPdu

+

|o*DIS::EntityManagementFamilyPdu

+

|o*DIS::EntityStatePdu

+

|o*DIS::EntityStateUpdatePdu

+

|o*DIS::EntityType

+

|o*DIS::Environment

+

|o*DIS::EnvironmentalProcessPdu

+

|o*DIS::EventID

+

|o*DIS::EventReportPdu

+

|o*DIS::EventReportReliablePdu

+

|o*DIS::FastEntityStatePdu

+

|o*DIS::FirePdu

+

|o*DIS::FixedDatum

+

|o*DIS::FourByteChunk

+

|o*DIS::FundamentalParameterData

+

|o*DIS::FundamentalParameterDataIff

+

|o*DIS::GridAxisRecord

+

|o*DIS::GridAxisRecordRepresentation0

+

|o*DIS::GridAxisRecordRepresentation1

+

|o*DIS::GridAxisRecordRepresentation2

+

|o*DIS::GriddedDataPdu

+

|o*DIS::IffAtcNavAidsLayer1Pdu

+

|o*DIS::IffAtcNavAidsLayer2Pdu

+

|o*DIS::IffFundamentalData

+

|o*DIS::IntercomCommunicationsParameters

+

|o*DIS::IntercomControlPdu

+

|o*DIS::IntercomSignalPdu

+

|o*DIS::IsGroupOfPdu

+

|o*DIS::IsPartOfPdu

+

|o*DIS::LayerHeader

+

|o*DIS::LinearObjectStatePdu

+

|o*DIS::LinearSegmentParameter

+

|o*DIS::LogisticsFamilyPdu

+

|o*DIS::LogisticsPdu

+

|o*DIS::Marking

+

|o*DIS::MinefieldDataPdu

+

|o*DIS::MinefieldFamilyPdu

+

|o*DIS::MinefieldPduFamily

+

|o*DIS::MinefieldQueryPdu

+

|o*DIS::MinefieldResponseNackPdu

+

|o*DIS::MinefieldStatePdu

+

|o*DIS::ModulationType

+

|o*DIS::NamedLocation

+

|o*DIS::ObjectType

+

|o*DIS::OneByteChunk

+

|o*DIS::Orientation

+

|o*DIS::Pdu

+

|o*DIS::PduContainer

+

|o*DIS::Point

+

|o*DIS::PointObjectStatePdu

+

|o*DIS::PropulsionSystemData

+

|o*DIS::RadioCommunicationsFamilyPdu

+

|o*DIS::RadioEntityType

+

|o*DIS::ReceiverPdu

+

|o*DIS::RecordQueryReliablePdu

+

|o*DIS::RecordSet

+

|o*DIS::Relationship

+

|o*DIS::RemoveEntityPdu

+

|o*DIS::RemoveEntityReliablePdu

+

|o*DIS::RepairCompletePdu

+

|o*DIS::RepairResponsePdu

+

|o*DIS::ResupplyCancelPdu

+

|o*DIS::ResupplyOfferPdu

+

|o*DIS::ResupplyReceivedPdu

+

|o*DIS::SeesPdu

+

|o*DIS::ServiceRequestPdu

+

|o*DIS::SetDataPdu

+

|o*DIS::SetDataReliablePdu

+

|o*DIS::SetRecordReliablePdu

+

|o*DIS::ShaftRPMs

+

|o*DIS::SignalPdu

+

|o*DIS::SimulationAddress

+

|o*DIS::SimulationManagementFamilyPdu

+

|o*DIS::SimulationManagementWithReliabilityFamilyPdu

+

|o*DIS::SixByteChunk

+

|o*DIS::SphericalHarmonicAntennaPattern

+

|o*DIS::StartResumePdu

+

|o*DIS::StartResumeReliablePdu

+

|o*DIS::StopFreezePdu

+

|o*DIS::StopFreezeReliablePdu

+

|o*DIS::SupplyQuantity

+

|o*DIS::SyntheticEnvironmentFamilyPdu

+

|o*DIS::SystemID

+

|o*DIS::TrackJamTarget

+

|o*DIS::TransferControlRequestPdu

+

|o*DIS::TransmitterPdu

+

|o*DIS::TwoByteChunk

+

|o*DIS::UaPdu

+

|o*DIS::VariableDatum

+

|o*DIS::Vector3Double

+

|o*DIS::Vector3Float

+

|o*DIS::VectoringNozzleSystemData

+

|\*DIS::WarfareFamilyPdu

+
+

o+Class Hierarchy

+
+

|o*DIS::AcousticBeamData

+

|o*DIS::AcousticBeamFundamentalParameter

+

|o*DIS::AcousticEmitter

+

|o*DIS::AcousticEmitterSystem

+

|o*DIS::AcousticEmitterSystemData

+

|o*DIS::AggregateID

+

|o*DIS::AggregateMarking

+

|o*DIS::AggregateType

+

|o*DIS::AngularVelocityVector

+

|o*DIS::AntennaLocation

+

|o*DIS::ApaData

+

|o*DIS::ArticulationParameter

+

|o*DIS::BeamAntennaPattern

+

|o*DIS::BeamData

+

|o*DIS::BurstDescriptor

+

|o*DIS::ClockTime

+

|o*DIS::DeadReckoningParameter

+

|o*DIS::EightByteChunk

+

|o*DIS::ElectronicEmissionBeamData

+

|o*DIS::ElectronicEmissionSystemData

+

|o*DIS::EmitterSystem

+

|o*DIS::EntityID

+

|o*DIS::EntityType

+

|o*DIS::Environment

+

|o*DIS::EventID

+

|o*DIS::FixedDatum

+

|o*DIS::FourByteChunk

+

|o*DIS::FundamentalParameterData

+

|o*DIS::FundamentalParameterDataIff

+

|o+DIS::GridAxisRecord

+ +

|o*DIS::IffFundamentalData

+

|o*DIS::IntercomCommunicationsParameters

+

|o*DIS::LayerHeader

+

|o*DIS::LinearSegmentParameter

+

|o*DIS::Marking

+

|o*DIS::ModulationType

+

|o*DIS::NamedLocation

+

|o*DIS::ObjectType

+

|o*DIS::OneByteChunk

+

|o*DIS::Orientation

+

|o+DIS::Pdu

+
+

||o+DIS::DistributedEmissionsFamilyPdu

+ +

||o+DIS::EntityInformationFamilyPdu

+ +

||o+DIS::EntityManagementFamilyPdu

+ +

||o+DIS::LogisticsFamilyPdu

+ +

||o*DIS::LogisticsPdu

+

||o+DIS::MinefieldFamilyPdu

+ +

||o*DIS::MinefieldPduFamily

+

||o+DIS::RadioCommunicationsFamilyPdu

+ +

||o+DIS::SimulationManagementFamilyPdu

+ +

||o+DIS::SimulationManagementWithReliabilityFamilyPdu

+ +

||o+DIS::SyntheticEnvironmentFamilyPdu

+ +

||\+DIS::WarfareFamilyPdu

+ +
+

|o*DIS::PduContainer

+

|o*DIS::Point

+

|o*DIS::PropulsionSystemData

+

|o*DIS::RadioEntityType

+

|o*DIS::RecordSet

+

|o*DIS::Relationship

+

|o*DIS::ShaftRPMs

+

|o*DIS::SimulationAddress

+

|o*DIS::SixByteChunk

+

|o*DIS::SphericalHarmonicAntennaPattern

+

|o*DIS::SupplyQuantity

+

|o*DIS::SystemID

+

|o*DIS::TrackJamTarget

+

|o*DIS::TwoByteChunk

+

|o*DIS::VariableDatum

+

|o*DIS::Vector3Double

+

|o*DIS::Vector3Float

+

|\*DIS::VectoringNozzleSystemData

+
+

o*Class Members

+

o+Namespace List

+
+

|\*DIS

+
+

o*Namespace Members

+

o+File List

+
+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcknowledgePdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcknowledgePdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcknowledgeReliablePdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcknowledgeReliablePdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticBeamData.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticBeamData.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticBeamFundamentalParameter.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticBeamFundamentalParameter.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticEmitter.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticEmitter.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticEmitterSystem.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticEmitterSystem.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticEmitterSystemData.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AcousticEmitterSystemData.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionRequestPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionRequestPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionRequestReliablePdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionRequestReliablePdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionResponsePdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionResponsePdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionResponseReliablePdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ActionResponseReliablePdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateID.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateID.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateMarking.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateMarking.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateStatePdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateStatePdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateType.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AggregateType.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AngularVelocityVector.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AngularVelocityVector.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AntennaLocation.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/AntennaLocation.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ApaData.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ApaData.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ArealObjectStatePdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ArealObjectStatePdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ArticulationParameter.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ArticulationParameter.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/BeamAntennaPattern.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/BeamAntennaPattern.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/BeamData.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/BeamData.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/BurstDescriptor.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/BurstDescriptor.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ClockTime.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ClockTime.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CollisionElasticPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CollisionElasticPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CollisionPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CollisionPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CommentPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CommentPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CommentReliablePdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CommentReliablePdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CreateEntityPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CreateEntityPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CreateEntityReliablePdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/CreateEntityReliablePdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataQueryPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataQueryPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataQueryReliablePdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataQueryReliablePdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataReliablePdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DataReliablePdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DeadReckoningParameter.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DeadReckoningParameter.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DesignatorPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DesignatorPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DetonationPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DetonationPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DistributedEmissionsFamilyPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/DistributedEmissionsFamilyPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EightByteChunk.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EightByteChunk.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ElectronicEmissionBeamData.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ElectronicEmissionBeamData.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ElectronicEmissionsPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ElectronicEmissionsPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ElectronicEmissionSystemData.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ElectronicEmissionSystemData.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EmitterSystem.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EmitterSystem.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityID.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityID.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityInformationFamilyPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityInformationFamilyPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityManagementFamilyPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityManagementFamilyPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityStatePdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityStatePdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityStateUpdatePdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityStateUpdatePdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityType.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EntityType.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Environment.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Environment.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EnvironmentalProcessPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EnvironmentalProcessPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EventID.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EventID.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EventReportPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EventReportPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EventReportReliablePdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/EventReportReliablePdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FastEntityStatePdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FastEntityStatePdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FirePdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FirePdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FixedDatum.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FixedDatum.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FourByteChunk.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FourByteChunk.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FundamentalParameterData.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FundamentalParameterData.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FundamentalParameterDataIff.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/FundamentalParameterDataIff.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecord.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecord.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecordRepresentation0.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecordRepresentation0.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecordRepresentation1.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecordRepresentation1.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecordRepresentation2.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GridAxisRecordRepresentation2.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GriddedDataPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/GriddedDataPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IffAtcNavAidsLayer1Pdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IffAtcNavAidsLayer1Pdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IffAtcNavAidsLayer2Pdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IffAtcNavAidsLayer2Pdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IffFundamentalData.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IffFundamentalData.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IntercomCommunicationsParameters.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IntercomCommunicationsParameters.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IntercomControlPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IntercomControlPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IntercomSignalPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IntercomSignalPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IsGroupOfPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IsGroupOfPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IsPartOfPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/IsPartOfPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LayerHeader.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LayerHeader.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LinearObjectStatePdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LinearObjectStatePdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LinearSegmentParameter.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LinearSegmentParameter.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LogisticsFamilyPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LogisticsFamilyPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LogisticsPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/LogisticsPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Marking.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Marking.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldDataPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldDataPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldFamilyPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldFamilyPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldPduFamily.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldPduFamily.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldQueryPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldQueryPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldResponseNackPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldResponseNackPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldStatePdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/MinefieldStatePdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ModulationType.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ModulationType.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/msLibMacro.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/NamedLocation.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/NamedLocation.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ObjectType.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ObjectType.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/OneByteChunk.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/OneByteChunk.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Orientation.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Orientation.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Pdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Pdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/PduContainer.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/PduContainer.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Point.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Point.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/PointObjectStatePdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/PointObjectStatePdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/PropulsionSystemData.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/PropulsionSystemData.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RadioCommunicationsFamilyPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RadioCommunicationsFamilyPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RadioEntityType.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RadioEntityType.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ReceiverPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ReceiverPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RecordQueryReliablePdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RecordQueryReliablePdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RecordSet.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RecordSet.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Relationship.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Relationship.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RemoveEntityPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RemoveEntityPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RemoveEntityReliablePdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RemoveEntityReliablePdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RepairCompletePdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RepairCompletePdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RepairResponsePdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/RepairResponsePdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ResupplyCancelPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ResupplyCancelPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ResupplyOfferPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ResupplyOfferPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ResupplyReceivedPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ResupplyReceivedPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SeesPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SeesPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ServiceRequestPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ServiceRequestPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SetDataPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SetDataPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SetDataReliablePdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SetDataReliablePdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SetRecordReliablePdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SetRecordReliablePdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ShaftRPMs.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/ShaftRPMs.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SignalPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SignalPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SimulationAddress.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SimulationAddress.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SimulationManagementFamilyPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SimulationManagementFamilyPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SimulationManagementWithReliabilityFamilyPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SimulationManagementWithReliabilityFamilyPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SixByteChunk.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SixByteChunk.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SphericalHarmonicAntennaPattern.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SphericalHarmonicAntennaPattern.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StartResumePdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StartResumePdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StartResumeReliablePdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StartResumeReliablePdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StopFreezePdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StopFreezePdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StopFreezeReliablePdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/StopFreezeReliablePdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SupplyQuantity.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SupplyQuantity.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/symbolic_names.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SyntheticEnvironmentFamilyPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SyntheticEnvironmentFamilyPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SystemID.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/SystemID.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TrackJamTarget.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TrackJamTarget.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TransferControlRequestPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TransferControlRequestPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TransmitterPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TransmitterPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TwoByteChunk.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/TwoByteChunk.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/UaPdu.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/UaPdu.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/VariableDatum.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/VariableDatum.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/VariableDatumOld.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Vector3Double.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Vector3Double.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Vector3Float.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/Vector3Float.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/VectoringNozzleSystemData.cpp

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/VectoringNozzleSystemData.h

+

|o*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/WarfareFamilyPdu.cpp

+

|\*/Users/mcgredo/projects/open-dis/trunk/open-dis/cpp/DIS/WarfareFamilyPdu.h

+
+

\*File Members

+
+
+ diff --git a/docs/allclasses-frame.html b/docs/allclasses-frame.html new file mode 100644 index 00000000..c4f9e4ab --- /dev/null +++ b/docs/allclasses-frame.html @@ -0,0 +1,406 @@ + + + + + + +All Classes + + + + + + + + + + +All Classes +
+ + + + + +
AcknowledgePdu +
+AcknowledgeReliablePdu +
+AcousticBeamData +
+AcousticBeamFundamentalParameter +
+AcousticEmitter +
+AcousticEmitterSystem +
+AcousticEmitterSystemData +
+ActionRequestPdu +
+ActionRequestReliablePdu +
+ActionResponsePdu +
+ActionResponseReliablePdu +
+AggregateID +
+AggregateMarking +
+AggregateStatePdu +
+AggregateType +
+AngularVelocityVector +
+AntennaLocation +
+ApaData +
+ArealObjectStatePdu +
+ArticulationParameter +
+BeamAntennaPattern +
+BeamData +
+BehaviorConsumerIF +
+BehaviorProducerIF +
+BehaviorProducerUDP +
+BehaviorWriterIF +
+BurstDescriptor +
+ClassNameComparator +
+ClockTime +
+CollisionElasticPdu +
+CollisionPdu +
+CommentPdu +
+CommentReliablePdu +
+CreateEntityPdu +
+CreateEntityReliablePdu +
+DataPdu +
+DataQueryPdu +
+DataQueryReliablePdu +
+DataReliablePdu +
+DeadReckoningParameter +
+DesignatorPdu +
+DetonationPdu +
+DIS_DeadReckoning +
+DIS_DR_FPB_06 +
+DIS_DR_FPW_02 +
+DIS_DR_FVB_09 +
+DIS_DR_FVW_05 +
+DIS_DR_RPB_07 +
+DIS_DR_RPW_03 +
+DIS_DR_RPW_03b +
+DIS_DR_RVB_08 +
+DIS_DR_RVW_04 +
+DIS_DR_RVW_04b +
+DIS_DR_Static_01 +
+DisLogger +
+DisTime +
+DistributedEmissionsFamilyPdu +
+EightByteChunk +
+ElectronicEmissionBeamData +
+ElectronicEmissionsPdu +
+ElectronicEmissionSystemData +
+EmitterSystem +
+EntityID +
+EntityInformationFamilyPdu +
+EntityManagementFamilyPdu +
+EntityStatePdu +
+EntityStateUpdatePdu +
+EntityType +
+Environment +
+EnvironmentalProcessPdu +
+EspduReceiver +
+EspduReceiverNIO +
+EspduSender +
+EspduSenderNIO +
+EventID +
+EventReportPdu +
+EventReportReliablePdu +
+FastEntityStatePdu +
+FirePdu +
+FixedDatum +
+FourByteChunk +
+FundamentalParameterData +
+FundamentalParameterDataIff +
+GridAxisRecord +
+GridAxisRecordRepresentation0 +
+GridAxisRecordRepresentation1 +
+GridAxisRecordRepresentation2 +
+GriddedDataPdu +
+IffAtcNavAidsLayer1Pdu +
+IffAtcNavAidsLayer2Pdu +
+IffFundamentalData +
+IntercomCommunicationsParameters +
+IntercomControlPdu +
+IntercomSignalPdu +
+IsGroupOfPdu +
+IsPartOfPdu +
+LayerHeader +
+LinearObjectStatePdu +
+LinearSegmentParameter +
+LogisticsFamilyPdu +
+LogReplay +
+LogWriter +
+Marking +
+MarshallExample +
+Matrix +
+Matrix3f +
+Matrix4f +
+MatrixException +
+MemoryView +
+MinefieldDataPdu +
+MinefieldFamilyPdu +
+MinefieldQueryPdu +
+MinefieldResponseNackPdu +
+MinefieldStatePdu +
+ModulationType +
+NamedLocation +
+NioServer +
+NioServer.Event +
+NioServer.Listener +
+NioServer.State +
+ObjectType +
+OneByteChunk +
+Orientation +
+Pdu +
+PduCollection +
+PduContainer +
+PduFactory +
+PduMulticastReceiver +
+PduMulticastReceiver.Event +
+PduMulticastReceiver.Listener +
+PduNioMulticastReceiver +
+PduNioMulticastReceiver.Event +
+PduNioMulticastReceiver.Listener +
+PduSender +
+Point +
+PointObjectStatePdu +
+PropulsionSystemData +
+Quaternion +
+Quaternion2 +
+RadioCommunicationsFamilyPdu +
+RadioEntityType +
+ReceiverPdu +
+ReceiverPerformance +
+RecordQueryReliablePdu +
+RecordSet +
+Relationship +
+RemoveEntityPdu +
+RemoveEntityReliablePdu +
+RepairCompletePdu +
+RepairResponsePdu +
+ResupplyCancelPdu +
+ResupplyOfferPdu +
+ResupplyReceivedPdu +
+SeesPdu +
+ServiceRequestPdu +
+SetDataPdu +
+SetDataReliablePdu +
+SetRecordReliablePdu +
+ShaftRPMs +
+SignalPdu +
+SimulationAddress +
+SimulationManagementFamilyPdu +
+SimulationManagementWithReliabilityFamilyPdu +
+SixByteChunk +
+SphericalHarmonicAntennaPattern +
+StartResumePdu +
+StartResumeReliablePdu +
+StopFreezePdu +
+StopFreezeReliablePdu +
+SupplyQuantity +
+SyntheticEnvironmentFamilyPdu +
+SystemID +
+TimestampComparator +
+TrackJamTarget +
+TransferControlRequestPdu +
+TransmitterPdu +
+TwoByteChunk +
+UaPdu +
+UdpServer +
+UdpServer.Event +
+UdpServer.Listener +
+UdpServer.State +
+VariableDatum +
+Vec3f +
+Vec4f +
+Vector3Double +
+Vector3Float +
+VectoringNozzleSystemData +
+WarfareFamilyPdu +
+
+ + + diff --git a/docs/allclasses-noframe.html b/docs/allclasses-noframe.html new file mode 100644 index 00000000..a7e3a467 --- /dev/null +++ b/docs/allclasses-noframe.html @@ -0,0 +1,406 @@ + + + + + + +All Classes + + + + + + + + + + +All Classes +
+ + + + + +
AcknowledgePdu +
+AcknowledgeReliablePdu +
+AcousticBeamData +
+AcousticBeamFundamentalParameter +
+AcousticEmitter +
+AcousticEmitterSystem +
+AcousticEmitterSystemData +
+ActionRequestPdu +
+ActionRequestReliablePdu +
+ActionResponsePdu +
+ActionResponseReliablePdu +
+AggregateID +
+AggregateMarking +
+AggregateStatePdu +
+AggregateType +
+AngularVelocityVector +
+AntennaLocation +
+ApaData +
+ArealObjectStatePdu +
+ArticulationParameter +
+BeamAntennaPattern +
+BeamData +
+BehaviorConsumerIF +
+BehaviorProducerIF +
+BehaviorProducerUDP +
+BehaviorWriterIF +
+BurstDescriptor +
+ClassNameComparator +
+ClockTime +
+CollisionElasticPdu +
+CollisionPdu +
+CommentPdu +
+CommentReliablePdu +
+CreateEntityPdu +
+CreateEntityReliablePdu +
+DataPdu +
+DataQueryPdu +
+DataQueryReliablePdu +
+DataReliablePdu +
+DeadReckoningParameter +
+DesignatorPdu +
+DetonationPdu +
+DIS_DeadReckoning +
+DIS_DR_FPB_06 +
+DIS_DR_FPW_02 +
+DIS_DR_FVB_09 +
+DIS_DR_FVW_05 +
+DIS_DR_RPB_07 +
+DIS_DR_RPW_03 +
+DIS_DR_RPW_03b +
+DIS_DR_RVB_08 +
+DIS_DR_RVW_04 +
+DIS_DR_RVW_04b +
+DIS_DR_Static_01 +
+DisLogger +
+DisTime +
+DistributedEmissionsFamilyPdu +
+EightByteChunk +
+ElectronicEmissionBeamData +
+ElectronicEmissionsPdu +
+ElectronicEmissionSystemData +
+EmitterSystem +
+EntityID +
+EntityInformationFamilyPdu +
+EntityManagementFamilyPdu +
+EntityStatePdu +
+EntityStateUpdatePdu +
+EntityType +
+Environment +
+EnvironmentalProcessPdu +
+EspduReceiver +
+EspduReceiverNIO +
+EspduSender +
+EspduSenderNIO +
+EventID +
+EventReportPdu +
+EventReportReliablePdu +
+FastEntityStatePdu +
+FirePdu +
+FixedDatum +
+FourByteChunk +
+FundamentalParameterData +
+FundamentalParameterDataIff +
+GridAxisRecord +
+GridAxisRecordRepresentation0 +
+GridAxisRecordRepresentation1 +
+GridAxisRecordRepresentation2 +
+GriddedDataPdu +
+IffAtcNavAidsLayer1Pdu +
+IffAtcNavAidsLayer2Pdu +
+IffFundamentalData +
+IntercomCommunicationsParameters +
+IntercomControlPdu +
+IntercomSignalPdu +
+IsGroupOfPdu +
+IsPartOfPdu +
+LayerHeader +
+LinearObjectStatePdu +
+LinearSegmentParameter +
+LogisticsFamilyPdu +
+LogReplay +
+LogWriter +
+Marking +
+MarshallExample +
+Matrix +
+Matrix3f +
+Matrix4f +
+MatrixException +
+MemoryView +
+MinefieldDataPdu +
+MinefieldFamilyPdu +
+MinefieldQueryPdu +
+MinefieldResponseNackPdu +
+MinefieldStatePdu +
+ModulationType +
+NamedLocation +
+NioServer +
+NioServer.Event +
+NioServer.Listener +
+NioServer.State +
+ObjectType +
+OneByteChunk +
+Orientation +
+Pdu +
+PduCollection +
+PduContainer +
+PduFactory +
+PduMulticastReceiver +
+PduMulticastReceiver.Event +
+PduMulticastReceiver.Listener +
+PduNioMulticastReceiver +
+PduNioMulticastReceiver.Event +
+PduNioMulticastReceiver.Listener +
+PduSender +
+Point +
+PointObjectStatePdu +
+PropulsionSystemData +
+Quaternion +
+Quaternion2 +
+RadioCommunicationsFamilyPdu +
+RadioEntityType +
+ReceiverPdu +
+ReceiverPerformance +
+RecordQueryReliablePdu +
+RecordSet +
+Relationship +
+RemoveEntityPdu +
+RemoveEntityReliablePdu +
+RepairCompletePdu +
+RepairResponsePdu +
+ResupplyCancelPdu +
+ResupplyOfferPdu +
+ResupplyReceivedPdu +
+SeesPdu +
+ServiceRequestPdu +
+SetDataPdu +
+SetDataReliablePdu +
+SetRecordReliablePdu +
+ShaftRPMs +
+SignalPdu +
+SimulationAddress +
+SimulationManagementFamilyPdu +
+SimulationManagementWithReliabilityFamilyPdu +
+SixByteChunk +
+SphericalHarmonicAntennaPattern +
+StartResumePdu +
+StartResumeReliablePdu +
+StopFreezePdu +
+StopFreezeReliablePdu +
+SupplyQuantity +
+SyntheticEnvironmentFamilyPdu +
+SystemID +
+TimestampComparator +
+TrackJamTarget +
+TransferControlRequestPdu +
+TransmitterPdu +
+TwoByteChunk +
+UaPdu +
+UdpServer +
+UdpServer.Event +
+UdpServer.Listener +
+UdpServer.State +
+VariableDatum +
+Vec3f +
+Vec4f +
+Vector3Double +
+Vector3Float +
+VectoringNozzleSystemData +
+WarfareFamilyPdu +
+
+ + + diff --git a/docs/constant-values.html b/docs/constant-values.html new file mode 100644 index 00000000..61d40a01 --- /dev/null +++ b/docs/constant-values.html @@ -0,0 +1,480 @@ + + + + + + +Constant Field Values + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Constant Field Values

+
+
+Contents + + + + + + +
+edu.nps.*
+ +

+ + + + + + + + + + + + + + + + + +
edu.nps.moves.dis.Pdu
+public static final intABSOLUTE_TIMESTAMP_MASK1
+public static final intRELATIVE_TIMESTAMP_MASK-2
+ +

+ +

+ + + + + + + + + + + + + + + + + +
edu.nps.moves.disutil.DisTime
+public static final intABSOLUTE_TIMESTAMP_MASK1
+public static final intRELATIVE_TIMESTAMP_MASK-2
+ +

+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
edu.nps.moves.disutil.NioServer
+public static final java.lang.StringBUFFER_SIZE_PROP"bufferSize"
+public static final java.lang.StringLAST_EXCEPTION_PROP"lastException"
+public static final java.lang.StringSINGLE_TCP_PORT_PROP"singleTcpPort"
+public static final java.lang.StringSINGLE_UDP_PORT_PROP"singleUdpPort"
+public static final java.lang.StringSTATE_PROP"state"
+public static final java.lang.StringTCP_BINDINGS_PROP"tcpBindings"
+public static final java.lang.StringUDP_BINDINGS_PROP"udpBindings"
+ +

+ +

+ + + + + + + + + + + + + + + + + +
edu.nps.moves.disutil.UdpServer
+public static final java.lang.StringGROUPS_PROP"groups"
+public static final java.lang.StringPORT_PROP"port"
+ +

+ +

+ + + + + + + + + + + + +
edu.nps.moves.examples.EspduReceiver
+public static final intMAX_PDU_SIZE8192
+ +

+ +

+ + + + + + + + + + + + +
edu.nps.moves.examples.EspduReceiverNIO
+public static final intMAX_PDU_SIZE8192
+ +

+ +

+ + + + + + + + + + + + + + + + + +
edu.nps.moves.examples.EspduSender
+public static final java.lang.StringMULTICAST_GROUP"239.1.2.3"
+public static final intPORT62040
+ +

+ +

+ + + + + + + + + + + + + + + + + +
edu.nps.moves.examples.EspduSenderNIO
+public static final java.lang.StringMULTICAST_GROUP"239.1.2.3"
+public static final intPORT62040
+ +

+ +

+ + + + + + + + + + + + + + + + + +
edu.nps.moves.examples.PduSender
+public static final java.lang.StringMULTICAST_ADDRESS"239.1.2.3"
+public static final intPORT62040
+ +

+ +

+ + + + + + + + + + + + + + + + + + + + + + +
edu.nps.moves.examples.ReceiverPerformance
+public static final java.lang.StringMULTICAST_GROUP"239.1.2.3"
+public static final intPORT62040
+public static final booleanUSE_FAST_ESPDUfalse
+ +

+ +

+ + + + + + + + + + + + + + + + + + + + + + +
edu.nps.moves.logger.DisLogger
+public static final intMAX_PDU_LOGFILE_SIZE100
+public static final intMAX_PDU_SIZE2048
+public static final intREAD_TIMEOUT5000
+ +

+ +

+ + + + + + + + + + + + +
edu.nps.moves.logger.LogReplay
+public static final intMIN_SLEEP_TIME2
+ +

+ +

+ + + + + + + + + + + + +
edu.nps.moves.net.BehaviorProducerUDP
+public static final intMTU_SIZE1500
+ +

+ +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+ + + diff --git a/docs/deprecated-list.html b/docs/deprecated-list.html new file mode 100644 index 00000000..55909fb5 --- /dev/null +++ b/docs/deprecated-list.html @@ -0,0 +1,140 @@ + + + + + + +Deprecated List + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Deprecated API

+
+
+Contents
    +
+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+ + + diff --git a/docs/edu/nps/moves/deadreckoning/DIS_DR_FPB_06.html b/docs/edu/nps/moves/deadreckoning/DIS_DR_FPB_06.html new file mode 100644 index 00000000..4e2f2287 --- /dev/null +++ b/docs/edu/nps/moves/deadreckoning/DIS_DR_FPB_06.html @@ -0,0 +1,297 @@ + + + + + + +DIS_DR_FPB_06 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +edu.nps.moves.deadreckoning +
+Class DIS_DR_FPB_06

+
+java.lang.Object
+  extended by edu.nps.moves.deadreckoning.DIS_DeadReckoning
+      extended by edu.nps.moves.deadreckoning.DIS_DR_FPB_06
+
+
+
All Implemented Interfaces:
java.lang.Runnable
+
+
+
+
public class DIS_DR_FPB_06
extends DIS_DeadReckoning
+ + +

+(SECONDARY Methods Group) Fixed, rate of position, body coordinates || + Linear motion without rotation +

+ it is coded up, but the linear motion does not seem to work.... +

+ The alogrithm is coded IAW IEEE 1278.1-1995 so perhaps it is a + coordinate change of basis issue and since I am not working in both world + and body coordinates, it fails or limits to 0 +

+ +

+

+
Author:
+
Sheldon L. Snyder
+
+
+ +

+ + + + + + + +
+Field Summary
+ + + + + + + +
Fields inherited from class edu.nps.moves.deadreckoning.DIS_DeadReckoning
aThread, changeDelta, deltaCt, entityAngularVelocity_X, entityAngularVelocity_Y, entityAngularVelocity_Z, entityLinearAcceleration_X, entityLinearAcceleration_Y, entityLinearAcceleration_Z, entityLinearVelocity_X, entityLinearVelocity_Y, entityLinearVelocity_Z, entityLocation_X, entityLocation_Y, entityLocation_Z, entityOrientation_phi, entityOrientation_psi, entityOrientation_theta, fps, stall
+  + + + + + + + + + + +
+Constructor Summary
DIS_DR_FPB_06() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+ voidrun() + +
+          The driver for a DIS_DR_FPB_06 DR algorithm from the Runnable interface
+ + + + + + + +
Methods inherited from class edu.nps.moves.deadreckoning.DIS_DeadReckoning
getUpdatedPositionOrientation, setFPS, setNewAll, toString
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+DIS_DR_FPB_06

+
+public DIS_DR_FPB_06()
+
+
+ + + + + + + + +
+Method Detail
+ +

+run

+
+public void run()
+
+
The driver for a DIS_DR_FPB_06 DR algorithm from the Runnable interface +

+ linear motion only without rotation +

+

+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ + + diff --git a/docs/edu/nps/moves/deadreckoning/DIS_DR_FPW_02.html b/docs/edu/nps/moves/deadreckoning/DIS_DR_FPW_02.html new file mode 100644 index 00000000..e7c5afb0 --- /dev/null +++ b/docs/edu/nps/moves/deadreckoning/DIS_DR_FPW_02.html @@ -0,0 +1,296 @@ + + + + + + +DIS_DR_FPW_02 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +edu.nps.moves.deadreckoning +
+Class DIS_DR_FPW_02

+
+java.lang.Object
+  extended by edu.nps.moves.deadreckoning.DIS_DeadReckoning
+      extended by edu.nps.moves.deadreckoning.DIS_DR_FPW_02
+
+
+
All Implemented Interfaces:
java.lang.Runnable
+
+
+
+
public class DIS_DR_FPW_02
extends DIS_DeadReckoning
+ + +

+(PRIMARY Methods group) Fixed, Rate of Positon, World || Constant Linear motion +

+ +

+

+
Author:
+
Sheldon L. Snyder
+
+
+ +

+ + + + + + + +
+Field Summary
+ + + + + + + +
Fields inherited from class edu.nps.moves.deadreckoning.DIS_DeadReckoning
aThread, changeDelta, deltaCt, entityAngularVelocity_X, entityAngularVelocity_Y, entityAngularVelocity_Z, entityLinearAcceleration_X, entityLinearAcceleration_Y, entityLinearAcceleration_Z, entityLinearVelocity_X, entityLinearVelocity_Y, entityLinearVelocity_Z, entityLocation_X, entityLocation_Y, entityLocation_Z, entityOrientation_phi, entityOrientation_psi, entityOrientation_theta, fps, stall
+  + + + + + + + + + + +
+Constructor Summary
DIS_DR_FPW_02() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+ voidrun() + +
+          The driver for a DIS_DR_FPW_02 DR algorithm from the Runnable interface
+ + + + + + + +
Methods inherited from class edu.nps.moves.deadreckoning.DIS_DeadReckoning
getUpdatedPositionOrientation, setFPS, setNewAll, toString
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+DIS_DR_FPW_02

+
+public DIS_DR_FPW_02()
+
+
+ + + + + + + + +
+Method Detail
+ +

+run

+
+public void run()
+
+
The driver for a DIS_DR_FPW_02 DR algorithm from the Runnable interface +

+ Updates the position of this entity +

+ P_new = P_original + LinVel * delta * t +

+ called by thread.start() in the super class +

+ Velocity is the speed that a entity is moving...linear constant speed +

+

+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ + + diff --git a/docs/edu/nps/moves/deadreckoning/DIS_DR_FVB_09.html b/docs/edu/nps/moves/deadreckoning/DIS_DR_FVB_09.html new file mode 100644 index 00000000..05b957ee --- /dev/null +++ b/docs/edu/nps/moves/deadreckoning/DIS_DR_FVB_09.html @@ -0,0 +1,297 @@ + + + + + + +DIS_DR_FVB_09 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +edu.nps.moves.deadreckoning +
+Class DIS_DR_FVB_09

+
+java.lang.Object
+  extended by edu.nps.moves.deadreckoning.DIS_DeadReckoning
+      extended by edu.nps.moves.deadreckoning.DIS_DR_FVB_09
+
+
+
All Implemented Interfaces:
java.lang.Runnable
+
+
+
+
public class DIS_DR_FVB_09
extends DIS_DeadReckoning
+ + +

+(SECONDARY Methods Group) Fixed, rate of velocity, body coordinates || + Linear Motion with Rotation +

+ it is coded up, but the linear motion does not seem to work.... +

+ The alogrithm is coded IAW IEEE 1278.1-1995 so perhaps it is a + coordinate change of basis issue and since I am not working in both world + and body coordinates, it fails or limits to 0 +

+ +

+

+
Author:
+
Sheldon L. Snyder
+
+
+ +

+ + + + + + + +
+Field Summary
+ + + + + + + +
Fields inherited from class edu.nps.moves.deadreckoning.DIS_DeadReckoning
aThread, changeDelta, deltaCt, entityAngularVelocity_X, entityAngularVelocity_Y, entityAngularVelocity_Z, entityLinearAcceleration_X, entityLinearAcceleration_Y, entityLinearAcceleration_Z, entityLinearVelocity_X, entityLinearVelocity_Y, entityLinearVelocity_Z, entityLocation_X, entityLocation_Y, entityLocation_Z, entityOrientation_phi, entityOrientation_psi, entityOrientation_theta, fps, stall
+  + + + + + + + + + + +
+Constructor Summary
DIS_DR_FVB_09() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+ voidrun() + +
+          The driver for a DIS_DR_FVB_09 DR algorithm from the Runnable interface
+ + + + + + + +
Methods inherited from class edu.nps.moves.deadreckoning.DIS_DeadReckoning
getUpdatedPositionOrientation, setFPS, setNewAll, toString
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+DIS_DR_FVB_09

+
+public DIS_DR_FVB_09()
+
+
+ + + + + + + + +
+Method Detail
+ +

+run

+
+public void run()
+
+
The driver for a DIS_DR_FVB_09 DR algorithm from the Runnable interface +

+ linear motion only without rotation +

+

+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ + + diff --git a/docs/edu/nps/moves/deadreckoning/DIS_DR_FVW_05.html b/docs/edu/nps/moves/deadreckoning/DIS_DR_FVW_05.html new file mode 100644 index 00000000..090bea58 --- /dev/null +++ b/docs/edu/nps/moves/deadreckoning/DIS_DR_FVW_05.html @@ -0,0 +1,291 @@ + + + + + + +DIS_DR_FVW_05 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +edu.nps.moves.deadreckoning +
+Class DIS_DR_FVW_05

+
+java.lang.Object
+  extended by edu.nps.moves.deadreckoning.DIS_DeadReckoning
+      extended by edu.nps.moves.deadreckoning.DIS_DR_FVW_05
+
+
+
All Implemented Interfaces:
java.lang.Runnable
+
+
+
+
public class DIS_DR_FVW_05
extends DIS_DeadReckoning
+ + +

+(PRIMARY Methods group) Fixed, rate of velocity, world coordinates || Linear Motion with + Acceleration but no rotation +

+ +

+

+
Author:
+
Sheldon L. Snyder
+
+
+ +

+ + + + + + + +
+Field Summary
+ + + + + + + +
Fields inherited from class edu.nps.moves.deadreckoning.DIS_DeadReckoning
aThread, changeDelta, deltaCt, entityAngularVelocity_X, entityAngularVelocity_Y, entityAngularVelocity_Z, entityLinearAcceleration_X, entityLinearAcceleration_Y, entityLinearAcceleration_Z, entityLinearVelocity_X, entityLinearVelocity_Y, entityLinearVelocity_Z, entityLocation_X, entityLocation_Y, entityLocation_Z, entityOrientation_phi, entityOrientation_psi, entityOrientation_theta, fps, stall
+  + + + + + + + + + + +
+Constructor Summary
DIS_DR_FVW_05() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+ voidrun() + +
+          The driver for a DIS_DR_FVW_05 DR algorithm from the Runnable interface
+ + + + + + + +
Methods inherited from class edu.nps.moves.deadreckoning.DIS_DeadReckoning
getUpdatedPositionOrientation, setFPS, setNewAll, toString
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+DIS_DR_FVW_05

+
+public DIS_DR_FVW_05()
+
+
+ + + + + + + + +
+Method Detail
+ +

+run

+
+public void run()
+
+
The driver for a DIS_DR_FVW_05 DR algorithm from the Runnable interface +

+ Linear motion with acceleration without rotation +

+

+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ + + diff --git a/docs/edu/nps/moves/deadreckoning/DIS_DR_RPB_07.html b/docs/edu/nps/moves/deadreckoning/DIS_DR_RPB_07.html new file mode 100644 index 00000000..9ff04166 --- /dev/null +++ b/docs/edu/nps/moves/deadreckoning/DIS_DR_RPB_07.html @@ -0,0 +1,299 @@ + + + + + + +DIS_DR_RPB_07 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +edu.nps.moves.deadreckoning +
+Class DIS_DR_RPB_07

+
+java.lang.Object
+  extended by edu.nps.moves.deadreckoning.DIS_DeadReckoning
+      extended by edu.nps.moves.deadreckoning.DIS_DR_RPB_07
+
+
+
All Implemented Interfaces:
java.lang.Runnable
+
+
+
+
public class DIS_DR_RPB_07
extends DIS_DeadReckoning
+ + +

+(SECONDARY Methods Group) Rotating, rate of position, body coordinates || + Linear motion with Rotation +

+ it is coded up, but the linear motion does not seem to work....rotation + works but linear motion fails...not sure why they are calculating the + linear motion the way they are... +

+ The alogrithm is coded IAW IEEE 1278.1-1995 so perhaps it is a + coordinate change of basis issue and since I am not working in both world + and body coordinates, it fails or limits to 0 +

+ +

+

+
Author:
+
Sheldon L. Snyder
+
+
+ +

+ + + + + + + +
+Field Summary
+ + + + + + + +
Fields inherited from class edu.nps.moves.deadreckoning.DIS_DeadReckoning
aThread, changeDelta, deltaCt, entityAngularVelocity_X, entityAngularVelocity_Y, entityAngularVelocity_Z, entityLinearAcceleration_X, entityLinearAcceleration_Y, entityLinearAcceleration_Z, entityLinearVelocity_X, entityLinearVelocity_Y, entityLinearVelocity_Z, entityLocation_X, entityLocation_Y, entityLocation_Z, entityOrientation_phi, entityOrientation_psi, entityOrientation_theta, fps, stall
+  + + + + + + + + + + +
+Constructor Summary
DIS_DR_RPB_07() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+ voidrun() + +
+          The driver for a DIS_DR_RPB_07 DR algorithm from the Runnable interface
+ + + + + + + +
Methods inherited from class edu.nps.moves.deadreckoning.DIS_DeadReckoning
getUpdatedPositionOrientation, setFPS, setNewAll, toString
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+DIS_DR_RPB_07

+
+public DIS_DR_RPB_07()
+
+
+ + + + + + + + +
+Method Detail
+ +

+run

+
+public void run()
+
+
The driver for a DIS_DR_RPB_07 DR algorithm from the Runnable interface +

+ linear motion and rotation +

+

+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ + + diff --git a/docs/edu/nps/moves/deadreckoning/DIS_DR_RPW_03.html b/docs/edu/nps/moves/deadreckoning/DIS_DR_RPW_03.html new file mode 100644 index 00000000..cb556e98 --- /dev/null +++ b/docs/edu/nps/moves/deadreckoning/DIS_DR_RPW_03.html @@ -0,0 +1,295 @@ + + + + + + +DIS_DR_RPW_03 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +edu.nps.moves.deadreckoning +
+Class DIS_DR_RPW_03

+
+java.lang.Object
+  extended by edu.nps.moves.deadreckoning.DIS_DeadReckoning
+      extended by edu.nps.moves.deadreckoning.DIS_DR_RPW_03
+
+
+
All Implemented Interfaces:
java.lang.Runnable
+
+
+
+
public class DIS_DR_RPW_03
extends DIS_DeadReckoning
+ + +

+(PRIMARY Methods group) Rotating, rate of position, world coordinates || Constant Linear motion with + Rotation +

+ I am not sure about the transformation between world and body coordinates + This does not seem to return what I would expect...but it does follow the + IEEE algorithms. +

+ +

+

+
Author:
+
Sheldon L. Snyder
+
+
+ +

+ + + + + + + +
+Field Summary
+ + + + + + + +
Fields inherited from class edu.nps.moves.deadreckoning.DIS_DeadReckoning
aThread, changeDelta, deltaCt, entityAngularVelocity_X, entityAngularVelocity_Y, entityAngularVelocity_Z, entityLinearAcceleration_X, entityLinearAcceleration_Y, entityLinearAcceleration_Z, entityLinearVelocity_X, entityLinearVelocity_Y, entityLinearVelocity_Z, entityLocation_X, entityLocation_Y, entityLocation_Z, entityOrientation_phi, entityOrientation_psi, entityOrientation_theta, fps, stall
+  + + + + + + + + + + +
+Constructor Summary
DIS_DR_RPW_03() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+ voidrun() + +
+          The driver for a DIS_DR_RPW_03 DR algorithm from the Runnable interface
+ + + + + + + +
Methods inherited from class edu.nps.moves.deadreckoning.DIS_DeadReckoning
getUpdatedPositionOrientation, setFPS, setNewAll, toString
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+DIS_DR_RPW_03

+
+public DIS_DR_RPW_03()
+
+
+ + + + + + + + +
+Method Detail
+ +

+run

+
+public void run()
+
+
The driver for a DIS_DR_RPW_03 DR algorithm from the Runnable interface +

+ Rotation and linear motion +

+

+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ + + diff --git a/docs/edu/nps/moves/deadreckoning/DIS_DR_RPW_03b.html b/docs/edu/nps/moves/deadreckoning/DIS_DR_RPW_03b.html new file mode 100644 index 00000000..196dead9 --- /dev/null +++ b/docs/edu/nps/moves/deadreckoning/DIS_DR_RPW_03b.html @@ -0,0 +1,295 @@ + + + + + + +DIS_DR_RPW_03b + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +edu.nps.moves.deadreckoning +
+Class DIS_DR_RPW_03b

+
+java.lang.Object
+  extended by edu.nps.moves.deadreckoning.DIS_DeadReckoning
+      extended by edu.nps.moves.deadreckoning.DIS_DR_RPW_03b
+
+
+
All Implemented Interfaces:
java.lang.Runnable
+
+
+
+
public class DIS_DR_RPW_03b
extends DIS_DeadReckoning
+ + +

+(PRIMARY Methods group) Rotating, rate of position, world coordinates || Constant Linear motion with + Rotation (Alternative non-IEEE) +

+ Doesn't follow the IEEE standard algorithms +

+ Takes a more straightforward approach to rotation +

+ +

+

+
Author:
+
Sheldon L. Snyder
+
+
+ +

+ + + + + + + +
+Field Summary
+ + + + + + + +
Fields inherited from class edu.nps.moves.deadreckoning.DIS_DeadReckoning
aThread, changeDelta, deltaCt, entityAngularVelocity_X, entityAngularVelocity_Y, entityAngularVelocity_Z, entityLinearAcceleration_X, entityLinearAcceleration_Y, entityLinearAcceleration_Z, entityLinearVelocity_X, entityLinearVelocity_Y, entityLinearVelocity_Z, entityLocation_X, entityLocation_Y, entityLocation_Z, entityOrientation_phi, entityOrientation_psi, entityOrientation_theta, fps, stall
+  + + + + + + + + + + +
+Constructor Summary
DIS_DR_RPW_03b() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+ voidrun() + +
+          The driver for a DIS_DR_RPW_03b DR algorithm from the Runnable interface
+ + + + + + + +
Methods inherited from class edu.nps.moves.deadreckoning.DIS_DeadReckoning
getUpdatedPositionOrientation, setFPS, setNewAll, toString
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+DIS_DR_RPW_03b

+
+public DIS_DR_RPW_03b()
+
+
+ + + + + + + + +
+Method Detail
+ +

+run

+
+public void run()
+
+
The driver for a DIS_DR_RPW_03b DR algorithm from the Runnable interface +

+ Rotation and linear motion +

+

+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ + + diff --git a/docs/edu/nps/moves/deadreckoning/DIS_DR_RVB_08.html b/docs/edu/nps/moves/deadreckoning/DIS_DR_RVB_08.html new file mode 100644 index 00000000..f3786628 --- /dev/null +++ b/docs/edu/nps/moves/deadreckoning/DIS_DR_RVB_08.html @@ -0,0 +1,299 @@ + + + + + + +DIS_DR_RVB_08 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +edu.nps.moves.deadreckoning +
+Class DIS_DR_RVB_08

+
+java.lang.Object
+  extended by edu.nps.moves.deadreckoning.DIS_DeadReckoning
+      extended by edu.nps.moves.deadreckoning.DIS_DR_RVB_08
+
+
+
All Implemented Interfaces:
java.lang.Runnable
+
+
+
+
public class DIS_DR_RVB_08
extends DIS_DeadReckoning
+ + +

+(SECONDARY Methods Group) Rotating, rate of velocity, body coordinates || + Linear motion with Rotation +

+ it is coded up, but the linear motion does not seem to work....rotation + works but linear motion fails...not sure why they are calculating the + linear motion the way they are... +

+ The alogrithm is coded IAW IEEE 1278.1-1995 so perhaps it is a + coordinate change of basis issue and since I am not working in both world + and body coordinates, it fails or limits to 0 +

+ +

+

+
Author:
+
Sheldon L. Snyder
+
+
+ +

+ + + + + + + +
+Field Summary
+ + + + + + + +
Fields inherited from class edu.nps.moves.deadreckoning.DIS_DeadReckoning
aThread, changeDelta, deltaCt, entityAngularVelocity_X, entityAngularVelocity_Y, entityAngularVelocity_Z, entityLinearAcceleration_X, entityLinearAcceleration_Y, entityLinearAcceleration_Z, entityLinearVelocity_X, entityLinearVelocity_Y, entityLinearVelocity_Z, entityLocation_X, entityLocation_Y, entityLocation_Z, entityOrientation_phi, entityOrientation_psi, entityOrientation_theta, fps, stall
+  + + + + + + + + + + +
+Constructor Summary
DIS_DR_RVB_08() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+ voidrun() + +
+          The driver for a DIS_DR_RVB_08 DR algorithm from the Runnable interface
+ + + + + + + +
Methods inherited from class edu.nps.moves.deadreckoning.DIS_DeadReckoning
getUpdatedPositionOrientation, setFPS, setNewAll, toString
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+DIS_DR_RVB_08

+
+public DIS_DR_RVB_08()
+
+
+ + + + + + + + +
+Method Detail
+ +

+run

+
+public void run()
+
+
The driver for a DIS_DR_RVB_08 DR algorithm from the Runnable interface +

+ linear motion and rotation +

+

+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ + + diff --git a/docs/edu/nps/moves/deadreckoning/DIS_DR_RVW_04.html b/docs/edu/nps/moves/deadreckoning/DIS_DR_RVW_04.html new file mode 100644 index 00000000..6552c933 --- /dev/null +++ b/docs/edu/nps/moves/deadreckoning/DIS_DR_RVW_04.html @@ -0,0 +1,291 @@ + + + + + + +DIS_DR_RVW_04 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +edu.nps.moves.deadreckoning +
+Class DIS_DR_RVW_04

+
+java.lang.Object
+  extended by edu.nps.moves.deadreckoning.DIS_DeadReckoning
+      extended by edu.nps.moves.deadreckoning.DIS_DR_RVW_04
+
+
+
All Implemented Interfaces:
java.lang.Runnable
+
+
+
+
public class DIS_DR_RVW_04
extends DIS_DeadReckoning
+ + +

+(PRIMARY Methods group) Rotating, rate of velocity, world coordinates || Linear Motion with + Acceleration and rotation +

+ +

+

+
Author:
+
Sheldon L. Snyder
+
+
+ +

+ + + + + + + +
+Field Summary
+ + + + + + + +
Fields inherited from class edu.nps.moves.deadreckoning.DIS_DeadReckoning
aThread, changeDelta, deltaCt, entityAngularVelocity_X, entityAngularVelocity_Y, entityAngularVelocity_Z, entityLinearAcceleration_X, entityLinearAcceleration_Y, entityLinearAcceleration_Z, entityLinearVelocity_X, entityLinearVelocity_Y, entityLinearVelocity_Z, entityLocation_X, entityLocation_Y, entityLocation_Z, entityOrientation_phi, entityOrientation_psi, entityOrientation_theta, fps, stall
+  + + + + + + + + + + +
+Constructor Summary
DIS_DR_RVW_04() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+ voidrun() + +
+          The driver for a DIS_DR_RVW_04 DR algorithm from the Runnable interface
+ + + + + + + +
Methods inherited from class edu.nps.moves.deadreckoning.DIS_DeadReckoning
getUpdatedPositionOrientation, setFPS, setNewAll, toString
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+DIS_DR_RVW_04

+
+public DIS_DR_RVW_04()
+
+
+ + + + + + + + +
+Method Detail
+ +

+run

+
+public void run()
+
+
The driver for a DIS_DR_RVW_04 DR algorithm from the Runnable interface +

+ Rotation and linear motion with acceleration +

+

+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ + + diff --git a/docs/edu/nps/moves/deadreckoning/DIS_DR_RVW_04b.html b/docs/edu/nps/moves/deadreckoning/DIS_DR_RVW_04b.html new file mode 100644 index 00000000..7c123912 --- /dev/null +++ b/docs/edu/nps/moves/deadreckoning/DIS_DR_RVW_04b.html @@ -0,0 +1,291 @@ + + + + + + +DIS_DR_RVW_04b + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +edu.nps.moves.deadreckoning +
+Class DIS_DR_RVW_04b

+
+java.lang.Object
+  extended by edu.nps.moves.deadreckoning.DIS_DeadReckoning
+      extended by edu.nps.moves.deadreckoning.DIS_DR_RVW_04b
+
+
+
All Implemented Interfaces:
java.lang.Runnable
+
+
+
+
public class DIS_DR_RVW_04b
extends DIS_DeadReckoning
+ + +

+(PRIMARY Methods group) Rotating, rate of velocity, world coordinates || Linear Motion with + Acceleration and rotation (Alterntive non-IEEE) +

+ +

+

+
Author:
+
Sheldon L. Snyder
+
+
+ +

+ + + + + + + +
+Field Summary
+ + + + + + + +
Fields inherited from class edu.nps.moves.deadreckoning.DIS_DeadReckoning
aThread, changeDelta, deltaCt, entityAngularVelocity_X, entityAngularVelocity_Y, entityAngularVelocity_Z, entityLinearAcceleration_X, entityLinearAcceleration_Y, entityLinearAcceleration_Z, entityLinearVelocity_X, entityLinearVelocity_Y, entityLinearVelocity_Z, entityLocation_X, entityLocation_Y, entityLocation_Z, entityOrientation_phi, entityOrientation_psi, entityOrientation_theta, fps, stall
+  + + + + + + + + + + +
+Constructor Summary
DIS_DR_RVW_04b() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+ voidrun() + +
+          The driver for a DIS_DR_RVW_04 DR algorithm from the Runnable interface
+ + + + + + + +
Methods inherited from class edu.nps.moves.deadreckoning.DIS_DeadReckoning
getUpdatedPositionOrientation, setFPS, setNewAll, toString
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+DIS_DR_RVW_04b

+
+public DIS_DR_RVW_04b()
+
+
+ + + + + + + + +
+Method Detail
+ +

+run

+
+public void run()
+
+
The driver for a DIS_DR_RVW_04 DR algorithm from the Runnable interface +

+ Rotation and linear motion with acceleration +

+

+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ + + diff --git a/docs/edu/nps/moves/deadreckoning/DIS_DR_Static_01.html b/docs/edu/nps/moves/deadreckoning/DIS_DR_Static_01.html new file mode 100644 index 00000000..c7d98de9 --- /dev/null +++ b/docs/edu/nps/moves/deadreckoning/DIS_DR_Static_01.html @@ -0,0 +1,290 @@ + + + + + + +DIS_DR_Static_01 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +edu.nps.moves.deadreckoning +
+Class DIS_DR_Static_01

+
+java.lang.Object
+  extended by edu.nps.moves.deadreckoning.DIS_DeadReckoning
+      extended by edu.nps.moves.deadreckoning.DIS_DR_Static_01
+
+
+
All Implemented Interfaces:
java.lang.Runnable
+
+
+
+
public class DIS_DR_Static_01
extends DIS_DeadReckoning
+ + +

+(PRIMARY Methods group) Static DR, no movement || No motion +

+ +

+

+
Author:
+
Sheldon L. Snyder
+
+
+ +

+ + + + + + + +
+Field Summary
+ + + + + + + +
Fields inherited from class edu.nps.moves.deadreckoning.DIS_DeadReckoning
aThread, changeDelta, deltaCt, entityAngularVelocity_X, entityAngularVelocity_Y, entityAngularVelocity_Z, entityLinearAcceleration_X, entityLinearAcceleration_Y, entityLinearAcceleration_Z, entityLinearVelocity_X, entityLinearVelocity_Y, entityLinearVelocity_Z, entityLocation_X, entityLocation_Y, entityLocation_Z, entityOrientation_phi, entityOrientation_psi, entityOrientation_theta, fps, stall
+  + + + + + + + + + + +
+Constructor Summary
DIS_DR_Static_01() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+ voidrun() + +
+          The driver for a DIS_DR_Static_01 DR algorithm from the Runnable interface
+ + + + + + + +
Methods inherited from class edu.nps.moves.deadreckoning.DIS_DeadReckoning
getUpdatedPositionOrientation, setFPS, setNewAll, toString
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+DIS_DR_Static_01

+
+public DIS_DR_Static_01()
+
+
+ + + + + + + + +
+Method Detail
+ +

+run

+
+public void run()
+
+
The driver for a DIS_DR_Static_01 DR algorithm from the Runnable interface +

+ No motion or rotation +

+

+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ + + diff --git a/docs/edu/nps/moves/deadreckoning/DIS_DeadReckoning.html b/docs/edu/nps/moves/deadreckoning/DIS_DeadReckoning.html new file mode 100644 index 00000000..09fb06b6 --- /dev/null +++ b/docs/edu/nps/moves/deadreckoning/DIS_DeadReckoning.html @@ -0,0 +1,1196 @@ + + + + + + +DIS_DeadReckoning + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +edu.nps.moves.deadreckoning +
+Class DIS_DeadReckoning

+
+java.lang.Object
+  extended by edu.nps.moves.deadreckoning.DIS_DeadReckoning
+
+
+
All Implemented Interfaces:
java.lang.Runnable
+
+
+
Direct Known Subclasses:
DIS_DR_FPB_06, DIS_DR_FPW_02, DIS_DR_FVB_09, DIS_DR_FVW_05, DIS_DR_RPB_07, DIS_DR_RPW_03, DIS_DR_RPW_03b, DIS_DR_RVB_08, DIS_DR_RVW_04, DIS_DR_RVW_04b, DIS_DR_Static_01
+
+
+
+
public abstract class DIS_DeadReckoning
extends java.lang.Object
implements java.lang.Runnable
+ + +

+The root super class for all DIS Dead-Reckoning algorithms. + Based on the algrorithms from the + IEEE 1278_1-1995_DIS standards found in + Annex B. +

+


+

+ Final project presentation +

+


+

+ Creates an abstract instance of a Dead Reckoning (DR) algorithm, defined + by the concrete Dead Reckoning algorithm on the right hand side. +

+ At each PDU update received, call the set function to update the DR + algorithm with the most accurance and update information. Expected to receive + a new update approx every 5 seconds or so. Each PDU is essentally a + restart or reset of the DR state. +

+ The DR wroks off the last good state (origin) and extrapulates out from that + point based on the velocity and acceleration parameters from the set + function. +

+ The DR algorithm updates 30 times a second. The instantiating entity + can get updated DR states at its leasure upto 30 times a second by calling + the get function, which returns an array of 6 doubles 3 x location and + 3 x orientation. With these 6 parameters the entity can redraw itslef in an + updatedloation and orientsation based on its projected path. +

+


+

+

Keynotes form the IEEE DIS standard about DR

+

+

+

+ DRM notation shall consist of three elements. + +

  • The First element shall indicate whether the model specifies + rotation as either fixed (F) or rotating (R).
  • +
  • The second element shall specify dead reckoning rates to be held + constant as either rate of position (P) or rate of velocity (V).
  • +
  • The third element shall specify the coordinate system to be used with + the dead reckoning algorithm as either world coordinates (W) or body axis + coordinates (B).
  • + +

    +


    +

    + 5.2.1 Angle representation
    + Angles shall be specfified as 32-bit floating point numbers expressed + in radians.(page 55) +

    + 5.2.2 Angular Velocity Vector record
    + The angular velocity of simulated entities shall be represented by the Angular + Velocity Vector record. This record shall specify the rate at which an + entity's orientation is changing. The angular velocity shall be measured + in radians per second measured about each of the entity's own + coordinate axes. The record shall consist of three fields. The first field + shall represent velocity about the x-axis, the second about the y-axis, and + the third about the z-axis [see 5.2.33 item a)]. The positive direction of + the angular velocity is defined by the right-hand rule. The format of the + Angular Velocity Vector record shall be shown as in table 5. (Page 55) +
    +

    +

    + 5.2.17 Euler Angles record
    + Orientation of a simulated entity shall be specified by the Euler Angles + record. This record shall specify three angles as described in figure 3 and + 3.1.13. These angles shall be specified with respect to the entity's + coordinate system. The three angles shall each be specified by a 32-bit + floating point number representing radians. The format of the Euler + Angles record shall be as shown in table 19. (page 65) +
    +

    +

    + 5.2.33 Vector record
    + Vector values for entity coordinates, linear acceleration, and linear + velocity, shall be represented using a Vector record. This record shall + consist of three fields, each a 32-bit floating point number. The unit of + measure represented by these fields shall depend on the information + represented. The values utilizing the Vector record are as follows: +

    + a) Entity Coordinate Vector. Location with respect to a particular entity + shall be specified with respect to three orthogonal axes whose origin shall + be the geometric center of the bounding volume of the entity excluding its + articulated and attached parts (see figure 2). The x-axis extends in the + positive direction out the front of the entity. The y-axis extends in the + positive direction out the right side of the entity as viewed from above, + facing in the direction of the positive x-axis. The z-axis extends in the + positive direction out the bottom of the entity. Each vector component + shall represent meters from the origin (see figure 2). +

    + b) Linear Acceleration Vector. Linear acceleration shall be represented as a + vector with components in either world coordinate system or entity's + coordinate system depending on the value in the Dead Reckoning Algorithm + field. Each vector component shall represent acceleration in meters per + second squared. +

    + c) Linear Velocity Vector. Linear velocity shall be represented as a vector + with three components in either world coordinate system or entity's + coordinate system depending on the value in the Dead Reckoning Algorithm + field. Each vector component shall represent velocity in meters per + second. The format of the Vector record shall be as shown in + table 30. (page 73) +
    +

    +

    + 5.2.34 World Coordinates record
    + Location of the origin of the entity's coordinate system shall be specified + by a set of three coordinates: X, Y, and Z. The shape of the earth shall be + specified using DMA TR 8350.2, 1987. The origin of the world coordinate + system shall be the centroid of the earth, with the X-axis passing through + the prime meridian at the equator, the Y-axis passing through 90° east + longitude at the equator, and the Z-axis passing through the north pole + (see figure 1). These coordinates shall represent meters from the centroid + of the earth. A 64-bit double precision floating point number shall represent + the location for each coordinate. +

    The format of the World Coordinates record shall be as shown in table + 31. (page 73) +
    +

    +

    + The Dead Reckoning parameters captured from each PDU +

    + +
    + + + + + +

    +


    +

    +

    The IEEE specified algorithms to compute the DR for Primary + Methods Group (1-5)

    +

    +


    +

    +

    REVISED POSITION
    +

    +


    +

    + + The Position portion of the algorithms
    +

    +
    + +

    +


    +

    +

    ORIENTATION SOLVER
    +

    + Ultimately, the PSI (rotation about the y-axis), THETA (rotation about the + z-axis), PHI (rotation about the x-axis) need to be in the range + of 0 - 2PI since the fields are in radians. +

    +


    +

    + + + The Orientation portion of the algorithms
    +

    +
    + +

    +


    +

    +

    DR MATRIX SOLVER
    +

    +


    +

    + + The generic DR matrix
    +

    +
    +
    + Graphics rotate (x,y,z) matrices +
    + Rotate X + Rotate Y + Rotate Z = [DR] +
    + ultimately what this is DR equation is doing but with a change of basis + from world to entity coordinates. +
    +

    + + The angular velocity Magnitude
    +

    +
    +

    + + + The SKEW matrix
    +

    +
    + + + The angular velocity Matrix
    +
    +
    +

    + NOTE - It was mentioned above that the angular velocities are contained in + the Entity State PDU as body axis velocities. However, if the angular + velocities are in terms of the Euler angles, then a transformation to body + axis angular velocities is needed. Thus the following transformation + formulas are given: +

    + + Body to Wrold Transformation
    +

    +
    + + World to Body Transformation
    +
    +
    +

    +


    +

    +

    R MATRIX SOLVER
    +

    +


    +

    + + Initial Orientation Matrix
    +

    +

    +


    +

    +

    REVISED ORIENTATION
    +

    +


    +

    + + Get the Revised Orientation
    +

    + + +

    +


    +

    +

    The IEEE specified algorithms to compute the DR for Secondary + Methods Group (6-9)

    +

    +


    +

    + Note: the Rotaion formula + where applicable is the same as that used in the Primary Methods Group (1-5), + as well is the equation for getting the + revised orientations. +

    + + General position formula
    +

    +

    + + R1 vector (though I am not sure what its really calculating)
    +

    + +

    + + R2 vector (though I am not sure what its really calculating)
    +

    +

    + + +

    +


    +

    + An Example:
    +

    +import DIS.DeadReconing.*;
    +
    +public class runTest 
    +{
    +    public static void main(String s[])
    +    {
    +        // create a DeadReconing Entity
    +        DIS_DeadReckoning dr = new DIS_DR_FPW_02();
    +
    +        // make the arrays of location and other parameters
    +        //                loc      orien    lin V    Accel    Ang V
    +        double[] locOr = {2,3,4,   5,6,1,   1,2,1,   0,0,0,   0,0,0};
    +
    +        // set the parameters
    +        dr.setNewAll(locOr);
    +
    +        // Print out the current state
    +        System.out.println(dr.toString());
    +        System.out.println();
    +
    +        try
    +        {
    +            // wait 1 second
    +            Thread.sleep(1000);
    +
    +            // request an update from the DR algorith
    +            // should be original + 1 full value of other parameters
    +            // new position should be (3, 5, 5)
    +            double[] update = dr.getUpdatedPositionOrientation();
    +
    +            // print the update to the screen
    +            System.out.println(dr.toString());        
    +        }
    +        catch(Exception e)
    +        {
    +            System.out.println("Unknow Error...?\n    " + e);
    +        }
    +
    +        // terminate with exit to get out of the inf while loop
    +        System.exit(0);
    +    }
    +}
    +
    +Resulting Output:
    +Current State of this Entity:
    +    Entity Location = (2.0, 3.0, 4.0)
    +    Entity Orientation = (5.0, 6.0, 1.0)
    +    Entity Linear Velocity = (1.0, 2.0, 1.0)
    +    Entity Linear Acceleration = (0.0, 0.0, 0.0)
    +    Entity Angular Velocity = (0.0, 0.0, 0.0)
    +    Delta between updates = 0.033333335
    +
    +Current State of this Entity:
    +    Entity Location = (3.000000052154064, 5.000000104308128, 5.000000052154064)
    +    Entity Orientation = (5.0, 6.0, 1.0)
    +    Entity Linear Velocity = (1.0, 2.0, 1.0)
    +    Entity Linear Acceleration = (0.0, 0.0, 0.0)
    +    Entity Angular Velocity = (0.0, 0.0, 0.0)
    +    Delta between updates = 0.033333335
    +
    +
    +
    +

    + +

    +

    +
    Author:
    +
    Sheldon L. Snyder
    +
    +
    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    +protected  java.lang.ThreadaThread + +
    +          Thread for the DR algorithm update timing (1/30 second)
    +protected  floatchangeDelta + +
    +          How far to change the location/orientation per update
    +protected  intdeltaCt + +
    +          How many updates have occured ...
    +protected  floatentityAngularVelocity_X + +
    +          The X angular velocity 32bit float
    +protected  floatentityAngularVelocity_Y + +
    +          The Y angular velocity 32bit float
    +protected  floatentityAngularVelocity_Z + +
    +          The Z angular velocity 32bit float
    +protected  floatentityLinearAcceleration_X + +
    +          The linear X acceleration 32bit float
    +protected  floatentityLinearAcceleration_Y + +
    +          The linear Y acceleration 32bit float
    +protected  floatentityLinearAcceleration_Z + +
    +          The linear Z acceleration 32bit float
    +protected  floatentityLinearVelocity_X + +
    +          The X linear velocity 32bit float
    +protected  floatentityLinearVelocity_Y + +
    +          The Y linear velocity 32bit float
    +protected  floatentityLinearVelocity_Z + +
    +          The Z linear velocity 32bit float
    +protected  doubleentityLocation_X + +
    +          The entity's X coordinate location with double percision 64bit
    +protected  doubleentityLocation_Y + +
    +          The entity's Y coordinate location with double percision 64bit
    +protected  doubleentityLocation_Z + +
    +          The entity's Z coordinate location with double percision 64bit
    +protected  floatentityOrientation_phi + +
    +          The Z orientation of the entity with 32bit float
    +protected  floatentityOrientation_psi + +
    +          The X orientation of the entity with 32bit float
    +protected  floatentityOrientation_theta + +
    +          The Y orientation of the entity with 32bit float
    +protected  floatfps + +
    +          how may times per second to update this entity's positon
    +protected  longstall + +
    +          How long to wait between updates
    +  + + + + + + + + + + +
    +Constructor Summary
    DIS_DeadReckoning() + +
    +          Constructor for all DR algorithms...
    +  + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + double[]getUpdatedPositionOrientation() + +
    +          Gets the revised position and orientation of this entity
    + voidsetFPS(int frames) + +
    +          Sets the refresh rate for the scene.
    + voidsetNewAll(double[] allDis) + +
    +          Set the parameters for this entity's DR function based on the most + recent PDU.
    + java.lang.StringtoString() + +
    +          Pretty print the current state of this Dead Reckoning object
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    + + + + + + + +
    Methods inherited from interface java.lang.Runnable
    run
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +entityLocation_X

    +
    +protected double entityLocation_X
    +
    +
    The entity's X coordinate location with double percision 64bit +

    +

    +
    +
    +
    + +

    +entityLocation_Y

    +
    +protected double entityLocation_Y
    +
    +
    The entity's Y coordinate location with double percision 64bit +

    +

    +
    +
    +
    + +

    +entityLocation_Z

    +
    +protected double entityLocation_Z
    +
    +
    The entity's Z coordinate location with double percision 64bit +

    +

    +
    +
    +
    + +

    +entityOrientation_psi

    +
    +protected float entityOrientation_psi
    +
    +
    The X orientation of the entity with 32bit float +

    +

    +
    +
    +
    + +

    +entityOrientation_theta

    +
    +protected float entityOrientation_theta
    +
    +
    The Y orientation of the entity with 32bit float +

    +

    +
    +
    +
    + +

    +entityOrientation_phi

    +
    +protected float entityOrientation_phi
    +
    +
    The Z orientation of the entity with 32bit float +

    +

    +
    +
    +
    + +

    +entityLinearVelocity_X

    +
    +protected float entityLinearVelocity_X
    +
    +
    The X linear velocity 32bit float +

    +

    +
    +
    +
    + +

    +entityLinearVelocity_Y

    +
    +protected float entityLinearVelocity_Y
    +
    +
    The Y linear velocity 32bit float +

    +

    +
    +
    +
    + +

    +entityLinearVelocity_Z

    +
    +protected float entityLinearVelocity_Z
    +
    +
    The Z linear velocity 32bit float +

    +

    +
    +
    +
    + +

    +entityLinearAcceleration_X

    +
    +protected float entityLinearAcceleration_X
    +
    +
    The linear X acceleration 32bit float +

    +

    +
    +
    +
    + +

    +entityLinearAcceleration_Y

    +
    +protected float entityLinearAcceleration_Y
    +
    +
    The linear Y acceleration 32bit float +

    +

    +
    +
    +
    + +

    +entityLinearAcceleration_Z

    +
    +protected float entityLinearAcceleration_Z
    +
    +
    The linear Z acceleration 32bit float +

    +

    +
    +
    +
    + +

    +entityAngularVelocity_X

    +
    +protected float entityAngularVelocity_X
    +
    +
    The X angular velocity 32bit float +

    +

    +
    +
    +
    + +

    +entityAngularVelocity_Y

    +
    +protected float entityAngularVelocity_Y
    +
    +
    The Y angular velocity 32bit float +

    +

    +
    +
    +
    + +

    +entityAngularVelocity_Z

    +
    +protected float entityAngularVelocity_Z
    +
    +
    The Z angular velocity 32bit float +

    +

    +
    +
    +
    + +

    +fps

    +
    +protected float fps
    +
    +
    how may times per second to update this entity's positon +

    +

    +
    +
    +
    + +

    +changeDelta

    +
    +protected float changeDelta
    +
    +
    How far to change the location/orientation per update +

    +

    +
    +
    +
    + +

    +deltaCt

    +
    +protected int deltaCt
    +
    +
    How many updates have occured ... only used for testing +

    + Reset to 0 with each call to setAll() +

    +

    +
    +
    +
    + +

    +stall

    +
    +protected long stall
    +
    +
    How long to wait between updates +

    + the delta between calls...how fast an entity will be updated +

      +
    1. Assumed a desired rate of 30 fps
    2. +
    3. Given from the standard that all parameters are in meters/s
    4. +
    5. To move 1 meter/second with 30 incriments = 1/30 Delta between updates +
    6. delay in milli seconds is 1/30 * 1000 || 1000 / 30
    7. + +

      + Note from Java Doc for JDK:
      + Causes the currently executing thread to sleep (temporarily cease + execution) for the specified number of milliseconds, subject to the + precision and accuracy of system timers and schedulers. The thread does + not lose ownership of any monitors. +

      +

      +
      +
    +
    + +

    +aThread

    +
    +protected java.lang.Thread aThread
    +
    +
    Thread for the DR algorithm update timing (1/30 second) +

    +

    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +DIS_DeadReckoning

    +
    +public DIS_DeadReckoning()
    +
    +
    Constructor for all DR algorithms... +

    + Each subclass DR algorithm has a no arguments constructor, but all it + does is call the super, i.e. this constructor, which establishes the + Thread +

    +

    + + + + + + + + +
    +Method Detail
    + +

    +getUpdatedPositionOrientation

    +
    +public double[] getUpdatedPositionOrientation()
    +
    +
    Gets the revised position and orientation of this entity +

    + Applies the required DR formula to the initial position and orientation + of this entity and returns the updated locaiton and position. +

    + This function does not actually perform the computations, it only returns + the current state of the entity. The entity state is updated byt the + specified DR alorithm within the DR class behind the scenes. Updates are + crated every 1/30 seconds. +

      +
    1. Assume a desire of 30 fps
    2. +
    3. All parameters are in meters/s
    4. +
    5. to move 1 meter/second with 30 incriments = 1/30 Delta between updates + +

      + Only returns an array of location and orientation because that + is all that is needed to update the location of the entity. All other + DR inputs are parameters for solving the locaiton and orientation and so + are not returned, only set. +

      + Order of the retruned array elements +

        +
      1. entityLocation_X
      2. +
      3. entityLocation_Y
      4. +
      5. entityLocation_Z
      6. +
      7. entityOrientation_psi
      8. +
      9. entityOrientation_theta
      10. +
      11. entityOrientation_phi
      12. +
      +

      +

      +

      +
      +
      +
      + +
      Returns:
      - 6 doubles of location and orientation
      +
      +
    +
    + +

    +setFPS

    +
    +public void setFPS(int frames)
    +
    +
    Sets the refresh rate for the scene. +

    + Default is 30 but can be changed throught this function call +

    +

    +
    +
    +
    +
    Parameters:
    frames - - the number of updats per second to make
    +
    +
    +
    + +

    +setNewAll

    +
    +public void setNewAll(double[] allDis)
    +               throws java.lang.Exception
    +
    +
    Set the parameters for this entity's DR function based on the most + recent PDU. +

    + This ic called by the entity anytime the entity receives an updated + ESPDU for this entity. +

    + This can be the first and initialization call or update. +

    + The folowing (triples) are set with each call: +

      +
    1. Entity Locaiton 64bit
    2. +
    3. Entity Orientation 32bit
    4. +
    5. Entity Linear Velocity 32bit
    6. +
    7. Entity Linear Acceleration 32bit
    8. +
    9. Entity Angular Velocity 32bit
    10. +
    +

    + entityLocation_X = allDis[0];
    + entityLocation_Y = allDis[1];
    + entityLocation_Z = allDis[2];
    +

    + entityOrientation_psi = (float)allDis[3];
    + entityOrientation_theta = (float)allDis[4];
    + entityOrientation_phi = (float)allDis[5];
    +

    + entityLinearVelocity_X = (float)allDis[6];
    + entityLinearVelocity_Y = (float)allDis[7];
    + entityLinearVelocity_Z = (float)allDis[8];
    +

    + entityLinearAcceleration_X = (float)allDis[9];
    + entityLinearAcceleration_Y = (float)allDis[10];
    + entityLinearAcceleration_Z = (float)allDis[11];
    +

    + entityAngularVelocity_X = (float)allDis[12];
    + entityAngularVelocity_Y = (float)allDis[13];
    + entityAngularVelocity_Z = (float)allDis[14];
    +

    + DR fields from a PDU update or initial +

    +

    +
    +
    +
    +
    Parameters:
    allDis - - 15 double percisions representing the above in order of the above +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    Pretty print the current state of this Dead Reckoning object +

    + Updates are not included in this call, this is only the state. +

    +

    +
    Overrides:
    toString in class java.lang.Object
    +
    +
    + +
    Returns:
    - String of pretty print of this DR entity
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/docs/edu/nps/moves/deadreckoning/package-frame.html b/docs/edu/nps/moves/deadreckoning/package-frame.html new file mode 100644 index 00000000..6f51a303 --- /dev/null +++ b/docs/edu/nps/moves/deadreckoning/package-frame.html @@ -0,0 +1,54 @@ + + + + + + +edu.nps.moves.deadreckoning + + + + + + + + + + + +edu.nps.moves.deadreckoning + + + + +
    +Classes  + +
    +DIS_DeadReckoning +
    +DIS_DR_FPB_06 +
    +DIS_DR_FPW_02 +
    +DIS_DR_FVB_09 +
    +DIS_DR_FVW_05 +
    +DIS_DR_RPB_07 +
    +DIS_DR_RPW_03 +
    +DIS_DR_RPW_03b +
    +DIS_DR_RVB_08 +
    +DIS_DR_RVW_04 +
    +DIS_DR_RVW_04b +
    +DIS_DR_Static_01
    + + + + diff --git a/docs/edu/nps/moves/deadreckoning/package-summary.html b/docs/edu/nps/moves/deadreckoning/package-summary.html new file mode 100644 index 00000000..c554f6d4 --- /dev/null +++ b/docs/edu/nps/moves/deadreckoning/package-summary.html @@ -0,0 +1,205 @@ + + + + + + +edu.nps.moves.deadreckoning + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    +

    +Package edu.nps.moves.deadreckoning +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Class Summary
    DIS_DeadReckoningThe root super class for all DIS Dead-Reckoning algorithms.
    DIS_DR_FPB_06(SECONDARY Methods Group) Fixed, rate of position, body coordinates || + Linear motion without rotation
    DIS_DR_FPW_02(PRIMARY Methods group) Fixed, Rate of Positon, World || Constant Linear motion
    DIS_DR_FVB_09(SECONDARY Methods Group) Fixed, rate of velocity, body coordinates || + Linear Motion with Rotation
    DIS_DR_FVW_05(PRIMARY Methods group) Fixed, rate of velocity, world coordinates || Linear Motion with + Acceleration but no rotation
    DIS_DR_RPB_07(SECONDARY Methods Group) Rotating, rate of position, body coordinates || + Linear motion with Rotation
    DIS_DR_RPW_03(PRIMARY Methods group) Rotating, rate of position, world coordinates || Constant Linear motion with + Rotation
    DIS_DR_RPW_03b(PRIMARY Methods group) Rotating, rate of position, world coordinates || Constant Linear motion with + Rotation (Alternative non-IEEE)
    DIS_DR_RVB_08(SECONDARY Methods Group) Rotating, rate of velocity, body coordinates || + Linear motion with Rotation
    DIS_DR_RVW_04(PRIMARY Methods group) Rotating, rate of velocity, world coordinates || Linear Motion with + Acceleration and rotation
    DIS_DR_RVW_04b(PRIMARY Methods group) Rotating, rate of velocity, world coordinates || Linear Motion with + Acceleration and rotation (Alterntive non-IEEE)
    DIS_DR_Static_01(PRIMARY Methods group) Static DR, no movement || No motion
    +  + +

    +

    +
    +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/docs/edu/nps/moves/deadreckoning/package-tree.html b/docs/edu/nps/moves/deadreckoning/package-tree.html new file mode 100644 index 00000000..cdcce2c2 --- /dev/null +++ b/docs/edu/nps/moves/deadreckoning/package-tree.html @@ -0,0 +1,150 @@ + + + + + + +edu.nps.moves.deadreckoning Class Hierarchy + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    +
    +

    +Hierarchy For Package edu.nps.moves.deadreckoning +

    +
    +
    +
    Package Hierarchies:
    All Packages
    +
    +

    +Class Hierarchy +

    + +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/docs/edu/nps/moves/deadreckoning/utils/Matrix.html b/docs/edu/nps/moves/deadreckoning/utils/Matrix.html new file mode 100644 index 00000000..440c91f6 --- /dev/null +++ b/docs/edu/nps/moves/deadreckoning/utils/Matrix.html @@ -0,0 +1,801 @@ + + + + + + +Matrix + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +edu.nps.moves.deadreckoning.utils +
    +Class Matrix

    +
    +java.lang.Object
    +  extended by edu.nps.moves.deadreckoning.utils.Matrix
    +
    +
    +
    +
    public class Matrix
    extends java.lang.Object
    + + +

    +A class that performs some basic Matrix manipulations, stopping short of + Eigenvectors, Single Value Decomposition, LU, and other more advaced + manipulations. +

      +
    1. Multiplication
    2. +
    3. Inverse
    4. +
    5. Add
    6. +
    7. Subtract
    8. +
    9. Transpose
    10. +
    11. Row swap
    12. +
    13. Sub determinate (2x2)
    14. +

      + +

      +

      +
      Author:
      +
      Sheldon L. Snyder
      +
      +
      + +

      + + + + + + + + + + + + + + + + + +
      +Constructor Summary
      Matrix(int dimension) + +
      +          create a square matrix initialized to the identity
      Matrix(int rows, + int cols) + +
      +          create a matrix of any dimensions initialized to all zeroes.
      Matrix(Matrix M) + +
      +          Creates a matrix of a matrix...a copy
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + Matrixadd(Matrix M2) + +
      +          Adds two matrices together
      +static voidadd(Matrix r1, + double a) + +
      +          Adds a constant to each element of this matrix
      +static Matrixadd(Matrix M1, + Matrix M2) + +
      +          Static method to add any two matrices
      + doublecell(int i, + int j) + +
      +          return the value in this matrix located at the ith row and jth column
      + intcols() + +
      +          Get the number of columns in this matrix
      +static doubledet(double d1, + double d2, + double d3, + double d4) + +
      +          Solves the determinate of this 2x2 matrix
      +static MatrixinversMat3x3(Matrix in) + +
      +          Given a 3 x 3 matrix and using Determinats to solve for inverse
      + Matrixmult(double a) + +
      +          scales a matrix, but does not destroy the content of the original
      + Matrixmult(Matrix M2) + +
      +          Multiplies 2 matrixes together
      +static Matrixmult(Matrix M1, + Matrix M2) + +
      +          multiplies two matrixes together + None Destructive
      + voidmultSelf(double a) + +
      +          Scalar multiply in place
      +static double[]multVec(Matrix A, + double[] x) + +
      +          Performs Ax multiplication
      + voidprint() + +
      +          Prints the content of a matrix to standard out
      + voidreplace(Matrix M) + +
      +          copy each cell from M to this.data
      + introws() + +
      +          Gets the number of rows in this matrix
      + voidsetCell(int i, + int j, + double value) + +
      +          set the value of the cell at the ith row and jth column to value
      + Matrixsubtract(Matrix M2) + +
      +          Subtracts a matrix from this
      +static Matrixsubtract(Matrix M1, + Matrix M2) + +
      +          static Subtraces M2 from M1 5 = 8 - 3
      +static Matrixtranspose(Matrix in) + +
      +          Makes a transpose of the input matrix
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Constructor Detail
      + +

      +Matrix

      +
      +public Matrix(int dimension)
      +
      +
      create a square matrix initialized to the identity +

      +

      +
      Parameters:
      dimension - - size to make a square matrix
      +
      +
      + +

      +Matrix

      +
      +public Matrix(int rows,
      +              int cols)
      +
      +
      create a matrix of any dimensions initialized to all zeroes. +

      +

      +
      Parameters:
      rows -
      cols -
      +
      +
      + +

      +Matrix

      +
      +public Matrix(Matrix M)
      +       throws MatrixException
      +
      +
      Creates a matrix of a matrix...a copy +

      +

      +
      Parameters:
      M - - matrix to copy +
      Throws: +
      MatrixException
      +
      + + + + + + + + +
      +Method Detail
      + +

      +replace

      +
      +public void replace(Matrix M)
      +             throws MatrixException
      +
      +
      copy each cell from M to this.data +

      + Replaces the value of this...destructive copy +

      + to just get a copy of a matrix
      + Matrix mm33 is a matrix initialized to some value
      + Matrix inv = Matrix.inverseMxM(mm33); +

      + This makes a copy of mm33 into inv. mm33 is not altered in this process. +

      +

      +
      Parameters:
      M - - matrix to copy +
      Throws: +
      MatrixException
      +
      +
      +
      + +

      +cols

      +
      +public int cols()
      +
      +
      Get the number of columns in this matrix +

      +

      + +
      Returns:
      the number of columns in this matrix
      +
      +
      +
      + +

      +rows

      +
      +public int rows()
      +
      +
      Gets the number of rows in this matrix +

      +

      + +
      Returns:
      the number rows in this matrix
      +
      +
      +
      + +

      +cell

      +
      +public double cell(int i,
      +                   int j)
      +            throws MatrixException
      +
      +
      return the value in this matrix located at the ith row and jth column +

      + Should have made this getCell, but I got too far along to make all the + changes.... +

      +

      +
      Parameters:
      i - - row
      j - - column +
      Returns:
      - the value at row i and column j +
      Throws: +
      MatrixException
      +
      +
      +
      + +

      +setCell

      +
      +public void setCell(int i,
      +                    int j,
      +                    double value)
      +             throws MatrixException
      +
      +
      set the value of the cell at the ith row and jth column to value +

      +

      +
      Parameters:
      i - - row
      j - - column
      value - - the double to put in the cell (i,j) +
      Throws: +
      MatrixException
      +
      +
      +
      + +

      +add

      +
      +public Matrix add(Matrix M2)
      +           throws MatrixException
      +
      +
      Adds two matrices together +

      + non-destructive +

      +

      +
      Parameters:
      M2 - - what to add to this +
      Returns:
      this matrix with M2 added to itthis + M2 of same only if both are same dim +
      Throws: +
      MatrixException
      +
      +
      +
      + +

      +add

      +
      +public static void add(Matrix r1,
      +                       double a)
      +                throws java.lang.Exception
      +
      +
      Adds a constant to each element of this matrix +

      +

      +
      Parameters:
      r1 - - the matrix to receve the addition
      a - - the vlaue to ad to each cell of the matrix +
      Throws: +
      java.lang.Exception
      +
      +
      +
      + +

      +add

      +
      +public static Matrix add(Matrix M1,
      +                         Matrix M2)
      +                  throws MatrixException
      +
      +
      Static method to add any two matrices +

      +

      +
      Parameters:
      M1 -
      M2 - +
      Returns:
      adds m1 and m2 only if of the same size +
      Throws: +
      MatrixException
      +
      +
      +
      + +

      +subtract

      +
      +public Matrix subtract(Matrix M2)
      +                throws MatrixException
      +
      +
      Subtracts a matrix from this +

      + non-destructive +

      +

      +
      Parameters:
      M2 - +
      Returns:
      this - M2 +
      Throws: +
      MatrixException
      +
      +
      +
      + +

      +subtract

      +
      +public static Matrix subtract(Matrix M1,
      +                              Matrix M2)
      +                       throws MatrixException
      +
      +
      static Subtraces M2 from M1 5 = 8 - 3 +

      +

      +
      Parameters:
      M1 - - subtraced from matrix (the 8 in the above)
      M2 - - what is subtracte (the 3 in the above) +
      Returns:
      - the result of subrtaction (the 5 in the above) +
      Throws: +
      MatrixException
      +
      +
      +
      + +

      +mult

      +
      +public Matrix mult(double a)
      +            throws MatrixException
      +
      +
      scales a matrix, but does not destroy the content of the original +

      + Non-destructive multiply +

      +

      +
      Parameters:
      a - - the scalar +
      Returns:
      this multipled by a +
      Throws: +
      MatrixException
      +
      +
      +
      + +

      +transpose

      +
      +public static Matrix transpose(Matrix in)
      +                        throws MatrixException
      +
      +
      Makes a transpose of the input matrix +

      + rows become columns
      + Row 1 is now column 1
      + Row 2 is now column 2
      + Row n is now column n
      +

      +

      +
      Parameters:
      in - - input matrix +
      Returns:
      - the transpose of the input +
      Throws: +
      MatrixException
      +
      +
      +
      + +

      +multVec

      +
      +public static double[] multVec(Matrix A,
      +                               double[] x)
      +                        throws MatrixException
      +
      +
      Performs Ax multiplication +

      +

      +
      Parameters:
      A -
      x - +
      Returns:
      the resulting array +
      Throws: +
      MatrixException
      +
      +
      +
      + +

      +multSelf

      +
      +public void multSelf(double a)
      +
      +
      Scalar multiply in place +

      + Destructive multiply +

      +

      +
      Parameters:
      a -
      +
      +
      +
      + +

      +mult

      +
      +public Matrix mult(Matrix M2)
      +            throws MatrixException
      +
      +
      Multiplies 2 matrixes together +

      + 3x1 * 1x3 = 3x3 +

      + None Destructive +

      +

      +
      Parameters:
      M2 - +
      Returns:
      a Matrix of this * M2 +
      Throws: +
      MatrixException
      +
      +
      +
      + +

      +mult

      +
      +public static Matrix mult(Matrix M1,
      +                          Matrix M2)
      +                   throws MatrixException
      +
      +
      multiplies two matrixes together + None Destructive +

      +

      +
      Parameters:
      M1 - left hand side
      M2 - right hand side +
      Returns:
      a Matrix of M1 * M2 +
      Throws: +
      MatrixException
      +
      +
      +
      + +

      +print

      +
      +public void print()
      +           throws MatrixException
      +
      +
      Prints the content of a matrix to standard out +

      +

      + +
      Throws: +
      MatrixException
      +
      +
      +
      + +

      +inversMat3x3

      +
      +public static Matrix inversMat3x3(Matrix in)
      +                           throws MatrixException
      +
      +
      Given a 3 x 3 matrix and using Determinats to solve for inverse +

      +

      +
      Parameters:
      in - - input 3x3 matrix +
      Returns:
      - the inverse of this matrix +
      Throws: +
      MatrixException
      +
      +
      +
      + +

      +det

      +
      +public static double det(double d1,
      +                         double d2,
      +                         double d3,
      +                         double d4)
      +
      +
      Solves the determinate of this 2x2 matrix +

      +

      +
      Parameters:
      d1 - - a11
      d2 - - a12
      d3 - - a21
      d4 - - a22 +
      Returns:
      the determinate of this 2x2
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/deadreckoning/utils/MatrixException.html b/docs/edu/nps/moves/deadreckoning/utils/MatrixException.html new file mode 100644 index 00000000..0ac8de71 --- /dev/null +++ b/docs/edu/nps/moves/deadreckoning/utils/MatrixException.html @@ -0,0 +1,243 @@ + + + + + + +MatrixException + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.deadreckoning.utils +
      +Class MatrixException

      +
      +java.lang.Object
      +  extended by java.lang.Throwable
      +      extended by java.lang.Exception
      +          extended by edu.nps.moves.deadreckoning.utils.MatrixException
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class MatrixException
      extends java.lang.Exception
      + + +

      +The Exception class that is thrown by the Matrix.java class + Very basic Exception class, only passes a description of the error + that will hopefully lead to simple troubleshooting resolution...:) +

      + +

      +

      +
      Author:
      +
      Sheldon L. Snyder
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + +
      +Constructor Summary
      MatrixException(java.lang.String s) + +
      +           
      +  + + + + + + + +
      +Method Summary
      + + + + + + + +
      Methods inherited from class java.lang.Throwable
      fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      +  +

      + + + + + + + + +
      +Constructor Detail
      + +

      +MatrixException

      +
      +public MatrixException(java.lang.String s)
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/deadreckoning/utils/package-frame.html b/docs/edu/nps/moves/deadreckoning/utils/package-frame.html new file mode 100644 index 00000000..9e122267 --- /dev/null +++ b/docs/edu/nps/moves/deadreckoning/utils/package-frame.html @@ -0,0 +1,43 @@ + + + + + + +edu.nps.moves.deadreckoning.utils + + + + + + + + + + + +edu.nps.moves.deadreckoning.utils + + + + +
      +Classes  + +
      +Matrix
      + + + + + + +
      +Exceptions  + +
      +MatrixException
      + + + + diff --git a/docs/edu/nps/moves/deadreckoning/utils/package-summary.html b/docs/edu/nps/moves/deadreckoning/utils/package-summary.html new file mode 100644 index 00000000..a245de0e --- /dev/null +++ b/docs/edu/nps/moves/deadreckoning/utils/package-summary.html @@ -0,0 +1,170 @@ + + + + + + +edu.nps.moves.deadreckoning.utils + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      +

      +Package edu.nps.moves.deadreckoning.utils +

      + + + + + + + + + +
      +Class Summary
      MatrixA class that performs some basic Matrix manipulations, stopping short of + Eigenvectors, Single Value Decomposition, LU, and other more advaced + manipulations.
      +  + +

      + + + + + + + + + +
      +Exception Summary
      MatrixExceptionThe Exception class that is thrown by the Matrix.java class + Very basic Exception class, only passes a description of the error + that will hopefully lead to simple troubleshooting resolution...:)
      +  + +

      +

      +
      +
      + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/deadreckoning/utils/package-tree.html b/docs/edu/nps/moves/deadreckoning/utils/package-tree.html new file mode 100644 index 00000000..f5b59bb1 --- /dev/null +++ b/docs/edu/nps/moves/deadreckoning/utils/package-tree.html @@ -0,0 +1,152 @@ + + + + + + +edu.nps.moves.deadreckoning.utils Class Hierarchy + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      +
      +

      +Hierarchy For Package edu.nps.moves.deadreckoning.utils +

      +
      +
      +
      Package Hierarchies:
      All Packages
      +
      +

      +Class Hierarchy +

      +
        +
      • java.lang.Object
          +
        • edu.nps.moves.deadreckoning.utils.Matrix
        • java.lang.Throwable (implements java.io.Serializable) + +
        +
      +
      + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/AcknowledgePdu.html b/docs/edu/nps/moves/dis/AcknowledgePdu.html new file mode 100644 index 00000000..3a4dc2dd --- /dev/null +++ b/docs/edu/nps/moves/dis/AcknowledgePdu.html @@ -0,0 +1,639 @@ + + + + + + +AcknowledgePdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class AcknowledgePdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SimulationManagementFamilyPdu
      +          extended by edu.nps.moves.dis.AcknowledgePdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class AcknowledgePdu
      extends SimulationManagementFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.6.5. Acknowledge the receiptof a start/resume, stop/freeze, or RemoveEntityPDU. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  intacknowledgeFlag + +
      +          type of message being acknowledged
      +protected  longrequestID + +
      +          Request ID that is unique
      +protected  intresponseFlag + +
      +          Whether or not the receiving entity was able to comply with the request
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.SimulationManagementFamilyPdu
      originatingEntityID, receivingEntityID
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      AcknowledgePdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(AcknowledgePdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetAcknowledgeFlag() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + longgetRequestID() + +
      +           
      + intgetResponseFlag() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetAcknowledgeFlag(int pAcknowledgeFlag) + +
      +           
      + voidsetRequestID(long pRequestID) + +
      +           
      + voidsetResponseFlag(int pResponseFlag) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.SimulationManagementFamilyPdu
      equals, getOriginatingEntityID, getReceivingEntityID, setOriginatingEntityID, setReceivingEntityID
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +acknowledgeFlag

      +
      +protected int acknowledgeFlag
      +
      +
      type of message being acknowledged +

      +

      +
      +
      +
      + +

      +responseFlag

      +
      +protected int responseFlag
      +
      +
      Whether or not the receiving entity was able to comply with the request +

      +

      +
      +
      +
      + +

      +requestID

      +
      +protected long requestID
      +
      +
      Request ID that is unique +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +AcknowledgePdu

      +
      +public AcknowledgePdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setAcknowledgeFlag

      +
      +public void setAcknowledgeFlag(int pAcknowledgeFlag)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAcknowledgeFlag

      +
      +public int getAcknowledgeFlag()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setResponseFlag

      +
      +public void setResponseFlag(int pResponseFlag)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getResponseFlag

      +
      +public int getResponseFlag()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRequestID

      +
      +public void setRequestID(long pRequestID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestID

      +
      +public long getRequestID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class SimulationManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class SimulationManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(AcknowledgePdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/AcknowledgeReliablePdu.html b/docs/edu/nps/moves/dis/AcknowledgeReliablePdu.html new file mode 100644 index 00000000..de46dc9f --- /dev/null +++ b/docs/edu/nps/moves/dis/AcknowledgeReliablePdu.html @@ -0,0 +1,639 @@ + + + + + + +AcknowledgeReliablePdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class AcknowledgeReliablePdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      +          extended by edu.nps.moves.dis.AcknowledgeReliablePdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class AcknowledgeReliablePdu
      extends SimulationManagementWithReliabilityFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.12.5: Ack receipt of a start-resume, stop-freeze, create-entity or remove enitty (reliable) pdus. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  intacknowledgeFlag + +
      +          ack flags
      +protected  longrequestID + +
      +          Request ID
      +protected  intresponseFlag + +
      +          response flags
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      originatingEntityID, receivingEntityID
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      AcknowledgeReliablePdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(AcknowledgeReliablePdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetAcknowledgeFlag() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + longgetRequestID() + +
      +           
      + intgetResponseFlag() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetAcknowledgeFlag(int pAcknowledgeFlag) + +
      +           
      + voidsetRequestID(long pRequestID) + +
      +           
      + voidsetResponseFlag(int pResponseFlag) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      equals, getOriginatingEntityID, getReceivingEntityID, setOriginatingEntityID, setReceivingEntityID
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +acknowledgeFlag

      +
      +protected int acknowledgeFlag
      +
      +
      ack flags +

      +

      +
      +
      +
      + +

      +responseFlag

      +
      +protected int responseFlag
      +
      +
      response flags +

      +

      +
      +
      +
      + +

      +requestID

      +
      +protected long requestID
      +
      +
      Request ID +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +AcknowledgeReliablePdu

      +
      +public AcknowledgeReliablePdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setAcknowledgeFlag

      +
      +public void setAcknowledgeFlag(int pAcknowledgeFlag)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAcknowledgeFlag

      +
      +public int getAcknowledgeFlag()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setResponseFlag

      +
      +public void setResponseFlag(int pResponseFlag)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getResponseFlag

      +
      +public int getResponseFlag()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRequestID

      +
      +public void setRequestID(long pRequestID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestID

      +
      +public long getRequestID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(AcknowledgeReliablePdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/AcousticBeamData.html b/docs/edu/nps/moves/dis/AcousticBeamData.html new file mode 100644 index 00000000..9d376304 --- /dev/null +++ b/docs/edu/nps/moves/dis/AcousticBeamData.html @@ -0,0 +1,665 @@ + + + + + + +AcousticBeamData + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class AcousticBeamData

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.AcousticBeamData
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class AcousticBeamData
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Used in UA PDU + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  intbeamDataLength + +
      +          beam data length
      +protected  shortbeamIDNumber + +
      +          beamIDNumber
      +protected  AcousticBeamFundamentalParameterfundamentalDataParameters + +
      +          fundamental data parameters
      +protected  intpad2 + +
      +          padding
      +  + + + + + + + + + + +
      +Constructor Summary
      AcousticBeamData() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(AcousticBeamData rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetBeamDataLength() + +
      +           
      + shortgetBeamIDNumber() + +
      +           
      + AcousticBeamFundamentalParametergetFundamentalDataParameters() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + intgetPad2() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetBeamDataLength(int pBeamDataLength) + +
      +           
      + voidsetBeamIDNumber(short pBeamIDNumber) + +
      +           
      + voidsetFundamentalDataParameters(AcousticBeamFundamentalParameter pFundamentalDataParameters) + +
      +           
      + voidsetPad2(int pPad2) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +beamDataLength

      +
      +protected int beamDataLength
      +
      +
      beam data length +

      +

      +
      +
      +
      + +

      +beamIDNumber

      +
      +protected short beamIDNumber
      +
      +
      beamIDNumber +

      +

      +
      +
      +
      + +

      +pad2

      +
      +protected int pad2
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +fundamentalDataParameters

      +
      +protected AcousticBeamFundamentalParameter fundamentalDataParameters
      +
      +
      fundamental data parameters +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +AcousticBeamData

      +
      +public AcousticBeamData()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setBeamDataLength

      +
      +public void setBeamDataLength(int pBeamDataLength)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getBeamDataLength

      +
      +public int getBeamDataLength()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setBeamIDNumber

      +
      +public void setBeamIDNumber(short pBeamIDNumber)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getBeamIDNumber

      +
      +public short getBeamIDNumber()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad2

      +
      +public void setPad2(int pPad2)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad2

      +
      +public int getPad2()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setFundamentalDataParameters

      +
      +public void setFundamentalDataParameters(AcousticBeamFundamentalParameter pFundamentalDataParameters)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFundamentalDataParameters

      +
      +public AcousticBeamFundamentalParameter getFundamentalDataParameters()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(AcousticBeamData rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/AcousticBeamFundamentalParameter.html b/docs/edu/nps/moves/dis/AcousticBeamFundamentalParameter.html new file mode 100644 index 00000000..792e9295 --- /dev/null +++ b/docs/edu/nps/moves/dis/AcousticBeamFundamentalParameter.html @@ -0,0 +1,793 @@ + + + + + + +AcousticBeamFundamentalParameter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class AcousticBeamFundamentalParameter

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.AcousticBeamFundamentalParameter
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class AcousticBeamFundamentalParameter
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Used in UaPdu + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  intactiveEmissionParameterIndex + +
      +          parameter index
      +protected  floatazimuthalBeamwidth + +
      +          azimuthal beamwidth
      +protected  floatbeamCenterAzimuth + +
      +          beam center azimuth
      +protected  floatbeamCenterDE + +
      +          beam center
      +protected  floatdeBeamwidth + +
      +          DE beamwidth (vertical beamwidth)
      +protected  intscanPattern + +
      +          scan pattern
      +  + + + + + + + + + + +
      +Constructor Summary
      AcousticBeamFundamentalParameter() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(AcousticBeamFundamentalParameter rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetActiveEmissionParameterIndex() + +
      +           
      + floatgetAzimuthalBeamwidth() + +
      +           
      + floatgetBeamCenterAzimuth() + +
      +           
      + floatgetBeamCenterDE() + +
      +           
      + floatgetDeBeamwidth() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + intgetScanPattern() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetActiveEmissionParameterIndex(int pActiveEmissionParameterIndex) + +
      +           
      + voidsetAzimuthalBeamwidth(float pAzimuthalBeamwidth) + +
      +           
      + voidsetBeamCenterAzimuth(float pBeamCenterAzimuth) + +
      +           
      + voidsetBeamCenterDE(float pBeamCenterDE) + +
      +           
      + voidsetDeBeamwidth(float pDeBeamwidth) + +
      +           
      + voidsetScanPattern(int pScanPattern) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +activeEmissionParameterIndex

      +
      +protected int activeEmissionParameterIndex
      +
      +
      parameter index +

      +

      +
      +
      +
      + +

      +scanPattern

      +
      +protected int scanPattern
      +
      +
      scan pattern +

      +

      +
      +
      +
      + +

      +beamCenterAzimuth

      +
      +protected float beamCenterAzimuth
      +
      +
      beam center azimuth +

      +

      +
      +
      +
      + +

      +azimuthalBeamwidth

      +
      +protected float azimuthalBeamwidth
      +
      +
      azimuthal beamwidth +

      +

      +
      +
      +
      + +

      +beamCenterDE

      +
      +protected float beamCenterDE
      +
      +
      beam center +

      +

      +
      +
      +
      + +

      +deBeamwidth

      +
      +protected float deBeamwidth
      +
      +
      DE beamwidth (vertical beamwidth) +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +AcousticBeamFundamentalParameter

      +
      +public AcousticBeamFundamentalParameter()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setActiveEmissionParameterIndex

      +
      +public void setActiveEmissionParameterIndex(int pActiveEmissionParameterIndex)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getActiveEmissionParameterIndex

      +
      +public int getActiveEmissionParameterIndex()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setScanPattern

      +
      +public void setScanPattern(int pScanPattern)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getScanPattern

      +
      +public int getScanPattern()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setBeamCenterAzimuth

      +
      +public void setBeamCenterAzimuth(float pBeamCenterAzimuth)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getBeamCenterAzimuth

      +
      +public float getBeamCenterAzimuth()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setAzimuthalBeamwidth

      +
      +public void setAzimuthalBeamwidth(float pAzimuthalBeamwidth)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAzimuthalBeamwidth

      +
      +public float getAzimuthalBeamwidth()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setBeamCenterDE

      +
      +public void setBeamCenterDE(float pBeamCenterDE)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getBeamCenterDE

      +
      +public float getBeamCenterDE()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setDeBeamwidth

      +
      +public void setDeBeamwidth(float pDeBeamwidth)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getDeBeamwidth

      +
      +public float getDeBeamwidth()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(AcousticBeamFundamentalParameter rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/AcousticEmitter.html b/docs/edu/nps/moves/dis/AcousticEmitter.html new file mode 100644 index 00000000..56691bfc --- /dev/null +++ b/docs/edu/nps/moves/dis/AcousticEmitter.html @@ -0,0 +1,601 @@ + + + + + + +AcousticEmitter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class AcousticEmitter

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.AcousticEmitter
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class AcousticEmitter
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Section 5.2.35. information about a specific UA emmtter + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortacousticIdNumber + +
      +          The UA emitter identification number relative to a specific system
      +protected  intacousticName + +
      +          the system for a particular UA emitter, and an enumeration
      +protected  shortfunction + +
      +          The function of the acoustic system
      +  + + + + + + + + + + +
      +Constructor Summary
      AcousticEmitter() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(AcousticEmitter rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + shortgetAcousticIdNumber() + +
      +           
      + intgetAcousticName() + +
      +           
      + shortgetFunction() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetAcousticIdNumber(short pAcousticIdNumber) + +
      +           
      + voidsetAcousticName(int pAcousticName) + +
      +           
      + voidsetFunction(short pFunction) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +acousticName

      +
      +protected int acousticName
      +
      +
      the system for a particular UA emitter, and an enumeration +

      +

      +
      +
      +
      + +

      +function

      +
      +protected short function
      +
      +
      The function of the acoustic system +

      +

      +
      +
      +
      + +

      +acousticIdNumber

      +
      +protected short acousticIdNumber
      +
      +
      The UA emitter identification number relative to a specific system +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +AcousticEmitter

      +
      +public AcousticEmitter()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setAcousticName

      +
      +public void setAcousticName(int pAcousticName)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAcousticName

      +
      +public int getAcousticName()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setFunction

      +
      +public void setFunction(short pFunction)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFunction

      +
      +public short getFunction()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setAcousticIdNumber

      +
      +public void setAcousticIdNumber(short pAcousticIdNumber)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAcousticIdNumber

      +
      +public short getAcousticIdNumber()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(AcousticEmitter rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/AcousticEmitterSystem.html b/docs/edu/nps/moves/dis/AcousticEmitterSystem.html new file mode 100644 index 00000000..0cbdc104 --- /dev/null +++ b/docs/edu/nps/moves/dis/AcousticEmitterSystem.html @@ -0,0 +1,601 @@ + + + + + + +AcousticEmitterSystem + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class AcousticEmitterSystem

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.AcousticEmitterSystem
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class AcousticEmitterSystem
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +5.3.35: Information about a particular UA emitter shall be represented using an Acoustic Emitter System record. This record shall consist of three fields: Acoustic Name, Function, and Acoustic ID Number + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortacousticFunction + +
      +          This field shall describe the function of the acoustic system.
      +protected  shortacousticID + +
      +          This field shall specify the UA emitter identification number relative to a specific system.
      +protected  intacousticName + +
      +          This field shall specify the system for a particular UA emitter.
      +  + + + + + + + + + + +
      +Constructor Summary
      AcousticEmitterSystem() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(AcousticEmitterSystem rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + shortgetAcousticFunction() + +
      +           
      + shortgetAcousticID() + +
      +           
      + intgetAcousticName() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetAcousticFunction(short pAcousticFunction) + +
      +           
      + voidsetAcousticID(short pAcousticID) + +
      +           
      + voidsetAcousticName(int pAcousticName) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +acousticName

      +
      +protected int acousticName
      +
      +
      This field shall specify the system for a particular UA emitter. +

      +

      +
      +
      +
      + +

      +acousticFunction

      +
      +protected short acousticFunction
      +
      +
      This field shall describe the function of the acoustic system. +

      +

      +
      +
      +
      + +

      +acousticID

      +
      +protected short acousticID
      +
      +
      This field shall specify the UA emitter identification number relative to a specific system. This field shall be represented by an 8-bit unsigned integer. This field allows the differentiation of multiple systems on an entity, even if in some instances two or more of the systems may be identical UA emitter types. Numbering of systems shall begin with the value 1. +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +AcousticEmitterSystem

      +
      +public AcousticEmitterSystem()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setAcousticName

      +
      +public void setAcousticName(int pAcousticName)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAcousticName

      +
      +public int getAcousticName()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setAcousticFunction

      +
      +public void setAcousticFunction(short pAcousticFunction)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAcousticFunction

      +
      +public short getAcousticFunction()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setAcousticID

      +
      +public void setAcousticID(short pAcousticID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAcousticID

      +
      +public short getAcousticID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(AcousticEmitterSystem rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/AcousticEmitterSystemData.html b/docs/edu/nps/moves/dis/AcousticEmitterSystemData.html new file mode 100644 index 00000000..cce0addf --- /dev/null +++ b/docs/edu/nps/moves/dis/AcousticEmitterSystemData.html @@ -0,0 +1,797 @@ + + + + + + +AcousticEmitterSystemData + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class AcousticEmitterSystemData

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.AcousticEmitterSystemData
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class AcousticEmitterSystemData
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Used in the UA pdu; ties together an emmitter and a location. This requires manual cleanup; the beam data should not be attached to each emitter system. + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  AcousticEmitterSystemacousticEmitterSystem + +
      +          This field shall specify the system for a particular UA emitter.
      +protected  java.util.List<AcousticBeamData>beamRecords + +
      +          For each beam in numberOfBeams, an emitter system.
      +protected  Vector3FloatemitterLocation + +
      +          Represents the location wrt the entity
      +protected  shortemitterSystemDataLength + +
      +          Length of emitter system data
      +protected  shortnumberOfBeams + +
      +          Number of beams
      +protected  intpad2 + +
      +          padding
      +  + + + + + + + + + + +
      +Constructor Summary
      AcousticEmitterSystemData() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(AcousticEmitterSystemData rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + AcousticEmitterSystemgetAcousticEmitterSystem() + +
      +           
      + java.util.List<AcousticBeamData>getBeamRecords() + +
      +           
      + Vector3FloatgetEmitterLocation() + +
      +           
      + shortgetEmitterSystemDataLength() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + shortgetNumberOfBeams() + +
      +           
      + intgetPad2() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetAcousticEmitterSystem(AcousticEmitterSystem pAcousticEmitterSystem) + +
      +           
      + voidsetBeamRecords(java.util.List<AcousticBeamData> pBeamRecords) + +
      +           
      + voidsetEmitterLocation(Vector3Float pEmitterLocation) + +
      +           
      + voidsetEmitterSystemDataLength(short pEmitterSystemDataLength) + +
      +           
      + voidsetNumberOfBeams(short pNumberOfBeams) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetPad2(int pPad2) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +emitterSystemDataLength

      +
      +protected short emitterSystemDataLength
      +
      +
      Length of emitter system data +

      +

      +
      +
      +
      + +

      +numberOfBeams

      +
      +protected short numberOfBeams
      +
      +
      Number of beams +

      +

      +
      +
      +
      + +

      +pad2

      +
      +protected int pad2
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +acousticEmitterSystem

      +
      +protected AcousticEmitterSystem acousticEmitterSystem
      +
      +
      This field shall specify the system for a particular UA emitter. +

      +

      +
      +
      +
      + +

      +emitterLocation

      +
      +protected Vector3Float emitterLocation
      +
      +
      Represents the location wrt the entity +

      +

      +
      +
      +
      + +

      +beamRecords

      +
      +protected java.util.List<AcousticBeamData> beamRecords
      +
      +
      For each beam in numberOfBeams, an emitter system. This is not right--the beam records need to be at the end of the PDU, rather than attached to each system. +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +AcousticEmitterSystemData

      +
      +public AcousticEmitterSystemData()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEmitterSystemDataLength

      +
      +public void setEmitterSystemDataLength(short pEmitterSystemDataLength)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEmitterSystemDataLength

      +
      +public short getEmitterSystemDataLength()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfBeams

      +
      +public short getNumberOfBeams()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfBeams

      +
      +public void setNumberOfBeams(short pNumberOfBeams)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfBeams method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad2

      +
      +public void setPad2(int pPad2)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad2

      +
      +public int getPad2()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setAcousticEmitterSystem

      +
      +public void setAcousticEmitterSystem(AcousticEmitterSystem pAcousticEmitterSystem)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAcousticEmitterSystem

      +
      +public AcousticEmitterSystem getAcousticEmitterSystem()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEmitterLocation

      +
      +public void setEmitterLocation(Vector3Float pEmitterLocation)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEmitterLocation

      +
      +public Vector3Float getEmitterLocation()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setBeamRecords

      +
      +public void setBeamRecords(java.util.List<AcousticBeamData> pBeamRecords)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getBeamRecords

      +
      +public java.util.List<AcousticBeamData> getBeamRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(AcousticEmitterSystemData rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/ActionRequestPdu.html b/docs/edu/nps/moves/dis/ActionRequestPdu.html new file mode 100644 index 00000000..1cb8ad7b --- /dev/null +++ b/docs/edu/nps/moves/dis/ActionRequestPdu.html @@ -0,0 +1,839 @@ + + + + + + +ActionRequestPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class ActionRequestPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SimulationManagementFamilyPdu
      +          extended by edu.nps.moves.dis.ActionRequestPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class ActionRequestPdu
      extends SimulationManagementFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.6.6. Request from simulation manager to an entity. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  longactionID + +
      +          identifies the action being requested
      +protected  java.util.List<FixedDatum>fixedDatums + +
      +          variable length list of fixed datums
      +protected  longnumberOfFixedDatumRecords + +
      +          Number of fixed datum records
      +protected  longnumberOfVariableDatumRecords + +
      +          Number of variable datum records
      +protected  longrequestID + +
      +          Request ID that is unique
      +protected  java.util.List<VariableDatum>variableDatums + +
      +          variable length list of variable length datums
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.SimulationManagementFamilyPdu
      originatingEntityID, receivingEntityID
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      ActionRequestPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(ActionRequestPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + longgetActionID() + +
      +           
      + java.util.List<FixedDatum>getFixedDatums() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + longgetNumberOfFixedDatumRecords() + +
      +           
      + longgetNumberOfVariableDatumRecords() + +
      +           
      + longgetRequestID() + +
      +           
      + java.util.List<VariableDatum>getVariableDatums() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetActionID(long pActionID) + +
      +           
      + voidsetFixedDatums(java.util.List<FixedDatum> pFixedDatums) + +
      +           
      + voidsetNumberOfFixedDatumRecords(long pNumberOfFixedDatumRecords) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetNumberOfVariableDatumRecords(long pNumberOfVariableDatumRecords) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetRequestID(long pRequestID) + +
      +           
      + voidsetVariableDatums(java.util.List<VariableDatum> pVariableDatums) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.SimulationManagementFamilyPdu
      equals, getOriginatingEntityID, getReceivingEntityID, setOriginatingEntityID, setReceivingEntityID
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +requestID

      +
      +protected long requestID
      +
      +
      Request ID that is unique +

      +

      +
      +
      +
      + +

      +actionID

      +
      +protected long actionID
      +
      +
      identifies the action being requested +

      +

      +
      +
      +
      + +

      +numberOfFixedDatumRecords

      +
      +protected long numberOfFixedDatumRecords
      +
      +
      Number of fixed datum records +

      +

      +
      +
      +
      + +

      +numberOfVariableDatumRecords

      +
      +protected long numberOfVariableDatumRecords
      +
      +
      Number of variable datum records +

      +

      +
      +
      +
      + +

      +fixedDatums

      +
      +protected java.util.List<FixedDatum> fixedDatums
      +
      +
      variable length list of fixed datums +

      +

      +
      +
      +
      + +

      +variableDatums

      +
      +protected java.util.List<VariableDatum> variableDatums
      +
      +
      variable length list of variable length datums +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +ActionRequestPdu

      +
      +public ActionRequestPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setRequestID

      +
      +public void setRequestID(long pRequestID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestID

      +
      +public long getRequestID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setActionID

      +
      +public void setActionID(long pActionID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getActionID

      +
      +public long getActionID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfFixedDatumRecords

      +
      +public long getNumberOfFixedDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfFixedDatumRecords

      +
      +public void setNumberOfFixedDatumRecords(long pNumberOfFixedDatumRecords)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfFixedDatumRecords method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfVariableDatumRecords

      +
      +public long getNumberOfVariableDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfVariableDatumRecords

      +
      +public void setNumberOfVariableDatumRecords(long pNumberOfVariableDatumRecords)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfVariableDatumRecords method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setFixedDatums

      +
      +public void setFixedDatums(java.util.List<FixedDatum> pFixedDatums)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFixedDatums

      +
      +public java.util.List<FixedDatum> getFixedDatums()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setVariableDatums

      +
      +public void setVariableDatums(java.util.List<VariableDatum> pVariableDatums)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getVariableDatums

      +
      +public java.util.List<VariableDatum> getVariableDatums()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class SimulationManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class SimulationManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(ActionRequestPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/ActionRequestReliablePdu.html b/docs/edu/nps/moves/dis/ActionRequestReliablePdu.html new file mode 100644 index 00000000..4d8b725b --- /dev/null +++ b/docs/edu/nps/moves/dis/ActionRequestReliablePdu.html @@ -0,0 +1,1031 @@ + + + + + + +ActionRequestReliablePdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class ActionRequestReliablePdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      +          extended by edu.nps.moves.dis.ActionRequestReliablePdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class ActionRequestReliablePdu
      extends SimulationManagementWithReliabilityFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.12.6: request from a simulation manager to a managed entity to perform a specified action. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  longactionID + +
      +          request ID
      +protected  java.util.List<FixedDatum>fixedDatumRecords + +
      +          Fixed datum records
      +protected  longnumberOfFixedDatumRecords + +
      +          Fixed datum record count
      +protected  longnumberOfVariableDatumRecords + +
      +          variable datum record count
      +protected  intpad1 + +
      +          padding
      +protected  shortpad2 + +
      +          padding
      +protected  longrequestID + +
      +          request ID
      +protected  shortrequiredReliabilityService + +
      +          level of reliability service used for this transaction
      +protected  java.util.List<VariableDatum>variableDatumRecords + +
      +          Variable datum records
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      originatingEntityID, receivingEntityID
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      ActionRequestReliablePdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(ActionRequestReliablePdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + longgetActionID() + +
      +           
      + java.util.List<FixedDatum>getFixedDatumRecords() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + longgetNumberOfFixedDatumRecords() + +
      +           
      + longgetNumberOfVariableDatumRecords() + +
      +           
      + intgetPad1() + +
      +           
      + shortgetPad2() + +
      +           
      + longgetRequestID() + +
      +           
      + shortgetRequiredReliabilityService() + +
      +           
      + java.util.List<VariableDatum>getVariableDatumRecords() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetActionID(long pActionID) + +
      +           
      + voidsetFixedDatumRecords(java.util.List<FixedDatum> pFixedDatumRecords) + +
      +           
      + voidsetNumberOfFixedDatumRecords(long pNumberOfFixedDatumRecords) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetNumberOfVariableDatumRecords(long pNumberOfVariableDatumRecords) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetPad1(int pPad1) + +
      +           
      + voidsetPad2(short pPad2) + +
      +           
      + voidsetRequestID(long pRequestID) + +
      +           
      + voidsetRequiredReliabilityService(short pRequiredReliabilityService) + +
      +           
      + voidsetVariableDatumRecords(java.util.List<VariableDatum> pVariableDatumRecords) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      equals, getOriginatingEntityID, getReceivingEntityID, setOriginatingEntityID, setReceivingEntityID
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +requiredReliabilityService

      +
      +protected short requiredReliabilityService
      +
      +
      level of reliability service used for this transaction +

      +

      +
      +
      +
      + +

      +pad1

      +
      +protected int pad1
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +pad2

      +
      +protected short pad2
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +requestID

      +
      +protected long requestID
      +
      +
      request ID +

      +

      +
      +
      +
      + +

      +actionID

      +
      +protected long actionID
      +
      +
      request ID +

      +

      +
      +
      +
      + +

      +numberOfFixedDatumRecords

      +
      +protected long numberOfFixedDatumRecords
      +
      +
      Fixed datum record count +

      +

      +
      +
      +
      + +

      +numberOfVariableDatumRecords

      +
      +protected long numberOfVariableDatumRecords
      +
      +
      variable datum record count +

      +

      +
      +
      +
      + +

      +fixedDatumRecords

      +
      +protected java.util.List<FixedDatum> fixedDatumRecords
      +
      +
      Fixed datum records +

      +

      +
      +
      +
      + +

      +variableDatumRecords

      +
      +protected java.util.List<VariableDatum> variableDatumRecords
      +
      +
      Variable datum records +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +ActionRequestReliablePdu

      +
      +public ActionRequestReliablePdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setRequiredReliabilityService

      +
      +public void setRequiredReliabilityService(short pRequiredReliabilityService)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequiredReliabilityService

      +
      +public short getRequiredReliabilityService()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad1

      +
      +public void setPad1(int pPad1)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad1

      +
      +public int getPad1()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad2

      +
      +public void setPad2(short pPad2)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad2

      +
      +public short getPad2()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRequestID

      +
      +public void setRequestID(long pRequestID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestID

      +
      +public long getRequestID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setActionID

      +
      +public void setActionID(long pActionID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getActionID

      +
      +public long getActionID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfFixedDatumRecords

      +
      +public long getNumberOfFixedDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfFixedDatumRecords

      +
      +public void setNumberOfFixedDatumRecords(long pNumberOfFixedDatumRecords)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfFixedDatumRecords method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfVariableDatumRecords

      +
      +public long getNumberOfVariableDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfVariableDatumRecords

      +
      +public void setNumberOfVariableDatumRecords(long pNumberOfVariableDatumRecords)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfVariableDatumRecords method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setFixedDatumRecords

      +
      +public void setFixedDatumRecords(java.util.List<FixedDatum> pFixedDatumRecords)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFixedDatumRecords

      +
      +public java.util.List<FixedDatum> getFixedDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setVariableDatumRecords

      +
      +public void setVariableDatumRecords(java.util.List<VariableDatum> pVariableDatumRecords)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getVariableDatumRecords

      +
      +public java.util.List<VariableDatum> getVariableDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(ActionRequestReliablePdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/ActionResponsePdu.html b/docs/edu/nps/moves/dis/ActionResponsePdu.html new file mode 100644 index 00000000..0198611e --- /dev/null +++ b/docs/edu/nps/moves/dis/ActionResponsePdu.html @@ -0,0 +1,839 @@ + + + + + + +ActionResponsePdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class ActionResponsePdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SimulationManagementFamilyPdu
      +          extended by edu.nps.moves.dis.ActionResponsePdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class ActionResponsePdu
      extends SimulationManagementFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.6.7. response to an action request PDU. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  java.util.List<FixedDatum>fixedDatums + +
      +          variable length list of fixed datums
      +protected  longnumberOfFixedDatumRecords + +
      +          Number of fixed datum records
      +protected  longnumberOfVariableDatumRecords + +
      +          Number of variable datum records
      +protected  longrequestID + +
      +          Request ID that is unique
      +protected  longrequestStatus + +
      +          Status of response
      +protected  java.util.List<VariableDatum>variableDatums + +
      +          variable length list of variable length datums
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.SimulationManagementFamilyPdu
      originatingEntityID, receivingEntityID
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      ActionResponsePdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(ActionResponsePdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + java.util.List<FixedDatum>getFixedDatums() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + longgetNumberOfFixedDatumRecords() + +
      +           
      + longgetNumberOfVariableDatumRecords() + +
      +           
      + longgetRequestID() + +
      +           
      + longgetRequestStatus() + +
      +           
      + java.util.List<VariableDatum>getVariableDatums() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetFixedDatums(java.util.List<FixedDatum> pFixedDatums) + +
      +           
      + voidsetNumberOfFixedDatumRecords(long pNumberOfFixedDatumRecords) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetNumberOfVariableDatumRecords(long pNumberOfVariableDatumRecords) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetRequestID(long pRequestID) + +
      +           
      + voidsetRequestStatus(long pRequestStatus) + +
      +           
      + voidsetVariableDatums(java.util.List<VariableDatum> pVariableDatums) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.SimulationManagementFamilyPdu
      equals, getOriginatingEntityID, getReceivingEntityID, setOriginatingEntityID, setReceivingEntityID
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +requestID

      +
      +protected long requestID
      +
      +
      Request ID that is unique +

      +

      +
      +
      +
      + +

      +requestStatus

      +
      +protected long requestStatus
      +
      +
      Status of response +

      +

      +
      +
      +
      + +

      +numberOfFixedDatumRecords

      +
      +protected long numberOfFixedDatumRecords
      +
      +
      Number of fixed datum records +

      +

      +
      +
      +
      + +

      +numberOfVariableDatumRecords

      +
      +protected long numberOfVariableDatumRecords
      +
      +
      Number of variable datum records +

      +

      +
      +
      +
      + +

      +fixedDatums

      +
      +protected java.util.List<FixedDatum> fixedDatums
      +
      +
      variable length list of fixed datums +

      +

      +
      +
      +
      + +

      +variableDatums

      +
      +protected java.util.List<VariableDatum> variableDatums
      +
      +
      variable length list of variable length datums +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +ActionResponsePdu

      +
      +public ActionResponsePdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setRequestID

      +
      +public void setRequestID(long pRequestID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestID

      +
      +public long getRequestID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRequestStatus

      +
      +public void setRequestStatus(long pRequestStatus)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestStatus

      +
      +public long getRequestStatus()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfFixedDatumRecords

      +
      +public long getNumberOfFixedDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfFixedDatumRecords

      +
      +public void setNumberOfFixedDatumRecords(long pNumberOfFixedDatumRecords)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfFixedDatumRecords method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfVariableDatumRecords

      +
      +public long getNumberOfVariableDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfVariableDatumRecords

      +
      +public void setNumberOfVariableDatumRecords(long pNumberOfVariableDatumRecords)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfVariableDatumRecords method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setFixedDatums

      +
      +public void setFixedDatums(java.util.List<FixedDatum> pFixedDatums)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFixedDatums

      +
      +public java.util.List<FixedDatum> getFixedDatums()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setVariableDatums

      +
      +public void setVariableDatums(java.util.List<VariableDatum> pVariableDatums)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getVariableDatums

      +
      +public java.util.List<VariableDatum> getVariableDatums()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class SimulationManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class SimulationManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(ActionResponsePdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/ActionResponseReliablePdu.html b/docs/edu/nps/moves/dis/ActionResponseReliablePdu.html new file mode 100644 index 00000000..8db7048c --- /dev/null +++ b/docs/edu/nps/moves/dis/ActionResponseReliablePdu.html @@ -0,0 +1,839 @@ + + + + + + +ActionResponseReliablePdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class ActionResponseReliablePdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      +          extended by edu.nps.moves.dis.ActionResponseReliablePdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class ActionResponseReliablePdu
      extends SimulationManagementWithReliabilityFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.12.7: Response from an entity to an action request PDU. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  java.util.List<FixedDatum>fixedDatumRecords + +
      +          Fixed datum records
      +protected  longnumberOfFixedDatumRecords + +
      +          Fixed datum record count
      +protected  longnumberOfVariableDatumRecords + +
      +          variable datum record count
      +protected  longrequestID + +
      +          request ID
      +protected  longresponseStatus + +
      +          status of response
      +protected  java.util.List<VariableDatum>variableDatumRecords + +
      +          Variable datum records
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      originatingEntityID, receivingEntityID
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      ActionResponseReliablePdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(ActionResponseReliablePdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + java.util.List<FixedDatum>getFixedDatumRecords() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + longgetNumberOfFixedDatumRecords() + +
      +           
      + longgetNumberOfVariableDatumRecords() + +
      +           
      + longgetRequestID() + +
      +           
      + longgetResponseStatus() + +
      +           
      + java.util.List<VariableDatum>getVariableDatumRecords() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetFixedDatumRecords(java.util.List<FixedDatum> pFixedDatumRecords) + +
      +           
      + voidsetNumberOfFixedDatumRecords(long pNumberOfFixedDatumRecords) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetNumberOfVariableDatumRecords(long pNumberOfVariableDatumRecords) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetRequestID(long pRequestID) + +
      +           
      + voidsetResponseStatus(long pResponseStatus) + +
      +           
      + voidsetVariableDatumRecords(java.util.List<VariableDatum> pVariableDatumRecords) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      equals, getOriginatingEntityID, getReceivingEntityID, setOriginatingEntityID, setReceivingEntityID
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +requestID

      +
      +protected long requestID
      +
      +
      request ID +

      +

      +
      +
      +
      + +

      +responseStatus

      +
      +protected long responseStatus
      +
      +
      status of response +

      +

      +
      +
      +
      + +

      +numberOfFixedDatumRecords

      +
      +protected long numberOfFixedDatumRecords
      +
      +
      Fixed datum record count +

      +

      +
      +
      +
      + +

      +numberOfVariableDatumRecords

      +
      +protected long numberOfVariableDatumRecords
      +
      +
      variable datum record count +

      +

      +
      +
      +
      + +

      +fixedDatumRecords

      +
      +protected java.util.List<FixedDatum> fixedDatumRecords
      +
      +
      Fixed datum records +

      +

      +
      +
      +
      + +

      +variableDatumRecords

      +
      +protected java.util.List<VariableDatum> variableDatumRecords
      +
      +
      Variable datum records +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +ActionResponseReliablePdu

      +
      +public ActionResponseReliablePdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setRequestID

      +
      +public void setRequestID(long pRequestID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestID

      +
      +public long getRequestID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setResponseStatus

      +
      +public void setResponseStatus(long pResponseStatus)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getResponseStatus

      +
      +public long getResponseStatus()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfFixedDatumRecords

      +
      +public long getNumberOfFixedDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfFixedDatumRecords

      +
      +public void setNumberOfFixedDatumRecords(long pNumberOfFixedDatumRecords)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfFixedDatumRecords method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfVariableDatumRecords

      +
      +public long getNumberOfVariableDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfVariableDatumRecords

      +
      +public void setNumberOfVariableDatumRecords(long pNumberOfVariableDatumRecords)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfVariableDatumRecords method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setFixedDatumRecords

      +
      +public void setFixedDatumRecords(java.util.List<FixedDatum> pFixedDatumRecords)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFixedDatumRecords

      +
      +public java.util.List<FixedDatum> getFixedDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setVariableDatumRecords

      +
      +public void setVariableDatumRecords(java.util.List<VariableDatum> pVariableDatumRecords)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getVariableDatumRecords

      +
      +public java.util.List<VariableDatum> getVariableDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(ActionResponseReliablePdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/AggregateID.html b/docs/edu/nps/moves/dis/AggregateID.html new file mode 100644 index 00000000..5739fea8 --- /dev/null +++ b/docs/edu/nps/moves/dis/AggregateID.html @@ -0,0 +1,601 @@ + + + + + + +AggregateID + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class AggregateID

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.AggregateID
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class AggregateID
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Section 5.2.36. Each agregate in a given simulation app is given an aggregate identifier number unique for all other aggregates in that app and in that exercise. The id is valid for the duration of the the exercise. + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  intaggregateID + +
      +          the aggregate ID
      +protected  intapplication + +
      +          The application ID
      +protected  intsite + +
      +          The site ID
      +  + + + + + + + + + + +
      +Constructor Summary
      AggregateID() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(AggregateID rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetAggregateID() + +
      +           
      + intgetApplication() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + intgetSite() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetAggregateID(int pAggregateID) + +
      +           
      + voidsetApplication(int pApplication) + +
      +           
      + voidsetSite(int pSite) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +site

      +
      +protected int site
      +
      +
      The site ID +

      +

      +
      +
      +
      + +

      +application

      +
      +protected int application
      +
      +
      The application ID +

      +

      +
      +
      +
      + +

      +aggregateID

      +
      +protected int aggregateID
      +
      +
      the aggregate ID +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +AggregateID

      +
      +public AggregateID()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSite

      +
      +public void setSite(int pSite)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSite

      +
      +public int getSite()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setApplication

      +
      +public void setApplication(int pApplication)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getApplication

      +
      +public int getApplication()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setAggregateID

      +
      +public void setAggregateID(int pAggregateID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAggregateID

      +
      +public int getAggregateID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(AggregateID rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/AggregateMarking.html b/docs/edu/nps/moves/dis/AggregateMarking.html new file mode 100644 index 00000000..a4358da5 --- /dev/null +++ b/docs/edu/nps/moves/dis/AggregateMarking.html @@ -0,0 +1,537 @@ + + + + + + +AggregateMarking + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class AggregateMarking

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.AggregateMarking
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class AggregateMarking
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Section 5.2.37. Specifies the character set used inthe first byte, followed by up to 31 characters of text data. + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  byte[]characters + +
      +          The characters
      +protected  shortcharacterSet + +
      +          The character set
      +  + + + + + + + + + + +
      +Constructor Summary
      AggregateMarking() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(AggregateMarking rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + byte[]getCharacters() + +
      +           
      + shortgetCharacterSet() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetCharacters(byte[] pCharacters) + +
      +           
      + voidsetCharacterSet(short pCharacterSet) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +characterSet

      +
      +protected short characterSet
      +
      +
      The character set +

      +

      +
      +
      +
      + +

      +characters

      +
      +protected byte[] characters
      +
      +
      The characters +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +AggregateMarking

      +
      +public AggregateMarking()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCharacterSet

      +
      +public void setCharacterSet(short pCharacterSet)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCharacterSet

      +
      +public short getCharacterSet()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCharacters

      +
      +public void setCharacters(byte[] pCharacters)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCharacters

      +
      +public byte[] getCharacters()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(AggregateMarking rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/AggregateStatePdu.html b/docs/edu/nps/moves/dis/AggregateStatePdu.html new file mode 100644 index 00000000..ecef8f84 --- /dev/null +++ b/docs/edu/nps/moves/dis/AggregateStatePdu.html @@ -0,0 +1,1800 @@ + + + + + + +AggregateStatePdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class AggregateStatePdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.EntityManagementFamilyPdu
      +          extended by edu.nps.moves.dis.AggregateStatePdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class AggregateStatePdu
      extends EntityManagementFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.9.1 informationa bout aggregating entities anc communicating information about the aggregated entities. requires manual intervention to fix the padding between entityID lists and silent aggregate sysem lists--this padding is dependent on how many entityIDs there are, and needs to be on a 32 bit word boundary. UNFINISHED + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  EntityIDaggregateID + +
      +          ID of aggregated entities
      +protected  java.util.List<AggregateID>aggregateIDList + +
      +          aggregates list
      +protected  AggregateMarkingaggregateMarking + +
      +          marking for aggregate; first char is charset type, rest is char data
      +protected  shortaggregateState + +
      +          state of aggregate
      +protected  EntityTypeaggregateType + +
      +          entity type of the aggregated entities
      +protected  Vector3DoublecenterOfMass + +
      +          center of mass of the aggregation
      +protected  Vector3Floatdimensions + +
      +          dimensions of bounding box for the aggregated entities, origin at the center of mass
      +protected  java.util.List<EntityID>entityIDList + +
      +          entity ID list
      +protected  shortforceID + +
      +          force ID
      +protected  longformation + +
      +          formation of aggregated entities
      +protected  intnumberOfDisAggregates + +
      +          number of aggregates
      +protected  intnumberOfDisEntities + +
      +          number of entities
      +protected  intnumberOfSilentAggregateTypes + +
      +          number of silent aggregate types
      +protected  intnumberOfSilentEntityTypes + +
      +          number of silent entity types
      +protected  longnumberOfVariableDatumRecords + +
      +          number of variable datum records
      +protected  Orientationorientation + +
      +          orientation of the bounding box
      +protected  shortpad2 + +
      +           
      +protected  java.util.List<EntityType>silentAggregateSystemList + +
      +          silent entity types
      +protected  java.util.List<EntityType>silentEntitySystemList + +
      +          silent entity types
      +protected  java.util.List<VariableDatum>variableDatumList + +
      +          variableDatums
      +protected  Vector3Floatvelocity + +
      +          velocity of aggregation
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      AggregateStatePdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(AggregateStatePdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + EntityIDgetAggregateID() + +
      +           
      + java.util.List<AggregateID>getAggregateIDList() + +
      +           
      + AggregateMarkinggetAggregateMarking() + +
      +           
      + shortgetAggregateState() + +
      +           
      + EntityTypegetAggregateType() + +
      +           
      + Vector3DoublegetCenterOfMass() + +
      +           
      + Vector3FloatgetDimensions() + +
      +           
      + java.util.List<EntityID>getEntityIDList() + +
      +           
      + shortgetForceID() + +
      +           
      + longgetFormation() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + intgetNumberOfDisAggregates() + +
      +           
      + intgetNumberOfDisEntities() + +
      +           
      + intgetNumberOfSilentAggregateTypes() + +
      +           
      + intgetNumberOfSilentEntityTypes() + +
      +           
      + longgetNumberOfVariableDatumRecords() + +
      +           
      + OrientationgetOrientation() + +
      +           
      + shortgetPad2() + +
      +           
      + java.util.List<EntityType>getSilentAggregateSystemList() + +
      +           
      + java.util.List<EntityType>getSilentEntitySystemList() + +
      +           
      + java.util.List<VariableDatum>getVariableDatumList() + +
      +           
      + Vector3FloatgetVelocity() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetAggregateID(EntityID pAggregateID) + +
      +           
      + voidsetAggregateIDList(java.util.List<AggregateID> pAggregateIDList) + +
      +           
      + voidsetAggregateMarking(AggregateMarking pAggregateMarking) + +
      +           
      + voidsetAggregateState(short pAggregateState) + +
      +           
      + voidsetAggregateType(EntityType pAggregateType) + +
      +           
      + voidsetCenterOfMass(Vector3Double pCenterOfMass) + +
      +           
      + voidsetDimensions(Vector3Float pDimensions) + +
      +           
      + voidsetEntityIDList(java.util.List<EntityID> pEntityIDList) + +
      +           
      + voidsetForceID(short pForceID) + +
      +           
      + voidsetFormation(long pFormation) + +
      +           
      + voidsetNumberOfDisAggregates(int pNumberOfDisAggregates) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetNumberOfDisEntities(int pNumberOfDisEntities) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetNumberOfSilentAggregateTypes(int pNumberOfSilentAggregateTypes) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetNumberOfSilentEntityTypes(int pNumberOfSilentEntityTypes) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetNumberOfVariableDatumRecords(long pNumberOfVariableDatumRecords) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetOrientation(Orientation pOrientation) + +
      +           
      + voidsetPad2(short pPad2) + +
      +           
      + voidsetSilentAggregateSystemList(java.util.List<EntityType> pSilentAggregateSystemList) + +
      +           
      + voidsetSilentEntitySystemList(java.util.List<EntityType> pSilentEntitySystemList) + +
      +           
      + voidsetVariableDatumList(java.util.List<VariableDatum> pVariableDatumList) + +
      +           
      + voidsetVelocity(Vector3Float pVelocity) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.EntityManagementFamilyPdu
      equals
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +aggregateID

      +
      +protected EntityID aggregateID
      +
      +
      ID of aggregated entities +

      +

      +
      +
      +
      + +

      +forceID

      +
      +protected short forceID
      +
      +
      force ID +

      +

      +
      +
      +
      + +

      +aggregateState

      +
      +protected short aggregateState
      +
      +
      state of aggregate +

      +

      +
      +
      +
      + +

      +aggregateType

      +
      +protected EntityType aggregateType
      +
      +
      entity type of the aggregated entities +

      +

      +
      +
      +
      + +

      +formation

      +
      +protected long formation
      +
      +
      formation of aggregated entities +

      +

      +
      +
      +
      + +

      +aggregateMarking

      +
      +protected AggregateMarking aggregateMarking
      +
      +
      marking for aggregate; first char is charset type, rest is char data +

      +

      +
      +
      +
      + +

      +dimensions

      +
      +protected Vector3Float dimensions
      +
      +
      dimensions of bounding box for the aggregated entities, origin at the center of mass +

      +

      +
      +
      +
      + +

      +orientation

      +
      +protected Orientation orientation
      +
      +
      orientation of the bounding box +

      +

      +
      +
      +
      + +

      +centerOfMass

      +
      +protected Vector3Double centerOfMass
      +
      +
      center of mass of the aggregation +

      +

      +
      +
      +
      + +

      +velocity

      +
      +protected Vector3Float velocity
      +
      +
      velocity of aggregation +

      +

      +
      +
      +
      + +

      +numberOfDisAggregates

      +
      +protected int numberOfDisAggregates
      +
      +
      number of aggregates +

      +

      +
      +
      +
      + +

      +numberOfDisEntities

      +
      +protected int numberOfDisEntities
      +
      +
      number of entities +

      +

      +
      +
      +
      + +

      +numberOfSilentAggregateTypes

      +
      +protected int numberOfSilentAggregateTypes
      +
      +
      number of silent aggregate types +

      +

      +
      +
      +
      + +

      +numberOfSilentEntityTypes

      +
      +protected int numberOfSilentEntityTypes
      +
      +
      number of silent entity types +

      +

      +
      +
      +
      + +

      +aggregateIDList

      +
      +protected java.util.List<AggregateID> aggregateIDList
      +
      +
      aggregates list +

      +

      +
      +
      +
      + +

      +entityIDList

      +
      +protected java.util.List<EntityID> entityIDList
      +
      +
      entity ID list +

      +

      +
      +
      +
      + +

      +pad2

      +
      +protected short pad2
      +
      +
      +
      +
      +
      + +

      +silentAggregateSystemList

      +
      +protected java.util.List<EntityType> silentAggregateSystemList
      +
      +
      silent entity types +

      +

      +
      +
      +
      + +

      +silentEntitySystemList

      +
      +protected java.util.List<EntityType> silentEntitySystemList
      +
      +
      silent entity types +

      +

      +
      +
      +
      + +

      +numberOfVariableDatumRecords

      +
      +protected long numberOfVariableDatumRecords
      +
      +
      number of variable datum records +

      +

      +
      +
      +
      + +

      +variableDatumList

      +
      +protected java.util.List<VariableDatum> variableDatumList
      +
      +
      variableDatums +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +AggregateStatePdu

      +
      +public AggregateStatePdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class EntityManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setAggregateID

      +
      +public void setAggregateID(EntityID pAggregateID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAggregateID

      +
      +public EntityID getAggregateID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setForceID

      +
      +public void setForceID(short pForceID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getForceID

      +
      +public short getForceID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setAggregateState

      +
      +public void setAggregateState(short pAggregateState)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAggregateState

      +
      +public short getAggregateState()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setAggregateType

      +
      +public void setAggregateType(EntityType pAggregateType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAggregateType

      +
      +public EntityType getAggregateType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setFormation

      +
      +public void setFormation(long pFormation)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFormation

      +
      +public long getFormation()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setAggregateMarking

      +
      +public void setAggregateMarking(AggregateMarking pAggregateMarking)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAggregateMarking

      +
      +public AggregateMarking getAggregateMarking()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setDimensions

      +
      +public void setDimensions(Vector3Float pDimensions)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getDimensions

      +
      +public Vector3Float getDimensions()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setOrientation

      +
      +public void setOrientation(Orientation pOrientation)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getOrientation

      +
      +public Orientation getOrientation()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCenterOfMass

      +
      +public void setCenterOfMass(Vector3Double pCenterOfMass)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCenterOfMass

      +
      +public Vector3Double getCenterOfMass()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setVelocity

      +
      +public void setVelocity(Vector3Float pVelocity)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getVelocity

      +
      +public Vector3Float getVelocity()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfDisAggregates

      +
      +public int getNumberOfDisAggregates()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfDisAggregates

      +
      +public void setNumberOfDisAggregates(int pNumberOfDisAggregates)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfDisAggregates method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfDisEntities

      +
      +public int getNumberOfDisEntities()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfDisEntities

      +
      +public void setNumberOfDisEntities(int pNumberOfDisEntities)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfDisEntities method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfSilentAggregateTypes

      +
      +public int getNumberOfSilentAggregateTypes()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfSilentAggregateTypes

      +
      +public void setNumberOfSilentAggregateTypes(int pNumberOfSilentAggregateTypes)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfSilentAggregateTypes method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfSilentEntityTypes

      +
      +public int getNumberOfSilentEntityTypes()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfSilentEntityTypes

      +
      +public void setNumberOfSilentEntityTypes(int pNumberOfSilentEntityTypes)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfSilentEntityTypes method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setAggregateIDList

      +
      +public void setAggregateIDList(java.util.List<AggregateID> pAggregateIDList)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAggregateIDList

      +
      +public java.util.List<AggregateID> getAggregateIDList()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEntityIDList

      +
      +public void setEntityIDList(java.util.List<EntityID> pEntityIDList)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEntityIDList

      +
      +public java.util.List<EntityID> getEntityIDList()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad2

      +
      +public void setPad2(short pPad2)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad2

      +
      +public short getPad2()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSilentAggregateSystemList

      +
      +public void setSilentAggregateSystemList(java.util.List<EntityType> pSilentAggregateSystemList)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSilentAggregateSystemList

      +
      +public java.util.List<EntityType> getSilentAggregateSystemList()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSilentEntitySystemList

      +
      +public void setSilentEntitySystemList(java.util.List<EntityType> pSilentEntitySystemList)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSilentEntitySystemList

      +
      +public java.util.List<EntityType> getSilentEntitySystemList()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfVariableDatumRecords

      +
      +public long getNumberOfVariableDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfVariableDatumRecords

      +
      +public void setNumberOfVariableDatumRecords(long pNumberOfVariableDatumRecords)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfVariableDatumRecords method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setVariableDatumList

      +
      +public void setVariableDatumList(java.util.List<VariableDatum> pVariableDatumList)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getVariableDatumList

      +
      +public java.util.List<VariableDatum> getVariableDatumList()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class EntityManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class EntityManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class EntityManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class EntityManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(AggregateStatePdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/AggregateType.html b/docs/edu/nps/moves/dis/AggregateType.html new file mode 100644 index 00000000..b4c80aed --- /dev/null +++ b/docs/edu/nps/moves/dis/AggregateType.html @@ -0,0 +1,855 @@ + + + + + + +AggregateType + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class AggregateType

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.AggregateType
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class AggregateType
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Section 5.2.38. Identifies the type of aggregate including kind of entity, domain (surface, subsurface, air, etc) country, category, etc. + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortaggregateKind + +
      +          Kind of entity
      +protected  shortcategory + +
      +          category of entity
      +protected  intcountry + +
      +          country to which the design of the entity is attributed
      +protected  shortdomain + +
      +          Domain of entity (air, surface, subsurface, space, etc)
      +protected  shortextra + +
      +           
      +protected  shortspecific + +
      +          specific info based on subcategory field
      +protected  shortsubcategory + +
      +          subcategory of entity
      +  + + + + + + + + + + +
      +Constructor Summary
      AggregateType() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(AggregateType rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + shortgetAggregateKind() + +
      +           
      + shortgetCategory() + +
      +           
      + intgetCountry() + +
      +           
      + shortgetDomain() + +
      +           
      + shortgetExtra() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + shortgetSpecific() + +
      +           
      + shortgetSubcategory() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetAggregateKind(short pAggregateKind) + +
      +           
      + voidsetCategory(short pCategory) + +
      +           
      + voidsetCountry(int pCountry) + +
      +           
      + voidsetDomain(short pDomain) + +
      +           
      + voidsetExtra(short pExtra) + +
      +           
      + voidsetSpecific(short pSpecific) + +
      +           
      + voidsetSubcategory(short pSubcategory) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +aggregateKind

      +
      +protected short aggregateKind
      +
      +
      Kind of entity +

      +

      +
      +
      +
      + +

      +domain

      +
      +protected short domain
      +
      +
      Domain of entity (air, surface, subsurface, space, etc) +

      +

      +
      +
      +
      + +

      +country

      +
      +protected int country
      +
      +
      country to which the design of the entity is attributed +

      +

      +
      +
      +
      + +

      +category

      +
      +protected short category
      +
      +
      category of entity +

      +

      +
      +
      +
      + +

      +subcategory

      +
      +protected short subcategory
      +
      +
      subcategory of entity +

      +

      +
      +
      +
      + +

      +specific

      +
      +protected short specific
      +
      +
      specific info based on subcategory field +

      +

      +
      +
      +
      + +

      +extra

      +
      +protected short extra
      +
      +
      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +AggregateType

      +
      +public AggregateType()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setAggregateKind

      +
      +public void setAggregateKind(short pAggregateKind)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAggregateKind

      +
      +public short getAggregateKind()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setDomain

      +
      +public void setDomain(short pDomain)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getDomain

      +
      +public short getDomain()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCountry

      +
      +public void setCountry(int pCountry)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCountry

      +
      +public int getCountry()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCategory

      +
      +public void setCategory(short pCategory)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCategory

      +
      +public short getCategory()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSubcategory

      +
      +public void setSubcategory(short pSubcategory)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSubcategory

      +
      +public short getSubcategory()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSpecific

      +
      +public void setSpecific(short pSpecific)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSpecific

      +
      +public short getSpecific()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setExtra

      +
      +public void setExtra(short pExtra)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getExtra

      +
      +public short getExtra()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(AggregateType rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/AngularVelocityVector.html b/docs/edu/nps/moves/dis/AngularVelocityVector.html new file mode 100644 index 00000000..0f399a69 --- /dev/null +++ b/docs/edu/nps/moves/dis/AngularVelocityVector.html @@ -0,0 +1,601 @@ + + + + + + +AngularVelocityVector + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class AngularVelocityVector

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.AngularVelocityVector
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class AngularVelocityVector
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +5.2.2: angular velocity measured in radians per second out each of the entity's own coordinate axes. + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  floatx + +
      +          velocity about the x axis
      +protected  floaty + +
      +          velocity about the y axis
      +protected  floatz + +
      +          velocity about the zaxis
      +  + + + + + + + + + + +
      +Constructor Summary
      AngularVelocityVector() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(AngularVelocityVector rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + floatgetX() + +
      +           
      + floatgetY() + +
      +           
      + floatgetZ() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetX(float pX) + +
      +           
      + voidsetY(float pY) + +
      +           
      + voidsetZ(float pZ) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +x

      +
      +protected float x
      +
      +
      velocity about the x axis +

      +

      +
      +
      +
      + +

      +y

      +
      +protected float y
      +
      +
      velocity about the y axis +

      +

      +
      +
      +
      + +

      +z

      +
      +protected float z
      +
      +
      velocity about the zaxis +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +AngularVelocityVector

      +
      +public AngularVelocityVector()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setX

      +
      +public void setX(float pX)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getX

      +
      +public float getX()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setY

      +
      +public void setY(float pY)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getY

      +
      +public float getY()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setZ

      +
      +public void setZ(float pZ)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getZ

      +
      +public float getZ()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(AngularVelocityVector rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/AntennaLocation.html b/docs/edu/nps/moves/dis/AntennaLocation.html new file mode 100644 index 00000000..f0022d8c --- /dev/null +++ b/docs/edu/nps/moves/dis/AntennaLocation.html @@ -0,0 +1,537 @@ + + + + + + +AntennaLocation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class AntennaLocation

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.AntennaLocation
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class AntennaLocation
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +5.2.3: location of the radiating portion of the antenna, specified in world coordinates and entity coordinates. + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  Vector3DoubleantennaLocation + +
      +          Location of the radiating portion of the antenna in world coordinates
      +protected  Vector3FloatrelativeAntennaLocation + +
      +          Location of the radiating portion of the antenna in entity coordinates
      +  + + + + + + + + + + +
      +Constructor Summary
      AntennaLocation() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(AntennaLocation rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + Vector3DoublegetAntennaLocation() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + Vector3FloatgetRelativeAntennaLocation() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetAntennaLocation(Vector3Double pAntennaLocation) + +
      +           
      + voidsetRelativeAntennaLocation(Vector3Float pRelativeAntennaLocation) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +antennaLocation

      +
      +protected Vector3Double antennaLocation
      +
      +
      Location of the radiating portion of the antenna in world coordinates +

      +

      +
      +
      +
      + +

      +relativeAntennaLocation

      +
      +protected Vector3Float relativeAntennaLocation
      +
      +
      Location of the radiating portion of the antenna in entity coordinates +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +AntennaLocation

      +
      +public AntennaLocation()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setAntennaLocation

      +
      +public void setAntennaLocation(Vector3Double pAntennaLocation)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAntennaLocation

      +
      +public Vector3Double getAntennaLocation()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRelativeAntennaLocation

      +
      +public void setRelativeAntennaLocation(Vector3Float pRelativeAntennaLocation)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRelativeAntennaLocation

      +
      +public Vector3Float getRelativeAntennaLocation()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(AntennaLocation rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/ApaData.html b/docs/edu/nps/moves/dis/ApaData.html new file mode 100644 index 00000000..bad8127f --- /dev/null +++ b/docs/edu/nps/moves/dis/ApaData.html @@ -0,0 +1,537 @@ + + + + + + +ApaData + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class ApaData

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.ApaData
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class ApaData
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Used in UA PDU + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  intparameterIndex + +
      +          Index of APA parameter
      +protected  shortparameterValue + +
      +          Index of APA parameter
      +  + + + + + + + + + + +
      +Constructor Summary
      ApaData() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(ApaData rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + intgetParameterIndex() + +
      +           
      + shortgetParameterValue() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetParameterIndex(int pParameterIndex) + +
      +           
      + voidsetParameterValue(short pParameterValue) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +parameterIndex

      +
      +protected int parameterIndex
      +
      +
      Index of APA parameter +

      +

      +
      +
      +
      + +

      +parameterValue

      +
      +protected short parameterValue
      +
      +
      Index of APA parameter +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +ApaData

      +
      +public ApaData()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setParameterIndex

      +
      +public void setParameterIndex(int pParameterIndex)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getParameterIndex

      +
      +public int getParameterIndex()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setParameterValue

      +
      +public void setParameterValue(short pParameterValue)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getParameterValue

      +
      +public short getParameterValue()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(ApaData rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/ArealObjectStatePdu.html b/docs/edu/nps/moves/dis/ArealObjectStatePdu.html new file mode 100644 index 00000000..4dcd0d84 --- /dev/null +++ b/docs/edu/nps/moves/dis/ArealObjectStatePdu.html @@ -0,0 +1,1146 @@ + + + + + + +ArealObjectStatePdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class ArealObjectStatePdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SyntheticEnvironmentFamilyPdu
      +          extended by edu.nps.moves.dis.ArealObjectStatePdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class ArealObjectStatePdu
      extends SyntheticEnvironmentFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.11.5: Information about the addition/modification of an oobject that is geometrically achored to the terrain with a set of three or more points that come to a closure. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortforceID + +
      +          force ID
      +protected  shortmodifications + +
      +          modifications enumeration
      +protected  intnumberOfPoints + +
      +          Number of points
      +protected  SixByteChunkobjectAppearance + +
      +          Object appearance
      +protected  EntityIDobjectID + +
      +          Object in synthetic environment
      +protected  java.util.List<Vector3Double>objectLocation + +
      +          location of object
      +protected  EntityTypeobjectType + +
      +          Object type
      +protected  SimulationAddressreceivingID + +
      +          receiver ID
      +protected  EntityIDreferencedObjectID + +
      +          Object with which this point object is associated
      +protected  SimulationAddressrequesterID + +
      +          requesterID
      +protected  intupdateNumber + +
      +          unique update number of each state transition of an object
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      ArealObjectStatePdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(ArealObjectStatePdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + shortgetForceID() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + shortgetModifications() + +
      +           
      + intgetNumberOfPoints() + +
      +           
      + SixByteChunkgetObjectAppearance() + +
      +           
      + EntityIDgetObjectID() + +
      +           
      + java.util.List<Vector3Double>getObjectLocation() + +
      +           
      + EntityTypegetObjectType() + +
      +           
      + SimulationAddressgetReceivingID() + +
      +           
      + EntityIDgetReferencedObjectID() + +
      +           
      + SimulationAddressgetRequesterID() + +
      +           
      + intgetUpdateNumber() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetForceID(short pForceID) + +
      +           
      + voidsetModifications(short pModifications) + +
      +           
      + voidsetNumberOfPoints(int pNumberOfPoints) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetObjectAppearance(SixByteChunk pObjectAppearance) + +
      +           
      + voidsetObjectID(EntityID pObjectID) + +
      +           
      + voidsetObjectLocation(java.util.List<Vector3Double> pObjectLocation) + +
      +           
      + voidsetObjectType(EntityType pObjectType) + +
      +           
      + voidsetReceivingID(SimulationAddress pReceivingID) + +
      +           
      + voidsetReferencedObjectID(EntityID pReferencedObjectID) + +
      +           
      + voidsetRequesterID(SimulationAddress pRequesterID) + +
      +           
      + voidsetUpdateNumber(int pUpdateNumber) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.SyntheticEnvironmentFamilyPdu
      equals
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +objectID

      +
      +protected EntityID objectID
      +
      +
      Object in synthetic environment +

      +

      +
      +
      +
      + +

      +referencedObjectID

      +
      +protected EntityID referencedObjectID
      +
      +
      Object with which this point object is associated +

      +

      +
      +
      +
      + +

      +updateNumber

      +
      +protected int updateNumber
      +
      +
      unique update number of each state transition of an object +

      +

      +
      +
      +
      + +

      +forceID

      +
      +protected short forceID
      +
      +
      force ID +

      +

      +
      +
      +
      + +

      +modifications

      +
      +protected short modifications
      +
      +
      modifications enumeration +

      +

      +
      +
      +
      + +

      +objectType

      +
      +protected EntityType objectType
      +
      +
      Object type +

      +

      +
      +
      +
      + +

      +objectAppearance

      +
      +protected SixByteChunk objectAppearance
      +
      +
      Object appearance +

      +

      +
      +
      +
      + +

      +numberOfPoints

      +
      +protected int numberOfPoints
      +
      +
      Number of points +

      +

      +
      +
      +
      + +

      +requesterID

      +
      +protected SimulationAddress requesterID
      +
      +
      requesterID +

      +

      +
      +
      +
      + +

      +receivingID

      +
      +protected SimulationAddress receivingID
      +
      +
      receiver ID +

      +

      +
      +
      +
      + +

      +objectLocation

      +
      +protected java.util.List<Vector3Double> objectLocation
      +
      +
      location of object +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +ArealObjectStatePdu

      +
      +public ArealObjectStatePdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class SyntheticEnvironmentFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setObjectID

      +
      +public void setObjectID(EntityID pObjectID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getObjectID

      +
      +public EntityID getObjectID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setReferencedObjectID

      +
      +public void setReferencedObjectID(EntityID pReferencedObjectID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getReferencedObjectID

      +
      +public EntityID getReferencedObjectID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setUpdateNumber

      +
      +public void setUpdateNumber(int pUpdateNumber)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getUpdateNumber

      +
      +public int getUpdateNumber()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setForceID

      +
      +public void setForceID(short pForceID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getForceID

      +
      +public short getForceID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setModifications

      +
      +public void setModifications(short pModifications)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getModifications

      +
      +public short getModifications()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setObjectType

      +
      +public void setObjectType(EntityType pObjectType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getObjectType

      +
      +public EntityType getObjectType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setObjectAppearance

      +
      +public void setObjectAppearance(SixByteChunk pObjectAppearance)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getObjectAppearance

      +
      +public SixByteChunk getObjectAppearance()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfPoints

      +
      +public int getNumberOfPoints()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfPoints

      +
      +public void setNumberOfPoints(int pNumberOfPoints)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfPoints method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setRequesterID

      +
      +public void setRequesterID(SimulationAddress pRequesterID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequesterID

      +
      +public SimulationAddress getRequesterID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setReceivingID

      +
      +public void setReceivingID(SimulationAddress pReceivingID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getReceivingID

      +
      +public SimulationAddress getReceivingID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setObjectLocation

      +
      +public void setObjectLocation(java.util.List<Vector3Double> pObjectLocation)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getObjectLocation

      +
      +public java.util.List<Vector3Double> getObjectLocation()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class SyntheticEnvironmentFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class SyntheticEnvironmentFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class SyntheticEnvironmentFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class SyntheticEnvironmentFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(ArealObjectStatePdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/ArticulationParameter.html b/docs/edu/nps/moves/dis/ArticulationParameter.html new file mode 100644 index 00000000..c8d90317 --- /dev/null +++ b/docs/edu/nps/moves/dis/ArticulationParameter.html @@ -0,0 +1,719 @@ + + + + + + +ArticulationParameter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class ArticulationParameter

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.ArticulationParameter
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class ArticulationParameter
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Section 5.2.5. Articulation parameters for movable parts and attached parts of an entity. Specifes wether or not a change has occured, the part identifcation of the articulated part to which it is attached, and the type and value of each parameter. + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortchangeIndicator + +
      +           
      +protected  intparameterType + +
      +           
      +protected  shortparameterTypeDesignator + +
      +           
      +protected  doubleparameterValue + +
      +           
      +protected  intpartAttachedTo + +
      +           
      +  + + + + + + + + + + +
      +Constructor Summary
      ArticulationParameter() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(ArticulationParameter rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + shortgetChangeIndicator() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + intgetParameterType() + +
      +           
      + shortgetParameterTypeDesignator() + +
      +           
      + doublegetParameterValue() + +
      +           
      + intgetPartAttachedTo() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetChangeIndicator(short pChangeIndicator) + +
      +           
      + voidsetParameterType(int pParameterType) + +
      +           
      + voidsetParameterTypeDesignator(short pParameterTypeDesignator) + +
      +           
      + voidsetParameterValue(double pParameterValue) + +
      +           
      + voidsetPartAttachedTo(int pPartAttachedTo) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +parameterTypeDesignator

      +
      +protected short parameterTypeDesignator
      +
      +
      +
      +
      +
      + +

      +changeIndicator

      +
      +protected short changeIndicator
      +
      +
      +
      +
      +
      + +

      +partAttachedTo

      +
      +protected int partAttachedTo
      +
      +
      +
      +
      +
      + +

      +parameterType

      +
      +protected int parameterType
      +
      +
      +
      +
      +
      + +

      +parameterValue

      +
      +protected double parameterValue
      +
      +
      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +ArticulationParameter

      +
      +public ArticulationParameter()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setParameterTypeDesignator

      +
      +public void setParameterTypeDesignator(short pParameterTypeDesignator)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getParameterTypeDesignator

      +
      +public short getParameterTypeDesignator()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setChangeIndicator

      +
      +public void setChangeIndicator(short pChangeIndicator)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getChangeIndicator

      +
      +public short getChangeIndicator()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPartAttachedTo

      +
      +public void setPartAttachedTo(int pPartAttachedTo)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPartAttachedTo

      +
      +public int getPartAttachedTo()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setParameterType

      +
      +public void setParameterType(int pParameterType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getParameterType

      +
      +public int getParameterType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setParameterValue

      +
      +public void setParameterValue(double pParameterValue)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getParameterValue

      +
      +public double getParameterValue()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(ArticulationParameter rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/BeamAntennaPattern.html b/docs/edu/nps/moves/dis/BeamAntennaPattern.html new file mode 100644 index 00000000..f9240096 --- /dev/null +++ b/docs/edu/nps/moves/dis/BeamAntennaPattern.html @@ -0,0 +1,913 @@ + + + + + + +BeamAntennaPattern + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class BeamAntennaPattern

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.BeamAntennaPattern
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class BeamAntennaPattern
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Section 5.2.4.2. Used when the antenna pattern type field has a value of 1. Specifies the direction, patter, and polarization of radiation from an antenna. + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  floatazimuthBeamwidth + +
      +           
      +protected  OrientationbeamDirection + +
      +          The rotation that transformst he reference coordinate sytem into the beam coordinate system.
      +protected  floatex + +
      +          Magnigute of the x-component in beam coordinates at some arbitrary single point in the mainbeam and in the far field of the antenna.
      +protected  floatez + +
      +          Magnigute of the z-component in beam coordinates at some arbitrary single point in the mainbeam and in the far field of the antenna.
      +protected  shortpadding1 + +
      +           
      +protected  bytepadding2 + +
      +           
      +protected  floatphase + +
      +          THe phase angle between Ez and Ex in radians.
      +protected  floatreferenceSystem + +
      +           
      +  + + + + + + + + + + +
      +Constructor Summary
      BeamAntennaPattern() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(BeamAntennaPattern rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + floatgetAzimuthBeamwidth() + +
      +           
      + OrientationgetBeamDirection() + +
      +           
      + floatgetEx() + +
      +           
      + floatgetEz() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + shortgetPadding1() + +
      +           
      + bytegetPadding2() + +
      +           
      + floatgetPhase() + +
      +           
      + floatgetReferenceSystem() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetAzimuthBeamwidth(float pAzimuthBeamwidth) + +
      +           
      + voidsetBeamDirection(Orientation pBeamDirection) + +
      +           
      + voidsetEx(float pEx) + +
      +           
      + voidsetEz(float pEz) + +
      +           
      + voidsetPadding1(short pPadding1) + +
      +           
      + voidsetPadding2(byte pPadding2) + +
      +           
      + voidsetPhase(float pPhase) + +
      +           
      + voidsetReferenceSystem(float pReferenceSystem) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +beamDirection

      +
      +protected Orientation beamDirection
      +
      +
      The rotation that transformst he reference coordinate sytem into the beam coordinate system. Either world coordinates or entity coordinates may be used as the reference coordinate system, as specified by teh reference system field of the antenna pattern record. +

      +

      +
      +
      +
      + +

      +azimuthBeamwidth

      +
      +protected float azimuthBeamwidth
      +
      +
      +
      +
      +
      + +

      +referenceSystem

      +
      +protected float referenceSystem
      +
      +
      +
      +
      +
      + +

      +padding1

      +
      +protected short padding1
      +
      +
      +
      +
      +
      + +

      +padding2

      +
      +protected byte padding2
      +
      +
      +
      +
      +
      + +

      +ez

      +
      +protected float ez
      +
      +
      Magnigute of the z-component in beam coordinates at some arbitrary single point in the mainbeam and in the far field of the antenna. +

      +

      +
      +
      +
      + +

      +ex

      +
      +protected float ex
      +
      +
      Magnigute of the x-component in beam coordinates at some arbitrary single point in the mainbeam and in the far field of the antenna. +

      +

      +
      +
      +
      + +

      +phase

      +
      +protected float phase
      +
      +
      THe phase angle between Ez and Ex in radians. +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +BeamAntennaPattern

      +
      +public BeamAntennaPattern()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setBeamDirection

      +
      +public void setBeamDirection(Orientation pBeamDirection)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getBeamDirection

      +
      +public Orientation getBeamDirection()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setAzimuthBeamwidth

      +
      +public void setAzimuthBeamwidth(float pAzimuthBeamwidth)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAzimuthBeamwidth

      +
      +public float getAzimuthBeamwidth()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setReferenceSystem

      +
      +public void setReferenceSystem(float pReferenceSystem)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getReferenceSystem

      +
      +public float getReferenceSystem()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPadding1

      +
      +public void setPadding1(short pPadding1)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPadding1

      +
      +public short getPadding1()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPadding2

      +
      +public void setPadding2(byte pPadding2)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPadding2

      +
      +public byte getPadding2()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEz

      +
      +public void setEz(float pEz)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEz

      +
      +public float getEz()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEx

      +
      +public void setEx(float pEx)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEx

      +
      +public float getEx()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPhase

      +
      +public void setPhase(float pPhase)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPhase

      +
      +public float getPhase()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(BeamAntennaPattern rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/BeamData.html b/docs/edu/nps/moves/dis/BeamData.html new file mode 100644 index 00000000..34140940 --- /dev/null +++ b/docs/edu/nps/moves/dis/BeamData.html @@ -0,0 +1,729 @@ + + + + + + +BeamData + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class BeamData

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.BeamData
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class BeamData
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Section 5.2.39. Specification of the data necessary to describe the scan volume of an emitter. + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  floatbeamAzimuthCenter + +
      +          Specifies the beam azimuth an elevation centers and corresponding half-angles to describe the scan volume
      +protected  floatbeamAzimuthSweep + +
      +          Specifies the beam azimuth sweep to determine scan volume
      +protected  floatbeamElevationCenter + +
      +          Specifies the beam elevation center to determine scan volume
      +protected  floatbeamElevationSweep + +
      +          Specifies the beam elevation sweep to determine scan volume
      +protected  floatbeamSweepSync + +
      +          allows receiver to synchronize its regenerated scan pattern to that of the emmitter.
      +  + + + + + + + + + + +
      +Constructor Summary
      BeamData() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(BeamData rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + floatgetBeamAzimuthCenter() + +
      +           
      + floatgetBeamAzimuthSweep() + +
      +           
      + floatgetBeamElevationCenter() + +
      +           
      + floatgetBeamElevationSweep() + +
      +           
      + floatgetBeamSweepSync() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetBeamAzimuthCenter(float pBeamAzimuthCenter) + +
      +           
      + voidsetBeamAzimuthSweep(float pBeamAzimuthSweep) + +
      +           
      + voidsetBeamElevationCenter(float pBeamElevationCenter) + +
      +           
      + voidsetBeamElevationSweep(float pBeamElevationSweep) + +
      +           
      + voidsetBeamSweepSync(float pBeamSweepSync) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +beamAzimuthCenter

      +
      +protected float beamAzimuthCenter
      +
      +
      Specifies the beam azimuth an elevation centers and corresponding half-angles to describe the scan volume +

      +

      +
      +
      +
      + +

      +beamAzimuthSweep

      +
      +protected float beamAzimuthSweep
      +
      +
      Specifies the beam azimuth sweep to determine scan volume +

      +

      +
      +
      +
      + +

      +beamElevationCenter

      +
      +protected float beamElevationCenter
      +
      +
      Specifies the beam elevation center to determine scan volume +

      +

      +
      +
      +
      + +

      +beamElevationSweep

      +
      +protected float beamElevationSweep
      +
      +
      Specifies the beam elevation sweep to determine scan volume +

      +

      +
      +
      +
      + +

      +beamSweepSync

      +
      +protected float beamSweepSync
      +
      +
      allows receiver to synchronize its regenerated scan pattern to that of the emmitter. Specifies the percentage of time a scan is through its pattern from its origion. +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +BeamData

      +
      +public BeamData()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setBeamAzimuthCenter

      +
      +public void setBeamAzimuthCenter(float pBeamAzimuthCenter)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getBeamAzimuthCenter

      +
      +public float getBeamAzimuthCenter()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setBeamAzimuthSweep

      +
      +public void setBeamAzimuthSweep(float pBeamAzimuthSweep)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getBeamAzimuthSweep

      +
      +public float getBeamAzimuthSweep()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setBeamElevationCenter

      +
      +public void setBeamElevationCenter(float pBeamElevationCenter)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getBeamElevationCenter

      +
      +public float getBeamElevationCenter()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setBeamElevationSweep

      +
      +public void setBeamElevationSweep(float pBeamElevationSweep)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getBeamElevationSweep

      +
      +public float getBeamElevationSweep()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setBeamSweepSync

      +
      +public void setBeamSweepSync(float pBeamSweepSync)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getBeamSweepSync

      +
      +public float getBeamSweepSync()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(BeamData rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/BurstDescriptor.html b/docs/edu/nps/moves/dis/BurstDescriptor.html new file mode 100644 index 00000000..b7e19f98 --- /dev/null +++ b/docs/edu/nps/moves/dis/BurstDescriptor.html @@ -0,0 +1,729 @@ + + + + + + +BurstDescriptor + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class BurstDescriptor

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.BurstDescriptor
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class BurstDescriptor
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Section 5.2.7. Specifies the type of muntion fired, the type of warhead, the type of fuse, the number of rounds fired, and the rate at which the roudns are fired in rounds per minute. + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  intfuse + +
      +          type of fuse used
      +protected  EntityTypemunition + +
      +          What munition was used in the burst
      +protected  intquantity + +
      +          how many of the munition were fired
      +protected  intrate + +
      +          rate at which the munition was fired
      +protected  intwarhead + +
      +          type of warhead
      +  + + + + + + + + + + +
      +Constructor Summary
      BurstDescriptor() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(BurstDescriptor rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetFuse() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + EntityTypegetMunition() + +
      +           
      + intgetQuantity() + +
      +           
      + intgetRate() + +
      +           
      + intgetWarhead() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetFuse(int pFuse) + +
      +           
      + voidsetMunition(EntityType pMunition) + +
      +           
      + voidsetQuantity(int pQuantity) + +
      +           
      + voidsetRate(int pRate) + +
      +           
      + voidsetWarhead(int pWarhead) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +munition

      +
      +protected EntityType munition
      +
      +
      What munition was used in the burst +

      +

      +
      +
      +
      + +

      +warhead

      +
      +protected int warhead
      +
      +
      type of warhead +

      +

      +
      +
      +
      + +

      +fuse

      +
      +protected int fuse
      +
      +
      type of fuse used +

      +

      +
      +
      +
      + +

      +quantity

      +
      +protected int quantity
      +
      +
      how many of the munition were fired +

      +

      +
      +
      +
      + +

      +rate

      +
      +protected int rate
      +
      +
      rate at which the munition was fired +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +BurstDescriptor

      +
      +public BurstDescriptor()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setMunition

      +
      +public void setMunition(EntityType pMunition)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getMunition

      +
      +public EntityType getMunition()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setWarhead

      +
      +public void setWarhead(int pWarhead)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getWarhead

      +
      +public int getWarhead()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setFuse

      +
      +public void setFuse(int pFuse)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFuse

      +
      +public int getFuse()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setQuantity

      +
      +public void setQuantity(int pQuantity)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getQuantity

      +
      +public int getQuantity()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRate

      +
      +public void setRate(int pRate)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRate

      +
      +public int getRate()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(BurstDescriptor rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/ClockTime.html b/docs/edu/nps/moves/dis/ClockTime.html new file mode 100644 index 00000000..6b76f601 --- /dev/null +++ b/docs/edu/nps/moves/dis/ClockTime.html @@ -0,0 +1,537 @@ + + + + + + +ClockTime + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class ClockTime

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.ClockTime
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class ClockTime
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Section 5.2.8. Time measurements that exceed one hour. Hours is the number of hours since January 1, 1970, UTC + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  inthour + +
      +          Hours in UTC
      +protected  longtimePastHour + +
      +          Time past the hour
      +  + + + + + + + + + + +
      +Constructor Summary
      ClockTime() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(ClockTime rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetHour() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + longgetTimePastHour() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetHour(int pHour) + +
      +           
      + voidsetTimePastHour(long pTimePastHour) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +hour

      +
      +protected int hour
      +
      +
      Hours in UTC +

      +

      +
      +
      +
      + +

      +timePastHour

      +
      +protected long timePastHour
      +
      +
      Time past the hour +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +ClockTime

      +
      +public ClockTime()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setHour

      +
      +public void setHour(int pHour)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getHour

      +
      +public int getHour()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setTimePastHour

      +
      +public void setTimePastHour(long pTimePastHour)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getTimePastHour

      +
      +public long getTimePastHour()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(ClockTime rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/CollisionElasticPdu.html b/docs/edu/nps/moves/dis/CollisionElasticPdu.html new file mode 100644 index 00000000..41d2a0dd --- /dev/null +++ b/docs/edu/nps/moves/dis/CollisionElasticPdu.html @@ -0,0 +1,1398 @@ + + + + + + +CollisionElasticPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class CollisionElasticPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.EntityInformationFamilyPdu
      +          extended by edu.nps.moves.dis.CollisionElasticPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class CollisionElasticPdu
      extends EntityInformationFamilyPdu
      implements java.io.Serializable
      + + +

      +5.3.3.3. Information about elastic collisions in a DIS exercise shall be communicated using a Collision-Elastic PDU. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  floatcoefficientOfRestitution + +
      +          This field shall represent the degree to which energy is conserved in a collision
      +protected  EntityIDcollidingEntityID + +
      +          ID of entity that has collided with the issuing entity ID
      +protected  EventIDcollisionEventID + +
      +          ID of event
      +protected  floatcollisionResultXX + +
      +          tensor values
      +protected  floatcollisionResultXY + +
      +          tensor values
      +protected  floatcollisionResultXZ + +
      +          tensor values
      +protected  floatcollisionResultYY + +
      +          tensor values
      +protected  floatcollisionResultYZ + +
      +          tensor values
      +protected  floatcollisionResultZZ + +
      +          tensor values
      +protected  Vector3FloatcontactVelocity + +
      +          velocity at collision
      +protected  EntityIDissuingEntityID + +
      +          ID of the entity that issued the collision PDU
      +protected  Vector3Floatlocation + +
      +          Location with respect to entity the issuing entity collided with
      +protected  floatmass + +
      +          mass of issuing entity
      +protected  shortpad + +
      +          some padding
      +protected  Vector3FloatunitSurfaceNormal + +
      +          This record shall represent the normal vector to the surface at the point of collision detection.
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      CollisionElasticPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(CollisionElasticPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + floatgetCoefficientOfRestitution() + +
      +           
      + EntityIDgetCollidingEntityID() + +
      +           
      + EventIDgetCollisionEventID() + +
      +           
      + floatgetCollisionResultXX() + +
      +           
      + floatgetCollisionResultXY() + +
      +           
      + floatgetCollisionResultXZ() + +
      +           
      + floatgetCollisionResultYY() + +
      +           
      + floatgetCollisionResultYZ() + +
      +           
      + floatgetCollisionResultZZ() + +
      +           
      + Vector3FloatgetContactVelocity() + +
      +           
      + EntityIDgetIssuingEntityID() + +
      +           
      + Vector3FloatgetLocation() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + floatgetMass() + +
      +           
      + shortgetPad() + +
      +           
      + Vector3FloatgetUnitSurfaceNormal() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetCoefficientOfRestitution(float pCoefficientOfRestitution) + +
      +           
      + voidsetCollidingEntityID(EntityID pCollidingEntityID) + +
      +           
      + voidsetCollisionEventID(EventID pCollisionEventID) + +
      +           
      + voidsetCollisionResultXX(float pCollisionResultXX) + +
      +           
      + voidsetCollisionResultXY(float pCollisionResultXY) + +
      +           
      + voidsetCollisionResultXZ(float pCollisionResultXZ) + +
      +           
      + voidsetCollisionResultYY(float pCollisionResultYY) + +
      +           
      + voidsetCollisionResultYZ(float pCollisionResultYZ) + +
      +           
      + voidsetCollisionResultZZ(float pCollisionResultZZ) + +
      +           
      + voidsetContactVelocity(Vector3Float pContactVelocity) + +
      +           
      + voidsetIssuingEntityID(EntityID pIssuingEntityID) + +
      +           
      + voidsetLocation(Vector3Float pLocation) + +
      +           
      + voidsetMass(float pMass) + +
      +           
      + voidsetPad(short pPad) + +
      +           
      + voidsetUnitSurfaceNormal(Vector3Float pUnitSurfaceNormal) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.EntityInformationFamilyPdu
      equals
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +issuingEntityID

      +
      +protected EntityID issuingEntityID
      +
      +
      ID of the entity that issued the collision PDU +

      +

      +
      +
      +
      + +

      +collidingEntityID

      +
      +protected EntityID collidingEntityID
      +
      +
      ID of entity that has collided with the issuing entity ID +

      +

      +
      +
      +
      + +

      +collisionEventID

      +
      +protected EventID collisionEventID
      +
      +
      ID of event +

      +

      +
      +
      +
      + +

      +pad

      +
      +protected short pad
      +
      +
      some padding +

      +

      +
      +
      +
      + +

      +contactVelocity

      +
      +protected Vector3Float contactVelocity
      +
      +
      velocity at collision +

      +

      +
      +
      +
      + +

      +mass

      +
      +protected float mass
      +
      +
      mass of issuing entity +

      +

      +
      +
      +
      + +

      +location

      +
      +protected Vector3Float location
      +
      +
      Location with respect to entity the issuing entity collided with +

      +

      +
      +
      +
      + +

      +collisionResultXX

      +
      +protected float collisionResultXX
      +
      +
      tensor values +

      +

      +
      +
      +
      + +

      +collisionResultXY

      +
      +protected float collisionResultXY
      +
      +
      tensor values +

      +

      +
      +
      +
      + +

      +collisionResultXZ

      +
      +protected float collisionResultXZ
      +
      +
      tensor values +

      +

      +
      +
      +
      + +

      +collisionResultYY

      +
      +protected float collisionResultYY
      +
      +
      tensor values +

      +

      +
      +
      +
      + +

      +collisionResultYZ

      +
      +protected float collisionResultYZ
      +
      +
      tensor values +

      +

      +
      +
      +
      + +

      +collisionResultZZ

      +
      +protected float collisionResultZZ
      +
      +
      tensor values +

      +

      +
      +
      +
      + +

      +unitSurfaceNormal

      +
      +protected Vector3Float unitSurfaceNormal
      +
      +
      This record shall represent the normal vector to the surface at the point of collision detection. The surface normal shall be represented in world coordinates. +

      +

      +
      +
      +
      + +

      +coefficientOfRestitution

      +
      +protected float coefficientOfRestitution
      +
      +
      This field shall represent the degree to which energy is conserved in a collision +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +CollisionElasticPdu

      +
      +public CollisionElasticPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class EntityInformationFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setIssuingEntityID

      +
      +public void setIssuingEntityID(EntityID pIssuingEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getIssuingEntityID

      +
      +public EntityID getIssuingEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCollidingEntityID

      +
      +public void setCollidingEntityID(EntityID pCollidingEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCollidingEntityID

      +
      +public EntityID getCollidingEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCollisionEventID

      +
      +public void setCollisionEventID(EventID pCollisionEventID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCollisionEventID

      +
      +public EventID getCollisionEventID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad

      +
      +public void setPad(short pPad)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad

      +
      +public short getPad()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setContactVelocity

      +
      +public void setContactVelocity(Vector3Float pContactVelocity)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getContactVelocity

      +
      +public Vector3Float getContactVelocity()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setMass

      +
      +public void setMass(float pMass)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getMass

      +
      +public float getMass()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setLocation

      +
      +public void setLocation(Vector3Float pLocation)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getLocation

      +
      +public Vector3Float getLocation()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCollisionResultXX

      +
      +public void setCollisionResultXX(float pCollisionResultXX)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCollisionResultXX

      +
      +public float getCollisionResultXX()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCollisionResultXY

      +
      +public void setCollisionResultXY(float pCollisionResultXY)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCollisionResultXY

      +
      +public float getCollisionResultXY()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCollisionResultXZ

      +
      +public void setCollisionResultXZ(float pCollisionResultXZ)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCollisionResultXZ

      +
      +public float getCollisionResultXZ()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCollisionResultYY

      +
      +public void setCollisionResultYY(float pCollisionResultYY)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCollisionResultYY

      +
      +public float getCollisionResultYY()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCollisionResultYZ

      +
      +public void setCollisionResultYZ(float pCollisionResultYZ)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCollisionResultYZ

      +
      +public float getCollisionResultYZ()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCollisionResultZZ

      +
      +public void setCollisionResultZZ(float pCollisionResultZZ)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCollisionResultZZ

      +
      +public float getCollisionResultZZ()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setUnitSurfaceNormal

      +
      +public void setUnitSurfaceNormal(Vector3Float pUnitSurfaceNormal)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getUnitSurfaceNormal

      +
      +public Vector3Float getUnitSurfaceNormal()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCoefficientOfRestitution

      +
      +public void setCoefficientOfRestitution(float pCoefficientOfRestitution)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCoefficientOfRestitution

      +
      +public float getCoefficientOfRestitution()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class EntityInformationFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class EntityInformationFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class EntityInformationFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class EntityInformationFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(CollisionElasticPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/CollisionPdu.html b/docs/edu/nps/moves/dis/CollisionPdu.html new file mode 100644 index 00000000..7ef3281e --- /dev/null +++ b/docs/edu/nps/moves/dis/CollisionPdu.html @@ -0,0 +1,950 @@ + + + + + + +CollisionPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class CollisionPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.EntityInformationFamilyPdu
      +          extended by edu.nps.moves.dis.CollisionPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class CollisionPdu
      extends EntityInformationFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.3.2. Information about a collision. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  EntityIDcollidingEntityID + +
      +          ID of entity that has collided with the issuing entity ID
      +protected  shortcollisionType + +
      +          ID of event
      +protected  EventIDeventID + +
      +          ID of event
      +protected  EntityIDissuingEntityID + +
      +          ID of the entity that issued the collision PDU
      +protected  Vector3Floatlocation + +
      +          Location with respect to entity the issuing entity collided with
      +protected  floatmass + +
      +          mass of issuing entity
      +protected  bytepad + +
      +          some padding
      +protected  Vector3Floatvelocity + +
      +          velocity at collision
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      CollisionPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(CollisionPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + EntityIDgetCollidingEntityID() + +
      +           
      + shortgetCollisionType() + +
      +           
      + EventIDgetEventID() + +
      +           
      + EntityIDgetIssuingEntityID() + +
      +           
      + Vector3FloatgetLocation() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + floatgetMass() + +
      +           
      + bytegetPad() + +
      +           
      + Vector3FloatgetVelocity() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetCollidingEntityID(EntityID pCollidingEntityID) + +
      +           
      + voidsetCollisionType(short pCollisionType) + +
      +           
      + voidsetEventID(EventID pEventID) + +
      +           
      + voidsetIssuingEntityID(EntityID pIssuingEntityID) + +
      +           
      + voidsetLocation(Vector3Float pLocation) + +
      +           
      + voidsetMass(float pMass) + +
      +           
      + voidsetPad(byte pPad) + +
      +           
      + voidsetVelocity(Vector3Float pVelocity) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.EntityInformationFamilyPdu
      equals
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +issuingEntityID

      +
      +protected EntityID issuingEntityID
      +
      +
      ID of the entity that issued the collision PDU +

      +

      +
      +
      +
      + +

      +collidingEntityID

      +
      +protected EntityID collidingEntityID
      +
      +
      ID of entity that has collided with the issuing entity ID +

      +

      +
      +
      +
      + +

      +eventID

      +
      +protected EventID eventID
      +
      +
      ID of event +

      +

      +
      +
      +
      + +

      +collisionType

      +
      +protected short collisionType
      +
      +
      ID of event +

      +

      +
      +
      +
      + +

      +pad

      +
      +protected byte pad
      +
      +
      some padding +

      +

      +
      +
      +
      + +

      +velocity

      +
      +protected Vector3Float velocity
      +
      +
      velocity at collision +

      +

      +
      +
      +
      + +

      +mass

      +
      +protected float mass
      +
      +
      mass of issuing entity +

      +

      +
      +
      +
      + +

      +location

      +
      +protected Vector3Float location
      +
      +
      Location with respect to entity the issuing entity collided with +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +CollisionPdu

      +
      +public CollisionPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class EntityInformationFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setIssuingEntityID

      +
      +public void setIssuingEntityID(EntityID pIssuingEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getIssuingEntityID

      +
      +public EntityID getIssuingEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCollidingEntityID

      +
      +public void setCollidingEntityID(EntityID pCollidingEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCollidingEntityID

      +
      +public EntityID getCollidingEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEventID

      +
      +public void setEventID(EventID pEventID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEventID

      +
      +public EventID getEventID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCollisionType

      +
      +public void setCollisionType(short pCollisionType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCollisionType

      +
      +public short getCollisionType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad

      +
      +public void setPad(byte pPad)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad

      +
      +public byte getPad()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setVelocity

      +
      +public void setVelocity(Vector3Float pVelocity)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getVelocity

      +
      +public Vector3Float getVelocity()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setMass

      +
      +public void setMass(float pMass)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getMass

      +
      +public float getMass()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setLocation

      +
      +public void setLocation(Vector3Float pLocation)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getLocation

      +
      +public Vector3Float getLocation()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class EntityInformationFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class EntityInformationFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class EntityInformationFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class EntityInformationFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(CollisionPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/CommentPdu.html b/docs/edu/nps/moves/dis/CommentPdu.html new file mode 100644 index 00000000..76f2b2b0 --- /dev/null +++ b/docs/edu/nps/moves/dis/CommentPdu.html @@ -0,0 +1,711 @@ + + + + + + +CommentPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class CommentPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SimulationManagementFamilyPdu
      +          extended by edu.nps.moves.dis.CommentPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class CommentPdu
      extends SimulationManagementFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.6.12. Arbitrary messages can be entered into the data stream via use of this PDU. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  java.util.List<FixedDatum>fixedDatums + +
      +          variable length list of fixed datums
      +protected  longnumberOfFixedDatumRecords + +
      +          Number of fixed datum records
      +protected  longnumberOfVariableDatumRecords + +
      +          Number of variable datum records
      +protected  java.util.List<VariableDatum>variableDatums + +
      +          variable length list of variable length datums
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.SimulationManagementFamilyPdu
      originatingEntityID, receivingEntityID
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      CommentPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(CommentPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + java.util.List<FixedDatum>getFixedDatums() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + longgetNumberOfFixedDatumRecords() + +
      +           
      + longgetNumberOfVariableDatumRecords() + +
      +           
      + java.util.List<VariableDatum>getVariableDatums() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetFixedDatums(java.util.List<FixedDatum> pFixedDatums) + +
      +           
      + voidsetNumberOfFixedDatumRecords(long pNumberOfFixedDatumRecords) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetNumberOfVariableDatumRecords(long pNumberOfVariableDatumRecords) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetVariableDatums(java.util.List<VariableDatum> pVariableDatums) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.SimulationManagementFamilyPdu
      equals, getOriginatingEntityID, getReceivingEntityID, setOriginatingEntityID, setReceivingEntityID
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +numberOfFixedDatumRecords

      +
      +protected long numberOfFixedDatumRecords
      +
      +
      Number of fixed datum records +

      +

      +
      +
      +
      + +

      +numberOfVariableDatumRecords

      +
      +protected long numberOfVariableDatumRecords
      +
      +
      Number of variable datum records +

      +

      +
      +
      +
      + +

      +fixedDatums

      +
      +protected java.util.List<FixedDatum> fixedDatums
      +
      +
      variable length list of fixed datums +

      +

      +
      +
      +
      + +

      +variableDatums

      +
      +protected java.util.List<VariableDatum> variableDatums
      +
      +
      variable length list of variable length datums +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +CommentPdu

      +
      +public CommentPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfFixedDatumRecords

      +
      +public long getNumberOfFixedDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfFixedDatumRecords

      +
      +public void setNumberOfFixedDatumRecords(long pNumberOfFixedDatumRecords)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfFixedDatumRecords method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfVariableDatumRecords

      +
      +public long getNumberOfVariableDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfVariableDatumRecords

      +
      +public void setNumberOfVariableDatumRecords(long pNumberOfVariableDatumRecords)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfVariableDatumRecords method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setFixedDatums

      +
      +public void setFixedDatums(java.util.List<FixedDatum> pFixedDatums)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFixedDatums

      +
      +public java.util.List<FixedDatum> getFixedDatums()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setVariableDatums

      +
      +public void setVariableDatums(java.util.List<VariableDatum> pVariableDatums)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getVariableDatums

      +
      +public java.util.List<VariableDatum> getVariableDatums()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class SimulationManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class SimulationManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(CommentPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/CommentReliablePdu.html b/docs/edu/nps/moves/dis/CommentReliablePdu.html new file mode 100644 index 00000000..812ab60d --- /dev/null +++ b/docs/edu/nps/moves/dis/CommentReliablePdu.html @@ -0,0 +1,711 @@ + + + + + + +CommentReliablePdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class CommentReliablePdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      +          extended by edu.nps.moves.dis.CommentReliablePdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class CommentReliablePdu
      extends SimulationManagementWithReliabilityFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.12.12: Arbitrary messages. Only reliable this time. Neds manual intervention to fix padding in variable datums. UNFINISHED + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  java.util.List<FixedDatum>fixedDatumRecords + +
      +          Fixed datum records
      +protected  longnumberOfFixedDatumRecords + +
      +          Fixed datum record count
      +protected  longnumberOfVariableDatumRecords + +
      +          variable datum record count
      +protected  java.util.List<VariableDatum>variableDatumRecords + +
      +          Variable datum records
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      originatingEntityID, receivingEntityID
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      CommentReliablePdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(CommentReliablePdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + java.util.List<FixedDatum>getFixedDatumRecords() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + longgetNumberOfFixedDatumRecords() + +
      +           
      + longgetNumberOfVariableDatumRecords() + +
      +           
      + java.util.List<VariableDatum>getVariableDatumRecords() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetFixedDatumRecords(java.util.List<FixedDatum> pFixedDatumRecords) + +
      +           
      + voidsetNumberOfFixedDatumRecords(long pNumberOfFixedDatumRecords) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetNumberOfVariableDatumRecords(long pNumberOfVariableDatumRecords) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetVariableDatumRecords(java.util.List<VariableDatum> pVariableDatumRecords) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      equals, getOriginatingEntityID, getReceivingEntityID, setOriginatingEntityID, setReceivingEntityID
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +numberOfFixedDatumRecords

      +
      +protected long numberOfFixedDatumRecords
      +
      +
      Fixed datum record count +

      +

      +
      +
      +
      + +

      +numberOfVariableDatumRecords

      +
      +protected long numberOfVariableDatumRecords
      +
      +
      variable datum record count +

      +

      +
      +
      +
      + +

      +fixedDatumRecords

      +
      +protected java.util.List<FixedDatum> fixedDatumRecords
      +
      +
      Fixed datum records +

      +

      +
      +
      +
      + +

      +variableDatumRecords

      +
      +protected java.util.List<VariableDatum> variableDatumRecords
      +
      +
      Variable datum records +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +CommentReliablePdu

      +
      +public CommentReliablePdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfFixedDatumRecords

      +
      +public long getNumberOfFixedDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfFixedDatumRecords

      +
      +public void setNumberOfFixedDatumRecords(long pNumberOfFixedDatumRecords)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfFixedDatumRecords method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfVariableDatumRecords

      +
      +public long getNumberOfVariableDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfVariableDatumRecords

      +
      +public void setNumberOfVariableDatumRecords(long pNumberOfVariableDatumRecords)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfVariableDatumRecords method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setFixedDatumRecords

      +
      +public void setFixedDatumRecords(java.util.List<FixedDatum> pFixedDatumRecords)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFixedDatumRecords

      +
      +public java.util.List<FixedDatum> getFixedDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setVariableDatumRecords

      +
      +public void setVariableDatumRecords(java.util.List<VariableDatum> pVariableDatumRecords)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getVariableDatumRecords

      +
      +public java.util.List<VariableDatum> getVariableDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(CommentReliablePdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/CreateEntityPdu.html b/docs/edu/nps/moves/dis/CreateEntityPdu.html new file mode 100644 index 00000000..7ec758d0 --- /dev/null +++ b/docs/edu/nps/moves/dis/CreateEntityPdu.html @@ -0,0 +1,511 @@ + + + + + + +CreateEntityPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class CreateEntityPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SimulationManagementFamilyPdu
      +          extended by edu.nps.moves.dis.CreateEntityPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class CreateEntityPdu
      extends SimulationManagementFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.6.1. Create a new entity. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + +
      +Field Summary
      +protected  longrequestID + +
      +          Identifier for the request
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.SimulationManagementFamilyPdu
      originatingEntityID, receivingEntityID
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      CreateEntityPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(CreateEntityPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + longgetRequestID() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetRequestID(long pRequestID) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.SimulationManagementFamilyPdu
      equals, getOriginatingEntityID, getReceivingEntityID, setOriginatingEntityID, setReceivingEntityID
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +requestID

      +
      +protected long requestID
      +
      +
      Identifier for the request +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +CreateEntityPdu

      +
      +public CreateEntityPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setRequestID

      +
      +public void setRequestID(long pRequestID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestID

      +
      +public long getRequestID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class SimulationManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class SimulationManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(CreateEntityPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/CreateEntityReliablePdu.html b/docs/edu/nps/moves/dis/CreateEntityReliablePdu.html new file mode 100644 index 00000000..81314984 --- /dev/null +++ b/docs/edu/nps/moves/dis/CreateEntityReliablePdu.html @@ -0,0 +1,703 @@ + + + + + + +CreateEntityReliablePdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class CreateEntityReliablePdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      +          extended by edu.nps.moves.dis.CreateEntityReliablePdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class CreateEntityReliablePdu
      extends SimulationManagementWithReliabilityFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.12.1: creation of an entity , reliable. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  intpad1 + +
      +          padding
      +protected  shortpad2 + +
      +          padding
      +protected  longrequestID + +
      +          Request ID
      +protected  shortrequiredReliabilityService + +
      +          level of reliability service used for this transaction
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      originatingEntityID, receivingEntityID
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      CreateEntityReliablePdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(CreateEntityReliablePdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + intgetPad1() + +
      +           
      + shortgetPad2() + +
      +           
      + longgetRequestID() + +
      +           
      + shortgetRequiredReliabilityService() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetPad1(int pPad1) + +
      +           
      + voidsetPad2(short pPad2) + +
      +           
      + voidsetRequestID(long pRequestID) + +
      +           
      + voidsetRequiredReliabilityService(short pRequiredReliabilityService) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      equals, getOriginatingEntityID, getReceivingEntityID, setOriginatingEntityID, setReceivingEntityID
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +requiredReliabilityService

      +
      +protected short requiredReliabilityService
      +
      +
      level of reliability service used for this transaction +

      +

      +
      +
      +
      + +

      +pad1

      +
      +protected int pad1
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +pad2

      +
      +protected short pad2
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +requestID

      +
      +protected long requestID
      +
      +
      Request ID +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +CreateEntityReliablePdu

      +
      +public CreateEntityReliablePdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setRequiredReliabilityService

      +
      +public void setRequiredReliabilityService(short pRequiredReliabilityService)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequiredReliabilityService

      +
      +public short getRequiredReliabilityService()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad1

      +
      +public void setPad1(int pPad1)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad1

      +
      +public int getPad1()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad2

      +
      +public void setPad2(short pPad2)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad2

      +
      +public short getPad2()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRequestID

      +
      +public void setRequestID(long pRequestID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestID

      +
      +public long getRequestID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(CreateEntityReliablePdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/DataPdu.html b/docs/edu/nps/moves/dis/DataPdu.html new file mode 100644 index 00000000..aa1c79d6 --- /dev/null +++ b/docs/edu/nps/moves/dis/DataPdu.html @@ -0,0 +1,839 @@ + + + + + + +DataPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class DataPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SimulationManagementFamilyPdu
      +          extended by edu.nps.moves.dis.DataPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class DataPdu
      extends SimulationManagementFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.6.10. Information issued in response to a data query pdu or a set data pdu is communicated using a data pdu. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  java.util.List<FixedDatum>fixedDatums + +
      +          variable length list of fixed datums
      +protected  longnumberOfFixedDatumRecords + +
      +          Number of fixed datum records
      +protected  longnumberOfVariableDatumRecords + +
      +          Number of variable datum records
      +protected  longpadding1 + +
      +          padding
      +protected  longrequestID + +
      +          ID of request
      +protected  java.util.List<VariableDatum>variableDatums + +
      +          variable length list of variable length datums
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.SimulationManagementFamilyPdu
      originatingEntityID, receivingEntityID
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      DataPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(DataPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + java.util.List<FixedDatum>getFixedDatums() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + longgetNumberOfFixedDatumRecords() + +
      +           
      + longgetNumberOfVariableDatumRecords() + +
      +           
      + longgetPadding1() + +
      +           
      + longgetRequestID() + +
      +           
      + java.util.List<VariableDatum>getVariableDatums() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetFixedDatums(java.util.List<FixedDatum> pFixedDatums) + +
      +           
      + voidsetNumberOfFixedDatumRecords(long pNumberOfFixedDatumRecords) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetNumberOfVariableDatumRecords(long pNumberOfVariableDatumRecords) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetPadding1(long pPadding1) + +
      +           
      + voidsetRequestID(long pRequestID) + +
      +           
      + voidsetVariableDatums(java.util.List<VariableDatum> pVariableDatums) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.SimulationManagementFamilyPdu
      equals, getOriginatingEntityID, getReceivingEntityID, setOriginatingEntityID, setReceivingEntityID
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +requestID

      +
      +protected long requestID
      +
      +
      ID of request +

      +

      +
      +
      +
      + +

      +padding1

      +
      +protected long padding1
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +numberOfFixedDatumRecords

      +
      +protected long numberOfFixedDatumRecords
      +
      +
      Number of fixed datum records +

      +

      +
      +
      +
      + +

      +numberOfVariableDatumRecords

      +
      +protected long numberOfVariableDatumRecords
      +
      +
      Number of variable datum records +

      +

      +
      +
      +
      + +

      +fixedDatums

      +
      +protected java.util.List<FixedDatum> fixedDatums
      +
      +
      variable length list of fixed datums +

      +

      +
      +
      +
      + +

      +variableDatums

      +
      +protected java.util.List<VariableDatum> variableDatums
      +
      +
      variable length list of variable length datums +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +DataPdu

      +
      +public DataPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setRequestID

      +
      +public void setRequestID(long pRequestID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestID

      +
      +public long getRequestID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPadding1

      +
      +public void setPadding1(long pPadding1)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPadding1

      +
      +public long getPadding1()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfFixedDatumRecords

      +
      +public long getNumberOfFixedDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfFixedDatumRecords

      +
      +public void setNumberOfFixedDatumRecords(long pNumberOfFixedDatumRecords)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfFixedDatumRecords method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfVariableDatumRecords

      +
      +public long getNumberOfVariableDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfVariableDatumRecords

      +
      +public void setNumberOfVariableDatumRecords(long pNumberOfVariableDatumRecords)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfVariableDatumRecords method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setFixedDatums

      +
      +public void setFixedDatums(java.util.List<FixedDatum> pFixedDatums)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFixedDatums

      +
      +public java.util.List<FixedDatum> getFixedDatums()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setVariableDatums

      +
      +public void setVariableDatums(java.util.List<VariableDatum> pVariableDatums)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getVariableDatums

      +
      +public java.util.List<VariableDatum> getVariableDatums()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class SimulationManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class SimulationManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(DataPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/DataQueryPdu.html b/docs/edu/nps/moves/dis/DataQueryPdu.html new file mode 100644 index 00000000..13be469a --- /dev/null +++ b/docs/edu/nps/moves/dis/DataQueryPdu.html @@ -0,0 +1,839 @@ + + + + + + +DataQueryPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class DataQueryPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SimulationManagementFamilyPdu
      +          extended by edu.nps.moves.dis.DataQueryPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class DataQueryPdu
      extends SimulationManagementFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.6.8. Request for data from an entity. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  java.util.List<FixedDatum>fixedDatums + +
      +          variable length list of fixed datums
      +protected  longnumberOfFixedDatumRecords + +
      +          Number of fixed datum records
      +protected  longnumberOfVariableDatumRecords + +
      +          Number of variable datum records
      +protected  longrequestID + +
      +          ID of request
      +protected  longtimeInterval + +
      +          time issues between issues of Data PDUs.
      +protected  java.util.List<VariableDatum>variableDatums + +
      +          variable length list of variable length datums
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.SimulationManagementFamilyPdu
      originatingEntityID, receivingEntityID
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      DataQueryPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(DataQueryPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + java.util.List<FixedDatum>getFixedDatums() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + longgetNumberOfFixedDatumRecords() + +
      +           
      + longgetNumberOfVariableDatumRecords() + +
      +           
      + longgetRequestID() + +
      +           
      + longgetTimeInterval() + +
      +           
      + java.util.List<VariableDatum>getVariableDatums() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetFixedDatums(java.util.List<FixedDatum> pFixedDatums) + +
      +           
      + voidsetNumberOfFixedDatumRecords(long pNumberOfFixedDatumRecords) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetNumberOfVariableDatumRecords(long pNumberOfVariableDatumRecords) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetRequestID(long pRequestID) + +
      +           
      + voidsetTimeInterval(long pTimeInterval) + +
      +           
      + voidsetVariableDatums(java.util.List<VariableDatum> pVariableDatums) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.SimulationManagementFamilyPdu
      equals, getOriginatingEntityID, getReceivingEntityID, setOriginatingEntityID, setReceivingEntityID
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +requestID

      +
      +protected long requestID
      +
      +
      ID of request +

      +

      +
      +
      +
      + +

      +timeInterval

      +
      +protected long timeInterval
      +
      +
      time issues between issues of Data PDUs. Zero means send once only. +

      +

      +
      +
      +
      + +

      +numberOfFixedDatumRecords

      +
      +protected long numberOfFixedDatumRecords
      +
      +
      Number of fixed datum records +

      +

      +
      +
      +
      + +

      +numberOfVariableDatumRecords

      +
      +protected long numberOfVariableDatumRecords
      +
      +
      Number of variable datum records +

      +

      +
      +
      +
      + +

      +fixedDatums

      +
      +protected java.util.List<FixedDatum> fixedDatums
      +
      +
      variable length list of fixed datums +

      +

      +
      +
      +
      + +

      +variableDatums

      +
      +protected java.util.List<VariableDatum> variableDatums
      +
      +
      variable length list of variable length datums +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +DataQueryPdu

      +
      +public DataQueryPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setRequestID

      +
      +public void setRequestID(long pRequestID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestID

      +
      +public long getRequestID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setTimeInterval

      +
      +public void setTimeInterval(long pTimeInterval)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getTimeInterval

      +
      +public long getTimeInterval()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfFixedDatumRecords

      +
      +public long getNumberOfFixedDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfFixedDatumRecords

      +
      +public void setNumberOfFixedDatumRecords(long pNumberOfFixedDatumRecords)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfFixedDatumRecords method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfVariableDatumRecords

      +
      +public long getNumberOfVariableDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfVariableDatumRecords

      +
      +public void setNumberOfVariableDatumRecords(long pNumberOfVariableDatumRecords)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfVariableDatumRecords method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setFixedDatums

      +
      +public void setFixedDatums(java.util.List<FixedDatum> pFixedDatums)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFixedDatums

      +
      +public java.util.List<FixedDatum> getFixedDatums()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setVariableDatums

      +
      +public void setVariableDatums(java.util.List<VariableDatum> pVariableDatums)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getVariableDatums

      +
      +public java.util.List<VariableDatum> getVariableDatums()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class SimulationManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class SimulationManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(DataQueryPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/DataQueryReliablePdu.html b/docs/edu/nps/moves/dis/DataQueryReliablePdu.html new file mode 100644 index 00000000..00bb620b --- /dev/null +++ b/docs/edu/nps/moves/dis/DataQueryReliablePdu.html @@ -0,0 +1,1031 @@ + + + + + + +DataQueryReliablePdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class DataQueryReliablePdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      +          extended by edu.nps.moves.dis.DataQueryReliablePdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class DataQueryReliablePdu
      extends SimulationManagementWithReliabilityFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.12.8: request for data from an entity. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  java.util.List<FixedDatum>fixedDatumRecords + +
      +          Fixed datum records
      +protected  longnumberOfFixedDatumRecords + +
      +          Fixed datum record count
      +protected  longnumberOfVariableDatumRecords + +
      +          variable datum record count
      +protected  intpad1 + +
      +          padding
      +protected  shortpad2 + +
      +          padding
      +protected  longrequestID + +
      +          request ID
      +protected  shortrequiredReliabilityService + +
      +          level of reliability service used for this transaction
      +protected  longtimeInterval + +
      +          time interval between issuing data query PDUs
      +protected  java.util.List<VariableDatum>variableDatumRecords + +
      +          Variable datum records
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      originatingEntityID, receivingEntityID
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      DataQueryReliablePdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(DataQueryReliablePdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + java.util.List<FixedDatum>getFixedDatumRecords() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + longgetNumberOfFixedDatumRecords() + +
      +           
      + longgetNumberOfVariableDatumRecords() + +
      +           
      + intgetPad1() + +
      +           
      + shortgetPad2() + +
      +           
      + longgetRequestID() + +
      +           
      + shortgetRequiredReliabilityService() + +
      +           
      + longgetTimeInterval() + +
      +           
      + java.util.List<VariableDatum>getVariableDatumRecords() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetFixedDatumRecords(java.util.List<FixedDatum> pFixedDatumRecords) + +
      +           
      + voidsetNumberOfFixedDatumRecords(long pNumberOfFixedDatumRecords) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetNumberOfVariableDatumRecords(long pNumberOfVariableDatumRecords) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetPad1(int pPad1) + +
      +           
      + voidsetPad2(short pPad2) + +
      +           
      + voidsetRequestID(long pRequestID) + +
      +           
      + voidsetRequiredReliabilityService(short pRequiredReliabilityService) + +
      +           
      + voidsetTimeInterval(long pTimeInterval) + +
      +           
      + voidsetVariableDatumRecords(java.util.List<VariableDatum> pVariableDatumRecords) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      equals, getOriginatingEntityID, getReceivingEntityID, setOriginatingEntityID, setReceivingEntityID
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +requiredReliabilityService

      +
      +protected short requiredReliabilityService
      +
      +
      level of reliability service used for this transaction +

      +

      +
      +
      +
      + +

      +pad1

      +
      +protected int pad1
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +pad2

      +
      +protected short pad2
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +requestID

      +
      +protected long requestID
      +
      +
      request ID +

      +

      +
      +
      +
      + +

      +timeInterval

      +
      +protected long timeInterval
      +
      +
      time interval between issuing data query PDUs +

      +

      +
      +
      +
      + +

      +numberOfFixedDatumRecords

      +
      +protected long numberOfFixedDatumRecords
      +
      +
      Fixed datum record count +

      +

      +
      +
      +
      + +

      +numberOfVariableDatumRecords

      +
      +protected long numberOfVariableDatumRecords
      +
      +
      variable datum record count +

      +

      +
      +
      +
      + +

      +fixedDatumRecords

      +
      +protected java.util.List<FixedDatum> fixedDatumRecords
      +
      +
      Fixed datum records +

      +

      +
      +
      +
      + +

      +variableDatumRecords

      +
      +protected java.util.List<VariableDatum> variableDatumRecords
      +
      +
      Variable datum records +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +DataQueryReliablePdu

      +
      +public DataQueryReliablePdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setRequiredReliabilityService

      +
      +public void setRequiredReliabilityService(short pRequiredReliabilityService)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequiredReliabilityService

      +
      +public short getRequiredReliabilityService()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad1

      +
      +public void setPad1(int pPad1)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad1

      +
      +public int getPad1()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad2

      +
      +public void setPad2(short pPad2)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad2

      +
      +public short getPad2()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRequestID

      +
      +public void setRequestID(long pRequestID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestID

      +
      +public long getRequestID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setTimeInterval

      +
      +public void setTimeInterval(long pTimeInterval)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getTimeInterval

      +
      +public long getTimeInterval()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfFixedDatumRecords

      +
      +public long getNumberOfFixedDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfFixedDatumRecords

      +
      +public void setNumberOfFixedDatumRecords(long pNumberOfFixedDatumRecords)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfFixedDatumRecords method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfVariableDatumRecords

      +
      +public long getNumberOfVariableDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfVariableDatumRecords

      +
      +public void setNumberOfVariableDatumRecords(long pNumberOfVariableDatumRecords)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfVariableDatumRecords method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setFixedDatumRecords

      +
      +public void setFixedDatumRecords(java.util.List<FixedDatum> pFixedDatumRecords)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFixedDatumRecords

      +
      +public java.util.List<FixedDatum> getFixedDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setVariableDatumRecords

      +
      +public void setVariableDatumRecords(java.util.List<VariableDatum> pVariableDatumRecords)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getVariableDatumRecords

      +
      +public java.util.List<VariableDatum> getVariableDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(DataQueryReliablePdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/DataReliablePdu.html b/docs/edu/nps/moves/dis/DataReliablePdu.html new file mode 100644 index 00000000..88135436 --- /dev/null +++ b/docs/edu/nps/moves/dis/DataReliablePdu.html @@ -0,0 +1,967 @@ + + + + + + +DataReliablePdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class DataReliablePdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      +          extended by edu.nps.moves.dis.DataReliablePdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class DataReliablePdu
      extends SimulationManagementWithReliabilityFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.12.10: issued in response to a data query R or set dataR pdu. Needs manual intervention to fix padding on variable datums. UNFINSIHED + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  java.util.List<FixedDatum>fixedDatumRecords + +
      +          Fixed datum records
      +protected  longnumberOfFixedDatumRecords + +
      +          Fixed datum record count
      +protected  longnumberOfVariableDatumRecords + +
      +          variable datum record count
      +protected  intpad1 + +
      +          padding
      +protected  shortpad2 + +
      +          padding
      +protected  longrequestID + +
      +          Request ID
      +protected  shortrequiredReliabilityService + +
      +          level of reliability service used for this transaction
      +protected  java.util.List<VariableDatum>variableDatumRecords + +
      +          Variable datum records
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      originatingEntityID, receivingEntityID
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      DataReliablePdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(DataReliablePdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + java.util.List<FixedDatum>getFixedDatumRecords() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + longgetNumberOfFixedDatumRecords() + +
      +           
      + longgetNumberOfVariableDatumRecords() + +
      +           
      + intgetPad1() + +
      +           
      + shortgetPad2() + +
      +           
      + longgetRequestID() + +
      +           
      + shortgetRequiredReliabilityService() + +
      +           
      + java.util.List<VariableDatum>getVariableDatumRecords() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetFixedDatumRecords(java.util.List<FixedDatum> pFixedDatumRecords) + +
      +           
      + voidsetNumberOfFixedDatumRecords(long pNumberOfFixedDatumRecords) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetNumberOfVariableDatumRecords(long pNumberOfVariableDatumRecords) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetPad1(int pPad1) + +
      +           
      + voidsetPad2(short pPad2) + +
      +           
      + voidsetRequestID(long pRequestID) + +
      +           
      + voidsetRequiredReliabilityService(short pRequiredReliabilityService) + +
      +           
      + voidsetVariableDatumRecords(java.util.List<VariableDatum> pVariableDatumRecords) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      equals, getOriginatingEntityID, getReceivingEntityID, setOriginatingEntityID, setReceivingEntityID
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +requestID

      +
      +protected long requestID
      +
      +
      Request ID +

      +

      +
      +
      +
      + +

      +requiredReliabilityService

      +
      +protected short requiredReliabilityService
      +
      +
      level of reliability service used for this transaction +

      +

      +
      +
      +
      + +

      +pad1

      +
      +protected int pad1
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +pad2

      +
      +protected short pad2
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +numberOfFixedDatumRecords

      +
      +protected long numberOfFixedDatumRecords
      +
      +
      Fixed datum record count +

      +

      +
      +
      +
      + +

      +numberOfVariableDatumRecords

      +
      +protected long numberOfVariableDatumRecords
      +
      +
      variable datum record count +

      +

      +
      +
      +
      + +

      +fixedDatumRecords

      +
      +protected java.util.List<FixedDatum> fixedDatumRecords
      +
      +
      Fixed datum records +

      +

      +
      +
      +
      + +

      +variableDatumRecords

      +
      +protected java.util.List<VariableDatum> variableDatumRecords
      +
      +
      Variable datum records +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +DataReliablePdu

      +
      +public DataReliablePdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setRequestID

      +
      +public void setRequestID(long pRequestID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestID

      +
      +public long getRequestID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRequiredReliabilityService

      +
      +public void setRequiredReliabilityService(short pRequiredReliabilityService)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequiredReliabilityService

      +
      +public short getRequiredReliabilityService()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad1

      +
      +public void setPad1(int pPad1)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad1

      +
      +public int getPad1()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad2

      +
      +public void setPad2(short pPad2)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad2

      +
      +public short getPad2()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfFixedDatumRecords

      +
      +public long getNumberOfFixedDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfFixedDatumRecords

      +
      +public void setNumberOfFixedDatumRecords(long pNumberOfFixedDatumRecords)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfFixedDatumRecords method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfVariableDatumRecords

      +
      +public long getNumberOfVariableDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfVariableDatumRecords

      +
      +public void setNumberOfVariableDatumRecords(long pNumberOfVariableDatumRecords)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfVariableDatumRecords method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setFixedDatumRecords

      +
      +public void setFixedDatumRecords(java.util.List<FixedDatum> pFixedDatumRecords)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFixedDatumRecords

      +
      +public java.util.List<FixedDatum> getFixedDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setVariableDatumRecords

      +
      +public void setVariableDatumRecords(java.util.List<VariableDatum> pVariableDatumRecords)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getVariableDatumRecords

      +
      +public java.util.List<VariableDatum> getVariableDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(DataReliablePdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/DeadReckoningParameter.html b/docs/edu/nps/moves/dis/DeadReckoningParameter.html new file mode 100644 index 00000000..d528d37d --- /dev/null +++ b/docs/edu/nps/moves/dis/DeadReckoningParameter.html @@ -0,0 +1,665 @@ + + + + + + +DeadReckoningParameter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class DeadReckoningParameter

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.DeadReckoningParameter
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class DeadReckoningParameter
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +represents values used in dead reckoning algorithms + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortdeadReckoningAlgorithm + +
      +          enumeration of what dead reckoning algorighm to use
      +protected  Vector3FloatentityAngularVelocity + +
      +          angular velocity of the entity
      +protected  Vector3FloatentityLinearAcceleration + +
      +          Linear acceleration of the entity
      +protected  byte[]otherParameters + +
      +          other parameters to use in the dead reckoning algorithm
      +  + + + + + + + + + + +
      +Constructor Summary
      DeadReckoningParameter() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(DeadReckoningParameter rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + shortgetDeadReckoningAlgorithm() + +
      +           
      + Vector3FloatgetEntityAngularVelocity() + +
      +           
      + Vector3FloatgetEntityLinearAcceleration() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + byte[]getOtherParameters() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetDeadReckoningAlgorithm(short pDeadReckoningAlgorithm) + +
      +           
      + voidsetEntityAngularVelocity(Vector3Float pEntityAngularVelocity) + +
      +           
      + voidsetEntityLinearAcceleration(Vector3Float pEntityLinearAcceleration) + +
      +           
      + voidsetOtherParameters(byte[] pOtherParameters) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +deadReckoningAlgorithm

      +
      +protected short deadReckoningAlgorithm
      +
      +
      enumeration of what dead reckoning algorighm to use +

      +

      +
      +
      +
      + +

      +otherParameters

      +
      +protected byte[] otherParameters
      +
      +
      other parameters to use in the dead reckoning algorithm +

      +

      +
      +
      +
      + +

      +entityLinearAcceleration

      +
      +protected Vector3Float entityLinearAcceleration
      +
      +
      Linear acceleration of the entity +

      +

      +
      +
      +
      + +

      +entityAngularVelocity

      +
      +protected Vector3Float entityAngularVelocity
      +
      +
      angular velocity of the entity +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +DeadReckoningParameter

      +
      +public DeadReckoningParameter()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setDeadReckoningAlgorithm

      +
      +public void setDeadReckoningAlgorithm(short pDeadReckoningAlgorithm)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getDeadReckoningAlgorithm

      +
      +public short getDeadReckoningAlgorithm()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setOtherParameters

      +
      +public void setOtherParameters(byte[] pOtherParameters)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getOtherParameters

      +
      +public byte[] getOtherParameters()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEntityLinearAcceleration

      +
      +public void setEntityLinearAcceleration(Vector3Float pEntityLinearAcceleration)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEntityLinearAcceleration

      +
      +public Vector3Float getEntityLinearAcceleration()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEntityAngularVelocity

      +
      +public void setEntityAngularVelocity(Vector3Float pEntityAngularVelocity)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEntityAngularVelocity

      +
      +public Vector3Float getEntityAngularVelocity()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(DeadReckoningParameter rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/DesignatorPdu.html b/docs/edu/nps/moves/dis/DesignatorPdu.html new file mode 100644 index 00000000..65b3c892 --- /dev/null +++ b/docs/edu/nps/moves/dis/DesignatorPdu.html @@ -0,0 +1,1206 @@ + + + + + + +DesignatorPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class DesignatorPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.DistributedEmissionsFamilyPdu
      +          extended by edu.nps.moves.dis.DesignatorPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class DesignatorPdu
      extends DistributedEmissionsFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.7.2. Handles designating operations. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  intcodeName + +
      +          This field shall specify a unique emitter database number assigned to differentiate between otherwise similar or identical emitter beams within an emitter system.
      +protected  bytedeadReckoningAlgorithm + +
      +          Dead reckoning algorithm
      +protected  EntityIDdesignatedEntityID + +
      +          ID of the entity being designated
      +protected  EntityIDdesignatingEntityID + +
      +          ID of the entity designating
      +protected  intdesignatorCode + +
      +          This field shall identify the designator code being used by the designating entity
      +protected  floatdesignatorPower + +
      +          This field shall identify the designator output power in watts
      +protected  Vector3DoubledesignatorSpotLocation + +
      +          designtor spot wrt the designated entity
      +protected  Vector3FloatdesignatorSpotWrtDesignated + +
      +          designtor spot wrt the designated entity
      +protected  floatdesignatorWavelength + +
      +          This field shall identify the designator wavelength in units of microns
      +protected  Vector3FloatentityLinearAcceleration + +
      +          linear accelleration of entity
      +protected  intpadding1 + +
      +          padding
      +protected  bytepadding2 + +
      +          padding
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      DesignatorPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(DesignatorPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetCodeName() + +
      +           
      + bytegetDeadReckoningAlgorithm() + +
      +           
      + EntityIDgetDesignatedEntityID() + +
      +           
      + EntityIDgetDesignatingEntityID() + +
      +           
      + intgetDesignatorCode() + +
      +           
      + floatgetDesignatorPower() + +
      +           
      + Vector3DoublegetDesignatorSpotLocation() + +
      +           
      + Vector3FloatgetDesignatorSpotWrtDesignated() + +
      +           
      + floatgetDesignatorWavelength() + +
      +           
      + Vector3FloatgetEntityLinearAcceleration() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + intgetPadding1() + +
      +           
      + bytegetPadding2() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetCodeName(int pCodeName) + +
      +           
      + voidsetDeadReckoningAlgorithm(byte pDeadReckoningAlgorithm) + +
      +           
      + voidsetDesignatedEntityID(EntityID pDesignatedEntityID) + +
      +           
      + voidsetDesignatingEntityID(EntityID pDesignatingEntityID) + +
      +           
      + voidsetDesignatorCode(int pDesignatorCode) + +
      +           
      + voidsetDesignatorPower(float pDesignatorPower) + +
      +           
      + voidsetDesignatorSpotLocation(Vector3Double pDesignatorSpotLocation) + +
      +           
      + voidsetDesignatorSpotWrtDesignated(Vector3Float pDesignatorSpotWrtDesignated) + +
      +           
      + voidsetDesignatorWavelength(float pDesignatorWavelength) + +
      +           
      + voidsetEntityLinearAcceleration(Vector3Float pEntityLinearAcceleration) + +
      +           
      + voidsetPadding1(int pPadding1) + +
      +           
      + voidsetPadding2(byte pPadding2) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.DistributedEmissionsFamilyPdu
      equals
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +designatingEntityID

      +
      +protected EntityID designatingEntityID
      +
      +
      ID of the entity designating +

      +

      +
      +
      +
      + +

      +codeName

      +
      +protected int codeName
      +
      +
      This field shall specify a unique emitter database number assigned to differentiate between otherwise similar or identical emitter beams within an emitter system. +

      +

      +
      +
      +
      + +

      +designatedEntityID

      +
      +protected EntityID designatedEntityID
      +
      +
      ID of the entity being designated +

      +

      +
      +
      +
      + +

      +designatorCode

      +
      +protected int designatorCode
      +
      +
      This field shall identify the designator code being used by the designating entity +

      +

      +
      +
      +
      + +

      +designatorPower

      +
      +protected float designatorPower
      +
      +
      This field shall identify the designator output power in watts +

      +

      +
      +
      +
      + +

      +designatorWavelength

      +
      +protected float designatorWavelength
      +
      +
      This field shall identify the designator wavelength in units of microns +

      +

      +
      +
      +
      + +

      +designatorSpotWrtDesignated

      +
      +protected Vector3Float designatorSpotWrtDesignated
      +
      +
      designtor spot wrt the designated entity +

      +

      +
      +
      +
      + +

      +designatorSpotLocation

      +
      +protected Vector3Double designatorSpotLocation
      +
      +
      designtor spot wrt the designated entity +

      +

      +
      +
      +
      + +

      +deadReckoningAlgorithm

      +
      +protected byte deadReckoningAlgorithm
      +
      +
      Dead reckoning algorithm +

      +

      +
      +
      +
      + +

      +padding1

      +
      +protected int padding1
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +padding2

      +
      +protected byte padding2
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +entityLinearAcceleration

      +
      +protected Vector3Float entityLinearAcceleration
      +
      +
      linear accelleration of entity +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +DesignatorPdu

      +
      +public DesignatorPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class DistributedEmissionsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setDesignatingEntityID

      +
      +public void setDesignatingEntityID(EntityID pDesignatingEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getDesignatingEntityID

      +
      +public EntityID getDesignatingEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCodeName

      +
      +public void setCodeName(int pCodeName)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCodeName

      +
      +public int getCodeName()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setDesignatedEntityID

      +
      +public void setDesignatedEntityID(EntityID pDesignatedEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getDesignatedEntityID

      +
      +public EntityID getDesignatedEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setDesignatorCode

      +
      +public void setDesignatorCode(int pDesignatorCode)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getDesignatorCode

      +
      +public int getDesignatorCode()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setDesignatorPower

      +
      +public void setDesignatorPower(float pDesignatorPower)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getDesignatorPower

      +
      +public float getDesignatorPower()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setDesignatorWavelength

      +
      +public void setDesignatorWavelength(float pDesignatorWavelength)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getDesignatorWavelength

      +
      +public float getDesignatorWavelength()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setDesignatorSpotWrtDesignated

      +
      +public void setDesignatorSpotWrtDesignated(Vector3Float pDesignatorSpotWrtDesignated)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getDesignatorSpotWrtDesignated

      +
      +public Vector3Float getDesignatorSpotWrtDesignated()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setDesignatorSpotLocation

      +
      +public void setDesignatorSpotLocation(Vector3Double pDesignatorSpotLocation)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getDesignatorSpotLocation

      +
      +public Vector3Double getDesignatorSpotLocation()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setDeadReckoningAlgorithm

      +
      +public void setDeadReckoningAlgorithm(byte pDeadReckoningAlgorithm)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getDeadReckoningAlgorithm

      +
      +public byte getDeadReckoningAlgorithm()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPadding1

      +
      +public void setPadding1(int pPadding1)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPadding1

      +
      +public int getPadding1()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPadding2

      +
      +public void setPadding2(byte pPadding2)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPadding2

      +
      +public byte getPadding2()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEntityLinearAcceleration

      +
      +public void setEntityLinearAcceleration(Vector3Float pEntityLinearAcceleration)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEntityLinearAcceleration

      +
      +public Vector3Float getEntityLinearAcceleration()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class DistributedEmissionsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class DistributedEmissionsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class DistributedEmissionsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class DistributedEmissionsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(DesignatorPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/DetonationPdu.html b/docs/edu/nps/moves/dis/DetonationPdu.html new file mode 100644 index 00000000..e872cda5 --- /dev/null +++ b/docs/edu/nps/moves/dis/DetonationPdu.html @@ -0,0 +1,1089 @@ + + + + + + +DetonationPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class DetonationPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.WarfareFamilyPdu
      +          extended by edu.nps.moves.dis.DetonationPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class DetonationPdu
      extends WarfareFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.4.2. Information about stuff exploding. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  java.util.List<ArticulationParameter>articulationParameters + +
      +           
      +protected  BurstDescriptorburstDescriptor + +
      +          Describes munition used
      +protected  shortdetonationResult + +
      +          result of the explosion
      +protected  EventIDeventID + +
      +          ID firing event
      +protected  Vector3FloatlocationInEntityCoordinates + +
      +          location of the detonation or impact in the target entity's coordinate system.
      +protected  Vector3DoublelocationInWorldCoordinates + +
      +          where the detonation is, in world coordinates
      +protected  EntityIDmunitionID + +
      +          ID of muntion that was fired
      +protected  shortnumberOfArticulationParameters + +
      +          How many articulation parameters we have
      +protected  shortpad + +
      +          padding
      +protected  Vector3Floatvelocity + +
      +          ID firing event
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.WarfareFamilyPdu
      firingEntityID, targetEntityID
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      DetonationPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(DetonationPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + java.util.List<ArticulationParameter>getArticulationParameters() + +
      +           
      + BurstDescriptorgetBurstDescriptor() + +
      +           
      + shortgetDetonationResult() + +
      +           
      + EventIDgetEventID() + +
      +           
      + Vector3FloatgetLocationInEntityCoordinates() + +
      +           
      + Vector3DoublegetLocationInWorldCoordinates() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + EntityIDgetMunitionID() + +
      +           
      + shortgetNumberOfArticulationParameters() + +
      +           
      + shortgetPad() + +
      +           
      + Vector3FloatgetVelocity() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetArticulationParameters(java.util.List<ArticulationParameter> pArticulationParameters) + +
      +           
      + voidsetBurstDescriptor(BurstDescriptor pBurstDescriptor) + +
      +           
      + voidsetDetonationResult(short pDetonationResult) + +
      +           
      + voidsetEventID(EventID pEventID) + +
      +           
      + voidsetLocationInEntityCoordinates(Vector3Float pLocationInEntityCoordinates) + +
      +           
      + voidsetLocationInWorldCoordinates(Vector3Double pLocationInWorldCoordinates) + +
      +           
      + voidsetMunitionID(EntityID pMunitionID) + +
      +           
      + voidsetNumberOfArticulationParameters(short pNumberOfArticulationParameters) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetPad(short pPad) + +
      +           
      + voidsetVelocity(Vector3Float pVelocity) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.WarfareFamilyPdu
      equals, getFiringEntityID, getTargetEntityID, setFiringEntityID, setTargetEntityID
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +munitionID

      +
      +protected EntityID munitionID
      +
      +
      ID of muntion that was fired +

      +

      +
      +
      +
      + +

      +eventID

      +
      +protected EventID eventID
      +
      +
      ID firing event +

      +

      +
      +
      +
      + +

      +velocity

      +
      +protected Vector3Float velocity
      +
      +
      ID firing event +

      +

      +
      +
      +
      + +

      +locationInWorldCoordinates

      +
      +protected Vector3Double locationInWorldCoordinates
      +
      +
      where the detonation is, in world coordinates +

      +

      +
      +
      +
      + +

      +burstDescriptor

      +
      +protected BurstDescriptor burstDescriptor
      +
      +
      Describes munition used +

      +

      +
      +
      +
      + +

      +locationInEntityCoordinates

      +
      +protected Vector3Float locationInEntityCoordinates
      +
      +
      location of the detonation or impact in the target entity's coordinate system. This information should be used for damage assessment. +

      +

      +
      +
      +
      + +

      +detonationResult

      +
      +protected short detonationResult
      +
      +
      result of the explosion +

      +

      +
      +
      +
      + +

      +numberOfArticulationParameters

      +
      +protected short numberOfArticulationParameters
      +
      +
      How many articulation parameters we have +

      +

      +
      +
      +
      + +

      +pad

      +
      +protected short pad
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +articulationParameters

      +
      +protected java.util.List<ArticulationParameter> articulationParameters
      +
      +
      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +DetonationPdu

      +
      +public DetonationPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class WarfareFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setMunitionID

      +
      +public void setMunitionID(EntityID pMunitionID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getMunitionID

      +
      +public EntityID getMunitionID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEventID

      +
      +public void setEventID(EventID pEventID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEventID

      +
      +public EventID getEventID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setVelocity

      +
      +public void setVelocity(Vector3Float pVelocity)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getVelocity

      +
      +public Vector3Float getVelocity()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setLocationInWorldCoordinates

      +
      +public void setLocationInWorldCoordinates(Vector3Double pLocationInWorldCoordinates)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getLocationInWorldCoordinates

      +
      +public Vector3Double getLocationInWorldCoordinates()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setBurstDescriptor

      +
      +public void setBurstDescriptor(BurstDescriptor pBurstDescriptor)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getBurstDescriptor

      +
      +public BurstDescriptor getBurstDescriptor()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setLocationInEntityCoordinates

      +
      +public void setLocationInEntityCoordinates(Vector3Float pLocationInEntityCoordinates)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getLocationInEntityCoordinates

      +
      +public Vector3Float getLocationInEntityCoordinates()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setDetonationResult

      +
      +public void setDetonationResult(short pDetonationResult)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getDetonationResult

      +
      +public short getDetonationResult()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfArticulationParameters

      +
      +public short getNumberOfArticulationParameters()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfArticulationParameters

      +
      +public void setNumberOfArticulationParameters(short pNumberOfArticulationParameters)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfArticulationParameters method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad

      +
      +public void setPad(short pPad)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad

      +
      +public short getPad()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setArticulationParameters

      +
      +public void setArticulationParameters(java.util.List<ArticulationParameter> pArticulationParameters)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getArticulationParameters

      +
      +public java.util.List<ArticulationParameter> getArticulationParameters()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class WarfareFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class WarfareFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class WarfareFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class WarfareFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(DetonationPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/DistributedEmissionsFamilyPdu.html b/docs/edu/nps/moves/dis/DistributedEmissionsFamilyPdu.html new file mode 100644 index 00000000..cd946735 --- /dev/null +++ b/docs/edu/nps/moves/dis/DistributedEmissionsFamilyPdu.html @@ -0,0 +1,422 @@ + + + + + + +DistributedEmissionsFamilyPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class DistributedEmissionsFamilyPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.DistributedEmissionsFamilyPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      Direct Known Subclasses:
      DesignatorPdu, ElectronicEmissionsPdu, IffAtcNavAidsLayer1Pdu, SeesPdu, UaPdu
      +
      +
      +
      +
      public class DistributedEmissionsFamilyPdu
      extends Pdu
      implements java.io.Serializable
      + + +

      +Section 5.3.7. Electronic Emissions. Abstract superclass for distirubted emissions PDU + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + +
      +Field Summary
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      DistributedEmissionsFamilyPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(DistributedEmissionsFamilyPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Constructor Detail
      + +

      +DistributedEmissionsFamilyPdu

      +
      +public DistributedEmissionsFamilyPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class Pdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class Pdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(DistributedEmissionsFamilyPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/EightByteChunk.html b/docs/edu/nps/moves/dis/EightByteChunk.html new file mode 100644 index 00000000..74a18850 --- /dev/null +++ b/docs/edu/nps/moves/dis/EightByteChunk.html @@ -0,0 +1,473 @@ + + + + + + +EightByteChunk + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class EightByteChunk

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.EightByteChunk
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class EightByteChunk
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +64 bit piece of data + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + +
      +Field Summary
      +protected  byte[]otherParameters + +
      +          Eight bytes of arbitrary data
      +  + + + + + + + + + + +
      +Constructor Summary
      EightByteChunk() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(EightByteChunk rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + byte[]getOtherParameters() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetOtherParameters(byte[] pOtherParameters) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +otherParameters

      +
      +protected byte[] otherParameters
      +
      +
      Eight bytes of arbitrary data +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +EightByteChunk

      +
      +public EightByteChunk()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setOtherParameters

      +
      +public void setOtherParameters(byte[] pOtherParameters)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getOtherParameters

      +
      +public byte[] getOtherParameters()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(EightByteChunk rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/ElectronicEmissionBeamData.html b/docs/edu/nps/moves/dis/ElectronicEmissionBeamData.html new file mode 100644 index 00000000..81e59ad5 --- /dev/null +++ b/docs/edu/nps/moves/dis/ElectronicEmissionBeamData.html @@ -0,0 +1,1053 @@ + + + + + + +ElectronicEmissionBeamData + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class ElectronicEmissionBeamData

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.ElectronicEmissionBeamData
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class ElectronicEmissionBeamData
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Description of one electronic emission beam + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortbeamDataLength + +
      +          This field shall specify the length of this beams data in 32 bit words
      +protected  shortbeamFunction + +
      +          beam function of a particular beam
      +protected  shortbeamIDNumber + +
      +          This field shall specify a unique emitter database number assigned to differentiate between otherwise similar or identical emitter beams within an emitter system.
      +protected  intbeamParameterIndex + +
      +          This field shall specify a Beam Parameter Index number that shall be used by receiving entities in conjunction with the Emitter Name field to provide a pointer to the stored database parameters required to regenerate the beam.
      +protected  FundamentalParameterDatafundamentalParameterData + +
      +          Fundamental parameter data such as frequency range, beam sweep, etc.
      +protected  shorthighDensityTrackJam + +
      +          wheher or not the receiving simulation apps can assume all the targets in the scan pattern are being tracked/jammed
      +protected  longjammingModeSequence + +
      +          identify jamming techniques used
      +protected  shortnumberOfTrackJamTargets + +
      +          Number of track/jam targets
      +protected  shortpad4 + +
      +          padding
      +protected  java.util.List<TrackJamTarget>trackJamTargets + +
      +          variable length list of track/jam targets
      +  + + + + + + + + + + +
      +Constructor Summary
      ElectronicEmissionBeamData() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(ElectronicEmissionBeamData rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + shortgetBeamDataLength() + +
      +           
      + shortgetBeamFunction() + +
      +           
      + shortgetBeamIDNumber() + +
      +           
      + intgetBeamParameterIndex() + +
      +           
      + FundamentalParameterDatagetFundamentalParameterData() + +
      +           
      + shortgetHighDensityTrackJam() + +
      +           
      + longgetJammingModeSequence() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + shortgetNumberOfTrackJamTargets() + +
      +           
      + shortgetPad4() + +
      +           
      + java.util.List<TrackJamTarget>getTrackJamTargets() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetBeamDataLength(short pBeamDataLength) + +
      +           
      + voidsetBeamFunction(short pBeamFunction) + +
      +           
      + voidsetBeamIDNumber(short pBeamIDNumber) + +
      +           
      + voidsetBeamParameterIndex(int pBeamParameterIndex) + +
      +           
      + voidsetFundamentalParameterData(FundamentalParameterData pFundamentalParameterData) + +
      +           
      + voidsetHighDensityTrackJam(short pHighDensityTrackJam) + +
      +           
      + voidsetJammingModeSequence(long pJammingModeSequence) + +
      +           
      + voidsetNumberOfTrackJamTargets(short pNumberOfTrackJamTargets) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetPad4(short pPad4) + +
      +           
      + voidsetTrackJamTargets(java.util.List<TrackJamTarget> pTrackJamTargets) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +beamDataLength

      +
      +protected short beamDataLength
      +
      +
      This field shall specify the length of this beams data in 32 bit words +

      +

      +
      +
      +
      + +

      +beamIDNumber

      +
      +protected short beamIDNumber
      +
      +
      This field shall specify a unique emitter database number assigned to differentiate between otherwise similar or identical emitter beams within an emitter system. +

      +

      +
      +
      +
      + +

      +beamParameterIndex

      +
      +protected int beamParameterIndex
      +
      +
      This field shall specify a Beam Parameter Index number that shall be used by receiving entities in conjunction with the Emitter Name field to provide a pointer to the stored database parameters required to regenerate the beam. +

      +

      +
      +
      +
      + +

      +fundamentalParameterData

      +
      +protected FundamentalParameterData fundamentalParameterData
      +
      +
      Fundamental parameter data such as frequency range, beam sweep, etc. +

      +

      +
      +
      +
      + +

      +beamFunction

      +
      +protected short beamFunction
      +
      +
      beam function of a particular beam +

      +

      +
      +
      +
      + +

      +numberOfTrackJamTargets

      +
      +protected short numberOfTrackJamTargets
      +
      +
      Number of track/jam targets +

      +

      +
      +
      +
      + +

      +highDensityTrackJam

      +
      +protected short highDensityTrackJam
      +
      +
      wheher or not the receiving simulation apps can assume all the targets in the scan pattern are being tracked/jammed +

      +

      +
      +
      +
      + +

      +pad4

      +
      +protected short pad4
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +jammingModeSequence

      +
      +protected long jammingModeSequence
      +
      +
      identify jamming techniques used +

      +

      +
      +
      +
      + +

      +trackJamTargets

      +
      +protected java.util.List<TrackJamTarget> trackJamTargets
      +
      +
      variable length list of track/jam targets +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +ElectronicEmissionBeamData

      +
      +public ElectronicEmissionBeamData()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setBeamDataLength

      +
      +public void setBeamDataLength(short pBeamDataLength)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getBeamDataLength

      +
      +public short getBeamDataLength()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setBeamIDNumber

      +
      +public void setBeamIDNumber(short pBeamIDNumber)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getBeamIDNumber

      +
      +public short getBeamIDNumber()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setBeamParameterIndex

      +
      +public void setBeamParameterIndex(int pBeamParameterIndex)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getBeamParameterIndex

      +
      +public int getBeamParameterIndex()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setFundamentalParameterData

      +
      +public void setFundamentalParameterData(FundamentalParameterData pFundamentalParameterData)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFundamentalParameterData

      +
      +public FundamentalParameterData getFundamentalParameterData()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setBeamFunction

      +
      +public void setBeamFunction(short pBeamFunction)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getBeamFunction

      +
      +public short getBeamFunction()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfTrackJamTargets

      +
      +public short getNumberOfTrackJamTargets()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfTrackJamTargets

      +
      +public void setNumberOfTrackJamTargets(short pNumberOfTrackJamTargets)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfTrackJamTargets method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setHighDensityTrackJam

      +
      +public void setHighDensityTrackJam(short pHighDensityTrackJam)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getHighDensityTrackJam

      +
      +public short getHighDensityTrackJam()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad4

      +
      +public void setPad4(short pPad4)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad4

      +
      +public short getPad4()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setJammingModeSequence

      +
      +public void setJammingModeSequence(long pJammingModeSequence)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getJammingModeSequence

      +
      +public long getJammingModeSequence()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setTrackJamTargets

      +
      +public void setTrackJamTargets(java.util.List<TrackJamTarget> pTrackJamTargets)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getTrackJamTargets

      +
      +public java.util.List<TrackJamTarget> getTrackJamTargets()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(ElectronicEmissionBeamData rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/ElectronicEmissionSystemData.html b/docs/edu/nps/moves/dis/ElectronicEmissionSystemData.html new file mode 100644 index 00000000..2d21952f --- /dev/null +++ b/docs/edu/nps/moves/dis/ElectronicEmissionSystemData.html @@ -0,0 +1,797 @@ + + + + + + +ElectronicEmissionSystemData + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class ElectronicEmissionSystemData

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.ElectronicEmissionSystemData
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class ElectronicEmissionSystemData
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Data about one electronic system + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  java.util.List<ElectronicEmissionBeamData>beamDataRecords + +
      +          variable length list of beam data records
      +protected  intemissionsPadding2 + +
      +          padding.
      +protected  EmitterSystememitterSystem + +
      +          This field shall specify information about a particular emitter system
      +protected  Vector3Floatlocation + +
      +          Location with respect to the entity
      +protected  shortnumberOfBeams + +
      +          This field shall specify the number of beams being described in the current PDU for the system being described.
      +protected  shortsystemDataLength + +
      +          This field shall specify the length of this emitter system?s data (including beam data and its track/jam information) in 32-bit words.
      +  + + + + + + + + + + +
      +Constructor Summary
      ElectronicEmissionSystemData() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(ElectronicEmissionSystemData rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + java.util.List<ElectronicEmissionBeamData>getBeamDataRecords() + +
      +           
      + intgetEmissionsPadding2() + +
      +           
      + EmitterSystemgetEmitterSystem() + +
      +           
      + Vector3FloatgetLocation() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + shortgetNumberOfBeams() + +
      +           
      + shortgetSystemDataLength() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetBeamDataRecords(java.util.List<ElectronicEmissionBeamData> pBeamDataRecords) + +
      +           
      + voidsetEmissionsPadding2(int pEmissionsPadding2) + +
      +           
      + voidsetEmitterSystem(EmitterSystem pEmitterSystem) + +
      +           
      + voidsetLocation(Vector3Float pLocation) + +
      +           
      + voidsetNumberOfBeams(short pNumberOfBeams) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetSystemDataLength(short pSystemDataLength) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +systemDataLength

      +
      +protected short systemDataLength
      +
      +
      This field shall specify the length of this emitter system?s data (including beam data and its track/jam information) in 32-bit words. The length shall include the System Data Length field. +

      +

      +
      +
      +
      + +

      +numberOfBeams

      +
      +protected short numberOfBeams
      +
      +
      This field shall specify the number of beams being described in the current PDU for the system being described. +

      +

      +
      +
      +
      + +

      +emissionsPadding2

      +
      +protected int emissionsPadding2
      +
      +
      padding. +

      +

      +
      +
      +
      + +

      +emitterSystem

      +
      +protected EmitterSystem emitterSystem
      +
      +
      This field shall specify information about a particular emitter system +

      +

      +
      +
      +
      + +

      +location

      +
      +protected Vector3Float location
      +
      +
      Location with respect to the entity +

      +

      +
      +
      +
      + +

      +beamDataRecords

      +
      +protected java.util.List<ElectronicEmissionBeamData> beamDataRecords
      +
      +
      variable length list of beam data records +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +ElectronicEmissionSystemData

      +
      +public ElectronicEmissionSystemData()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSystemDataLength

      +
      +public void setSystemDataLength(short pSystemDataLength)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSystemDataLength

      +
      +public short getSystemDataLength()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfBeams

      +
      +public short getNumberOfBeams()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfBeams

      +
      +public void setNumberOfBeams(short pNumberOfBeams)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfBeams method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setEmissionsPadding2

      +
      +public void setEmissionsPadding2(int pEmissionsPadding2)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEmissionsPadding2

      +
      +public int getEmissionsPadding2()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEmitterSystem

      +
      +public void setEmitterSystem(EmitterSystem pEmitterSystem)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEmitterSystem

      +
      +public EmitterSystem getEmitterSystem()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setLocation

      +
      +public void setLocation(Vector3Float pLocation)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getLocation

      +
      +public Vector3Float getLocation()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setBeamDataRecords

      +
      +public void setBeamDataRecords(java.util.List<ElectronicEmissionBeamData> pBeamDataRecords)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getBeamDataRecords

      +
      +public java.util.List<ElectronicEmissionBeamData> getBeamDataRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(ElectronicEmissionSystemData rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/ElectronicEmissionsPdu.html b/docs/edu/nps/moves/dis/ElectronicEmissionsPdu.html new file mode 100644 index 00000000..02d6bd16 --- /dev/null +++ b/docs/edu/nps/moves/dis/ElectronicEmissionsPdu.html @@ -0,0 +1,826 @@ + + + + + + +ElectronicEmissionsPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class ElectronicEmissionsPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.DistributedEmissionsFamilyPdu
      +          extended by edu.nps.moves.dis.ElectronicEmissionsPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class ElectronicEmissionsPdu
      extends DistributedEmissionsFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.7.1. Information about active electronic warfare (EW) emissions and active EW countermeasures shall be communicated using an Electromagnetic Emission PDU. COMPLETE (I think) + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  EntityIDemittingEntityID + +
      +          ID of the entity emitting
      +protected  EventIDeventID + +
      +          ID of event
      +protected  shortnumberOfSystems + +
      +          This field shall specify the number of emission systems being described in the current PDU.
      +protected  intpaddingForEmissionsPdu + +
      +          padding
      +protected  shortstateUpdateIndicator + +
      +          This field shall be used to indicate if the data in the PDU represents a state update or just data that has changed since issuance of the last Electromagnetic Emission PDU [relative to the identified entity and emission system(s)].
      +protected  java.util.List<ElectronicEmissionSystemData>systems + +
      +          Electronic emmissions systems
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      ElectronicEmissionsPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(ElectronicEmissionsPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + EntityIDgetEmittingEntityID() + +
      +           
      + EventIDgetEventID() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + shortgetNumberOfSystems() + +
      +           
      + intgetPaddingForEmissionsPdu() + +
      +           
      + shortgetStateUpdateIndicator() + +
      +           
      + java.util.List<ElectronicEmissionSystemData>getSystems() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetEmittingEntityID(EntityID pEmittingEntityID) + +
      +           
      + voidsetEventID(EventID pEventID) + +
      +           
      + voidsetNumberOfSystems(short pNumberOfSystems) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetPaddingForEmissionsPdu(int pPaddingForEmissionsPdu) + +
      +           
      + voidsetStateUpdateIndicator(short pStateUpdateIndicator) + +
      +           
      + voidsetSystems(java.util.List<ElectronicEmissionSystemData> pSystems) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.DistributedEmissionsFamilyPdu
      equals
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +emittingEntityID

      +
      +protected EntityID emittingEntityID
      +
      +
      ID of the entity emitting +

      +

      +
      +
      +
      + +

      +eventID

      +
      +protected EventID eventID
      +
      +
      ID of event +

      +

      +
      +
      +
      + +

      +stateUpdateIndicator

      +
      +protected short stateUpdateIndicator
      +
      +
      This field shall be used to indicate if the data in the PDU represents a state update or just data that has changed since issuance of the last Electromagnetic Emission PDU [relative to the identified entity and emission system(s)]. +

      +

      +
      +
      +
      + +

      +numberOfSystems

      +
      +protected short numberOfSystems
      +
      +
      This field shall specify the number of emission systems being described in the current PDU. +

      +

      +
      +
      +
      + +

      +paddingForEmissionsPdu

      +
      +protected int paddingForEmissionsPdu
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +systems

      +
      +protected java.util.List<ElectronicEmissionSystemData> systems
      +
      +
      Electronic emmissions systems +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +ElectronicEmissionsPdu

      +
      +public ElectronicEmissionsPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class DistributedEmissionsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setEmittingEntityID

      +
      +public void setEmittingEntityID(EntityID pEmittingEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEmittingEntityID

      +
      +public EntityID getEmittingEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEventID

      +
      +public void setEventID(EventID pEventID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEventID

      +
      +public EventID getEventID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setStateUpdateIndicator

      +
      +public void setStateUpdateIndicator(short pStateUpdateIndicator)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getStateUpdateIndicator

      +
      +public short getStateUpdateIndicator()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfSystems

      +
      +public short getNumberOfSystems()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfSystems

      +
      +public void setNumberOfSystems(short pNumberOfSystems)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfSystems method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setPaddingForEmissionsPdu

      +
      +public void setPaddingForEmissionsPdu(int pPaddingForEmissionsPdu)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPaddingForEmissionsPdu

      +
      +public int getPaddingForEmissionsPdu()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSystems

      +
      +public void setSystems(java.util.List<ElectronicEmissionSystemData> pSystems)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSystems

      +
      +public java.util.List<ElectronicEmissionSystemData> getSystems()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class DistributedEmissionsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class DistributedEmissionsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class DistributedEmissionsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class DistributedEmissionsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(ElectronicEmissionsPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/EmitterSystem.html b/docs/edu/nps/moves/dis/EmitterSystem.html new file mode 100644 index 00000000..042abc8b --- /dev/null +++ b/docs/edu/nps/moves/dis/EmitterSystem.html @@ -0,0 +1,601 @@ + + + + + + +EmitterSystem + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class EmitterSystem

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.EmitterSystem
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class EmitterSystem
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Section 5.2.11. This field shall specify information about a particular emitter system + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortemitterIdNumber + +
      +          emitter ID, 8 bit enumeration
      +protected  intemitterName + +
      +          Name of the emitter, 16 bit enumeration
      +protected  shortfunction + +
      +          function of the emitter, 8 bit enumeration
      +  + + + + + + + + + + +
      +Constructor Summary
      EmitterSystem() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(EmitterSystem rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + shortgetEmitterIdNumber() + +
      +           
      + intgetEmitterName() + +
      +           
      + shortgetFunction() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetEmitterIdNumber(short pEmitterIdNumber) + +
      +           
      + voidsetEmitterName(int pEmitterName) + +
      +           
      + voidsetFunction(short pFunction) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +emitterName

      +
      +protected int emitterName
      +
      +
      Name of the emitter, 16 bit enumeration +

      +

      +
      +
      +
      + +

      +function

      +
      +protected short function
      +
      +
      function of the emitter, 8 bit enumeration +

      +

      +
      +
      +
      + +

      +emitterIdNumber

      +
      +protected short emitterIdNumber
      +
      +
      emitter ID, 8 bit enumeration +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +EmitterSystem

      +
      +public EmitterSystem()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEmitterName

      +
      +public void setEmitterName(int pEmitterName)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEmitterName

      +
      +public int getEmitterName()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setFunction

      +
      +public void setFunction(short pFunction)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFunction

      +
      +public short getFunction()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEmitterIdNumber

      +
      +public void setEmitterIdNumber(short pEmitterIdNumber)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEmitterIdNumber

      +
      +public short getEmitterIdNumber()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(EmitterSystem rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/EntityID.html b/docs/edu/nps/moves/dis/EntityID.html new file mode 100644 index 00000000..6f8ce10d --- /dev/null +++ b/docs/edu/nps/moves/dis/EntityID.html @@ -0,0 +1,601 @@ + + + + + + +EntityID + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class EntityID

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.EntityID
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class EntityID
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Each entity in a given DIS simulation application shall be given an entity identifier number unique to all other entities in that application. This identifier number is valid for the duration of the exercise; however, entity identifier numbers may be reused when all possible numbers have been exhausted. No entity shall have an entity identifier number of NO_ENTITY, ALL_ENTITIES, or RQST_ASSIGN_ID. The entity iden- tifier number need not be registered or retained for future exercises. The entity identifier number shall be specified by a 16-bit unsigned integer. An entity identifier number equal to zero with valid site and application identification shall address a simulation application. An entity identifier number equal to ALL_ENTITIES shall mean all entities within the specified site and application. An entity identifier number equal to RQST_ASSIGN_ID allows the receiver of the create entity to define the entity identifier number of the new entity. + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  intapplication + +
      +          The application ID
      +protected  intentity + +
      +          the entity ID
      +protected  intsite + +
      +          The site ID
      +  + + + + + + + + + + +
      +Constructor Summary
      EntityID() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(EntityID rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetApplication() + +
      +           
      + intgetEntity() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + intgetSite() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetApplication(int pApplication) + +
      +           
      + voidsetEntity(int pEntity) + +
      +           
      + voidsetSite(int pSite) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +site

      +
      +protected int site
      +
      +
      The site ID +

      +

      +
      +
      +
      + +

      +application

      +
      +protected int application
      +
      +
      The application ID +

      +

      +
      +
      +
      + +

      +entity

      +
      +protected int entity
      +
      +
      the entity ID +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +EntityID

      +
      +public EntityID()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSite

      +
      +public void setSite(int pSite)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSite

      +
      +public int getSite()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setApplication

      +
      +public void setApplication(int pApplication)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getApplication

      +
      +public int getApplication()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEntity

      +
      +public void setEntity(int pEntity)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEntity

      +
      +public int getEntity()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(EntityID rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/EntityInformationFamilyPdu.html b/docs/edu/nps/moves/dis/EntityInformationFamilyPdu.html new file mode 100644 index 00000000..b1f81508 --- /dev/null +++ b/docs/edu/nps/moves/dis/EntityInformationFamilyPdu.html @@ -0,0 +1,422 @@ + + + + + + +EntityInformationFamilyPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class EntityInformationFamilyPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.EntityInformationFamilyPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      Direct Known Subclasses:
      CollisionElasticPdu, CollisionPdu, EntityStatePdu, EntityStateUpdatePdu, FastEntityStatePdu
      +
      +
      +
      +
      public class EntityInformationFamilyPdu
      extends Pdu
      implements java.io.Serializable
      + + +

      +Section 5.3.3. Common superclass for EntityState, Collision, collision-elastic, and entity state update PDUs. This should be abstract. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + +
      +Field Summary
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      EntityInformationFamilyPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(EntityInformationFamilyPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Constructor Detail
      + +

      +EntityInformationFamilyPdu

      +
      +public EntityInformationFamilyPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class Pdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class Pdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(EntityInformationFamilyPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/EntityManagementFamilyPdu.html b/docs/edu/nps/moves/dis/EntityManagementFamilyPdu.html new file mode 100644 index 00000000..e8b17d8b --- /dev/null +++ b/docs/edu/nps/moves/dis/EntityManagementFamilyPdu.html @@ -0,0 +1,422 @@ + + + + + + +EntityManagementFamilyPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class EntityManagementFamilyPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.EntityManagementFamilyPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      Direct Known Subclasses:
      AggregateStatePdu, IsGroupOfPdu, IsPartOfPdu, TransferControlRequestPdu
      +
      +
      +
      +
      public class EntityManagementFamilyPdu
      extends Pdu
      implements java.io.Serializable
      + + +

      +Section 5.3.9. Common superclass for EntityManagment PDUs, including aggregate state, isGroupOf, TransferControLRequest, and isPartOf + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + +
      +Field Summary
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      EntityManagementFamilyPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(EntityManagementFamilyPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Constructor Detail
      + +

      +EntityManagementFamilyPdu

      +
      +public EntityManagementFamilyPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class Pdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class Pdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(EntityManagementFamilyPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/EntityStatePdu.html b/docs/edu/nps/moves/dis/EntityStatePdu.html new file mode 100644 index 00000000..dfbdacb9 --- /dev/null +++ b/docs/edu/nps/moves/dis/EntityStatePdu.html @@ -0,0 +1,1272 @@ + + + + + + +EntityStatePdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class EntityStatePdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.EntityInformationFamilyPdu
      +          extended by edu.nps.moves.dis.EntityStatePdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class EntityStatePdu
      extends EntityInformationFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.3.1. Represents the postion and state of one entity in the world. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  EntityTypealternativeEntityType + +
      +           
      +protected  java.util.List<ArticulationParameter>articulationParameters + +
      +          variable length list of articulation parameters
      +protected  intcapabilities + +
      +          a series of bit flags
      +protected  DeadReckoningParameterdeadReckoningParameters + +
      +          parameters used for dead reckoning
      +protected  intentityAppearance + +
      +          a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc.
      +protected  EntityIDentityID + +
      +          Unique ID for an entity that is tied to this state information
      +protected  Vector3FloatentityLinearVelocity + +
      +          Describes the speed of the entity in the world
      +protected  Vector3DoubleentityLocation + +
      +          describes the location of the entity in the world
      +protected  OrientationentityOrientation + +
      +          describes the orientation of the entity, in euler angles
      +protected  EntityTypeentityType + +
      +          Describes the type of entity in the world
      +protected  shortforceId + +
      +          What force this entity is affiliated with, eg red, blue, neutral, etc
      +protected  Markingmarking + +
      +          characters that can be used for debugging, or to draw unique strings on the side of entities in the world
      +protected  bytenumberOfArticulationParameters + +
      +          How many articulation parameters are in the variable length list
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      EntityStatePdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(EntityStatePdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + EntityTypegetAlternativeEntityType() + +
      +           
      + java.util.List<ArticulationParameter>getArticulationParameters() + +
      +           
      + intgetCapabilities() + +
      +           
      + DeadReckoningParametergetDeadReckoningParameters() + +
      +           
      + intgetEntityAppearance() + +
      +           
      + EntityIDgetEntityID() + +
      +           
      + Vector3FloatgetEntityLinearVelocity() + +
      +           
      + Vector3DoublegetEntityLocation() + +
      +           
      + OrientationgetEntityOrientation() + +
      +           
      + EntityTypegetEntityType() + +
      +           
      + shortgetForceId() + +
      +           
      + MarkinggetMarking() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + bytegetNumberOfArticulationParameters() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetAlternativeEntityType(EntityType pAlternativeEntityType) + +
      +           
      + voidsetArticulationParameters(java.util.List<ArticulationParameter> pArticulationParameters) + +
      +           
      + voidsetCapabilities(int pCapabilities) + +
      +           
      + voidsetDeadReckoningParameters(DeadReckoningParameter pDeadReckoningParameters) + +
      +           
      + voidsetEntityAppearance(int pEntityAppearance) + +
      +           
      + voidsetEntityID(EntityID pEntityID) + +
      +           
      + voidsetEntityLinearVelocity(Vector3Float pEntityLinearVelocity) + +
      +           
      + voidsetEntityLocation(Vector3Double pEntityLocation) + +
      +           
      + voidsetEntityOrientation(Orientation pEntityOrientation) + +
      +           
      + voidsetEntityType(EntityType pEntityType) + +
      +           
      + voidsetForceId(short pForceId) + +
      +           
      + voidsetMarking(Marking pMarking) + +
      +           
      + voidsetNumberOfArticulationParameters(byte pNumberOfArticulationParameters) + +
      +          Note that setting this value will not change the marshalled value.
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.EntityInformationFamilyPdu
      equals
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +entityID

      +
      +protected EntityID entityID
      +
      +
      Unique ID for an entity that is tied to this state information +

      +

      +
      +
      +
      + +

      +forceId

      +
      +protected short forceId
      +
      +
      What force this entity is affiliated with, eg red, blue, neutral, etc +

      +

      +
      +
      +
      + +

      +numberOfArticulationParameters

      +
      +protected byte numberOfArticulationParameters
      +
      +
      How many articulation parameters are in the variable length list +

      +

      +
      +
      +
      + +

      +entityType

      +
      +protected EntityType entityType
      +
      +
      Describes the type of entity in the world +

      +

      +
      +
      +
      + +

      +alternativeEntityType

      +
      +protected EntityType alternativeEntityType
      +
      +
      +
      +
      +
      + +

      +entityLinearVelocity

      +
      +protected Vector3Float entityLinearVelocity
      +
      +
      Describes the speed of the entity in the world +

      +

      +
      +
      +
      + +

      +entityLocation

      +
      +protected Vector3Double entityLocation
      +
      +
      describes the location of the entity in the world +

      +

      +
      +
      +
      + +

      +entityOrientation

      +
      +protected Orientation entityOrientation
      +
      +
      describes the orientation of the entity, in euler angles +

      +

      +
      +
      +
      + +

      +entityAppearance

      +
      +protected int entityAppearance
      +
      +
      a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc. +

      +

      +
      +
      +
      + +

      +deadReckoningParameters

      +
      +protected DeadReckoningParameter deadReckoningParameters
      +
      +
      parameters used for dead reckoning +

      +

      +
      +
      +
      + +

      +marking

      +
      +protected Marking marking
      +
      +
      characters that can be used for debugging, or to draw unique strings on the side of entities in the world +

      +

      +
      +
      +
      + +

      +capabilities

      +
      +protected int capabilities
      +
      +
      a series of bit flags +

      +

      +
      +
      +
      + +

      +articulationParameters

      +
      +protected java.util.List<ArticulationParameter> articulationParameters
      +
      +
      variable length list of articulation parameters +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +EntityStatePdu

      +
      +public EntityStatePdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class EntityInformationFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setEntityID

      +
      +public void setEntityID(EntityID pEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEntityID

      +
      +public EntityID getEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setForceId

      +
      +public void setForceId(short pForceId)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getForceId

      +
      +public short getForceId()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfArticulationParameters

      +
      +public byte getNumberOfArticulationParameters()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfArticulationParameters

      +
      +public void setNumberOfArticulationParameters(byte pNumberOfArticulationParameters)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfArticulationParameters method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setEntityType

      +
      +public void setEntityType(EntityType pEntityType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEntityType

      +
      +public EntityType getEntityType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setAlternativeEntityType

      +
      +public void setAlternativeEntityType(EntityType pAlternativeEntityType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAlternativeEntityType

      +
      +public EntityType getAlternativeEntityType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEntityLinearVelocity

      +
      +public void setEntityLinearVelocity(Vector3Float pEntityLinearVelocity)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEntityLinearVelocity

      +
      +public Vector3Float getEntityLinearVelocity()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEntityLocation

      +
      +public void setEntityLocation(Vector3Double pEntityLocation)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEntityLocation

      +
      +public Vector3Double getEntityLocation()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEntityOrientation

      +
      +public void setEntityOrientation(Orientation pEntityOrientation)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEntityOrientation

      +
      +public Orientation getEntityOrientation()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEntityAppearance

      +
      +public void setEntityAppearance(int pEntityAppearance)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEntityAppearance

      +
      +public int getEntityAppearance()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setDeadReckoningParameters

      +
      +public void setDeadReckoningParameters(DeadReckoningParameter pDeadReckoningParameters)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getDeadReckoningParameters

      +
      +public DeadReckoningParameter getDeadReckoningParameters()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setMarking

      +
      +public void setMarking(Marking pMarking)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getMarking

      +
      +public Marking getMarking()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCapabilities

      +
      +public void setCapabilities(int pCapabilities)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCapabilities

      +
      +public int getCapabilities()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setArticulationParameters

      +
      +public void setArticulationParameters(java.util.List<ArticulationParameter> pArticulationParameters)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getArticulationParameters

      +
      +public java.util.List<ArticulationParameter> getArticulationParameters()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class EntityInformationFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class EntityInformationFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class EntityInformationFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class EntityInformationFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(EntityStatePdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/EntityStateUpdatePdu.html b/docs/edu/nps/moves/dis/EntityStateUpdatePdu.html new file mode 100644 index 00000000..abb6427a --- /dev/null +++ b/docs/edu/nps/moves/dis/EntityStateUpdatePdu.html @@ -0,0 +1,888 @@ + + + + + + +EntityStateUpdatePdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class EntityStateUpdatePdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.EntityInformationFamilyPdu
      +          extended by edu.nps.moves.dis.EntityStateUpdatePdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class EntityStateUpdatePdu
      extends EntityInformationFamilyPdu
      implements java.io.Serializable
      + + +

      +5.3.3.4. Nonstatic information about a particular entity may be communicated by issuing an Entity State Update PDU. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  java.util.List<ArticulationParameter>articulationParameters + +
      +           
      +protected  intentityAppearance + +
      +          a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc.
      +protected  EntityIDentityID + +
      +          This field shall identify the entity issuing the PDU
      +protected  Vector3FloatentityLinearVelocity + +
      +          Describes the speed of the entity in the world
      +protected  Vector3DoubleentityLocation + +
      +          describes the location of the entity in the world
      +protected  OrientationentityOrientation + +
      +          describes the orientation of the entity, in euler angles
      +protected  bytenumberOfArticulationParameters + +
      +          How many articulation parameters are in the variable length list
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      EntityStateUpdatePdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(EntityStateUpdatePdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + java.util.List<ArticulationParameter>getArticulationParameters() + +
      +           
      + intgetEntityAppearance() + +
      +           
      + EntityIDgetEntityID() + +
      +           
      + Vector3FloatgetEntityLinearVelocity() + +
      +           
      + Vector3DoublegetEntityLocation() + +
      +           
      + OrientationgetEntityOrientation() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + bytegetNumberOfArticulationParameters() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetArticulationParameters(java.util.List<ArticulationParameter> pArticulationParameters) + +
      +           
      + voidsetEntityAppearance(int pEntityAppearance) + +
      +           
      + voidsetEntityID(EntityID pEntityID) + +
      +           
      + voidsetEntityLinearVelocity(Vector3Float pEntityLinearVelocity) + +
      +           
      + voidsetEntityLocation(Vector3Double pEntityLocation) + +
      +           
      + voidsetEntityOrientation(Orientation pEntityOrientation) + +
      +           
      + voidsetNumberOfArticulationParameters(byte pNumberOfArticulationParameters) + +
      +          Note that setting this value will not change the marshalled value.
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.EntityInformationFamilyPdu
      equals
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +entityID

      +
      +protected EntityID entityID
      +
      +
      This field shall identify the entity issuing the PDU +

      +

      +
      +
      +
      + +

      +numberOfArticulationParameters

      +
      +protected byte numberOfArticulationParameters
      +
      +
      How many articulation parameters are in the variable length list +

      +

      +
      +
      +
      + +

      +entityLinearVelocity

      +
      +protected Vector3Float entityLinearVelocity
      +
      +
      Describes the speed of the entity in the world +

      +

      +
      +
      +
      + +

      +entityLocation

      +
      +protected Vector3Double entityLocation
      +
      +
      describes the location of the entity in the world +

      +

      +
      +
      +
      + +

      +entityOrientation

      +
      +protected Orientation entityOrientation
      +
      +
      describes the orientation of the entity, in euler angles +

      +

      +
      +
      +
      + +

      +entityAppearance

      +
      +protected int entityAppearance
      +
      +
      a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc. +

      +

      +
      +
      +
      + +

      +articulationParameters

      +
      +protected java.util.List<ArticulationParameter> articulationParameters
      +
      +
      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +EntityStateUpdatePdu

      +
      +public EntityStateUpdatePdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class EntityInformationFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setEntityID

      +
      +public void setEntityID(EntityID pEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEntityID

      +
      +public EntityID getEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfArticulationParameters

      +
      +public byte getNumberOfArticulationParameters()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfArticulationParameters

      +
      +public void setNumberOfArticulationParameters(byte pNumberOfArticulationParameters)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfArticulationParameters method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setEntityLinearVelocity

      +
      +public void setEntityLinearVelocity(Vector3Float pEntityLinearVelocity)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEntityLinearVelocity

      +
      +public Vector3Float getEntityLinearVelocity()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEntityLocation

      +
      +public void setEntityLocation(Vector3Double pEntityLocation)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEntityLocation

      +
      +public Vector3Double getEntityLocation()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEntityOrientation

      +
      +public void setEntityOrientation(Orientation pEntityOrientation)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEntityOrientation

      +
      +public Orientation getEntityOrientation()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEntityAppearance

      +
      +public void setEntityAppearance(int pEntityAppearance)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEntityAppearance

      +
      +public int getEntityAppearance()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setArticulationParameters

      +
      +public void setArticulationParameters(java.util.List<ArticulationParameter> pArticulationParameters)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getArticulationParameters

      +
      +public java.util.List<ArticulationParameter> getArticulationParameters()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class EntityInformationFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class EntityInformationFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class EntityInformationFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class EntityInformationFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(EntityStateUpdatePdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/EntityType.html b/docs/edu/nps/moves/dis/EntityType.html new file mode 100644 index 00000000..f346c228 --- /dev/null +++ b/docs/edu/nps/moves/dis/EntityType.html @@ -0,0 +1,855 @@ + + + + + + +EntityType + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class EntityType

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.EntityType
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class EntityType
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Section 5.2.16. Identifies the type of entity, including kind of entity, domain (surface, subsurface, air, etc) country, category, etc. + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortcategory + +
      +          category of entity
      +protected  intcountry + +
      +          country to which the design of the entity is attributed
      +protected  shortdomain + +
      +          Domain of entity (air, surface, subsurface, space, etc)
      +protected  shortentityKind + +
      +          Kind of entity
      +protected  shortextra + +
      +           
      +protected  shortspecific + +
      +          specific info based on subcategory field
      +protected  shortsubcategory + +
      +          subcategory of entity
      +  + + + + + + + + + + +
      +Constructor Summary
      EntityType() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(EntityType rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + shortgetCategory() + +
      +           
      + intgetCountry() + +
      +           
      + shortgetDomain() + +
      +           
      + shortgetEntityKind() + +
      +           
      + shortgetExtra() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + shortgetSpecific() + +
      +           
      + shortgetSubcategory() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetCategory(short pCategory) + +
      +           
      + voidsetCountry(int pCountry) + +
      +           
      + voidsetDomain(short pDomain) + +
      +           
      + voidsetEntityKind(short pEntityKind) + +
      +           
      + voidsetExtra(short pExtra) + +
      +           
      + voidsetSpecific(short pSpecific) + +
      +           
      + voidsetSubcategory(short pSubcategory) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +entityKind

      +
      +protected short entityKind
      +
      +
      Kind of entity +

      +

      +
      +
      +
      + +

      +domain

      +
      +protected short domain
      +
      +
      Domain of entity (air, surface, subsurface, space, etc) +

      +

      +
      +
      +
      + +

      +country

      +
      +protected int country
      +
      +
      country to which the design of the entity is attributed +

      +

      +
      +
      +
      + +

      +category

      +
      +protected short category
      +
      +
      category of entity +

      +

      +
      +
      +
      + +

      +subcategory

      +
      +protected short subcategory
      +
      +
      subcategory of entity +

      +

      +
      +
      +
      + +

      +specific

      +
      +protected short specific
      +
      +
      specific info based on subcategory field +

      +

      +
      +
      +
      + +

      +extra

      +
      +protected short extra
      +
      +
      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +EntityType

      +
      +public EntityType()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEntityKind

      +
      +public void setEntityKind(short pEntityKind)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEntityKind

      +
      +public short getEntityKind()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setDomain

      +
      +public void setDomain(short pDomain)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getDomain

      +
      +public short getDomain()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCountry

      +
      +public void setCountry(int pCountry)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCountry

      +
      +public int getCountry()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCategory

      +
      +public void setCategory(short pCategory)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCategory

      +
      +public short getCategory()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSubcategory

      +
      +public void setSubcategory(short pSubcategory)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSubcategory

      +
      +public short getSubcategory()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSpecific

      +
      +public void setSpecific(short pSpecific)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSpecific

      +
      +public short getSpecific()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setExtra

      +
      +public void setExtra(short pExtra)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getExtra

      +
      +public short getExtra()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(EntityType rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/Environment.html b/docs/edu/nps/moves/dis/Environment.html new file mode 100644 index 00000000..c11b79af --- /dev/null +++ b/docs/edu/nps/moves/dis/Environment.html @@ -0,0 +1,793 @@ + + + + + + +Environment + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class Environment

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Environment
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class Environment
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Section 5.2.40. Information about a geometry, a state associated with a geometry, a bounding volume, or an associated entity ID. NOTE: this class requires hand coding. + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  longenvironmentType + +
      +          Record type
      +protected  shortgeometry + +
      +          Geometry or state record
      +protected  shortindex + +
      +          Identify the sequentially numbered record index
      +protected  shortlength + +
      +          length, in bits
      +protected  shortpadding1 + +
      +          padding
      +protected  shortpadding2 + +
      +          padding to bring the total size up to a 64 bit boundry
      +  + + + + + + + + + + +
      +Constructor Summary
      Environment() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(Environment rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + longgetEnvironmentType() + +
      +           
      + shortgetGeometry() + +
      +           
      + shortgetIndex() + +
      +           
      + shortgetLength() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + shortgetPadding1() + +
      +           
      + shortgetPadding2() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetEnvironmentType(long pEnvironmentType) + +
      +           
      + voidsetGeometry(short pGeometry) + +
      +           
      + voidsetIndex(short pIndex) + +
      +           
      + voidsetLength(short pLength) + +
      +           
      + voidsetPadding1(short pPadding1) + +
      +           
      + voidsetPadding2(short pPadding2) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +environmentType

      +
      +protected long environmentType
      +
      +
      Record type +

      +

      +
      +
      +
      + +

      +length

      +
      +protected short length
      +
      +
      length, in bits +

      +

      +
      +
      +
      + +

      +index

      +
      +protected short index
      +
      +
      Identify the sequentially numbered record index +

      +

      +
      +
      +
      + +

      +padding1

      +
      +protected short padding1
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +geometry

      +
      +protected short geometry
      +
      +
      Geometry or state record +

      +

      +
      +
      +
      + +

      +padding2

      +
      +protected short padding2
      +
      +
      padding to bring the total size up to a 64 bit boundry +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +Environment

      +
      +public Environment()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEnvironmentType

      +
      +public void setEnvironmentType(long pEnvironmentType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEnvironmentType

      +
      +public long getEnvironmentType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setLength

      +
      +public void setLength(short pLength)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getLength

      +
      +public short getLength()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setIndex

      +
      +public void setIndex(short pIndex)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getIndex

      +
      +public short getIndex()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPadding1

      +
      +public void setPadding1(short pPadding1)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPadding1

      +
      +public short getPadding1()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setGeometry

      +
      +public void setGeometry(short pGeometry)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getGeometry

      +
      +public short getGeometry()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPadding2

      +
      +public void setPadding2(short pPadding2)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPadding2

      +
      +public short getPadding2()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(Environment rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/EnvironmentalProcessPdu.html b/docs/edu/nps/moves/dis/EnvironmentalProcessPdu.html new file mode 100644 index 00000000..6377b7cb --- /dev/null +++ b/docs/edu/nps/moves/dis/EnvironmentalProcessPdu.html @@ -0,0 +1,890 @@ + + + + + + +EnvironmentalProcessPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class EnvironmentalProcessPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SyntheticEnvironmentFamilyPdu
      +          extended by edu.nps.moves.dis.EnvironmentalProcessPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class EnvironmentalProcessPdu
      extends SyntheticEnvironmentFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.11.1: Information about environmental effects and processes. This requires manual cleanup. the environmental record is variable, as is the padding. UNFINISHED + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  EntityIDenvironementalProcessID + +
      +          Environmental process ID
      +protected  java.util.List<Environment>environmentRecords + +
      +          environemt records
      +protected  shortenvironmentStatus + +
      +          Environment status
      +protected  EntityTypeenvironmentType + +
      +          Environment type
      +protected  shortmodelType + +
      +          model type
      +protected  shortnumberOfEnvironmentRecords + +
      +          number of environment records
      +protected  intsequenceNumber + +
      +          PDU sequence number for the environmentla process if pdu sequencing required
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      EnvironmentalProcessPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(EnvironmentalProcessPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + EntityIDgetEnvironementalProcessID() + +
      +           
      + java.util.List<Environment>getEnvironmentRecords() + +
      +           
      + shortgetEnvironmentStatus() + +
      +           
      + EntityTypegetEnvironmentType() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + shortgetModelType() + +
      +           
      + shortgetNumberOfEnvironmentRecords() + +
      +           
      + intgetSequenceNumber() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetEnvironementalProcessID(EntityID pEnvironementalProcessID) + +
      +           
      + voidsetEnvironmentRecords(java.util.List<Environment> pEnvironmentRecords) + +
      +           
      + voidsetEnvironmentStatus(short pEnvironmentStatus) + +
      +           
      + voidsetEnvironmentType(EntityType pEnvironmentType) + +
      +           
      + voidsetModelType(short pModelType) + +
      +           
      + voidsetNumberOfEnvironmentRecords(short pNumberOfEnvironmentRecords) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetSequenceNumber(int pSequenceNumber) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.SyntheticEnvironmentFamilyPdu
      equals
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +environementalProcessID

      +
      +protected EntityID environementalProcessID
      +
      +
      Environmental process ID +

      +

      +
      +
      +
      + +

      +environmentType

      +
      +protected EntityType environmentType
      +
      +
      Environment type +

      +

      +
      +
      +
      + +

      +modelType

      +
      +protected short modelType
      +
      +
      model type +

      +

      +
      +
      +
      + +

      +environmentStatus

      +
      +protected short environmentStatus
      +
      +
      Environment status +

      +

      +
      +
      +
      + +

      +numberOfEnvironmentRecords

      +
      +protected short numberOfEnvironmentRecords
      +
      +
      number of environment records +

      +

      +
      +
      +
      + +

      +sequenceNumber

      +
      +protected int sequenceNumber
      +
      +
      PDU sequence number for the environmentla process if pdu sequencing required +

      +

      +
      +
      +
      + +

      +environmentRecords

      +
      +protected java.util.List<Environment> environmentRecords
      +
      +
      environemt records +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +EnvironmentalProcessPdu

      +
      +public EnvironmentalProcessPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class SyntheticEnvironmentFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setEnvironementalProcessID

      +
      +public void setEnvironementalProcessID(EntityID pEnvironementalProcessID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEnvironementalProcessID

      +
      +public EntityID getEnvironementalProcessID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEnvironmentType

      +
      +public void setEnvironmentType(EntityType pEnvironmentType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEnvironmentType

      +
      +public EntityType getEnvironmentType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setModelType

      +
      +public void setModelType(short pModelType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getModelType

      +
      +public short getModelType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEnvironmentStatus

      +
      +public void setEnvironmentStatus(short pEnvironmentStatus)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEnvironmentStatus

      +
      +public short getEnvironmentStatus()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfEnvironmentRecords

      +
      +public short getNumberOfEnvironmentRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfEnvironmentRecords

      +
      +public void setNumberOfEnvironmentRecords(short pNumberOfEnvironmentRecords)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfEnvironmentRecords method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setSequenceNumber

      +
      +public void setSequenceNumber(int pSequenceNumber)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSequenceNumber

      +
      +public int getSequenceNumber()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEnvironmentRecords

      +
      +public void setEnvironmentRecords(java.util.List<Environment> pEnvironmentRecords)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEnvironmentRecords

      +
      +public java.util.List<Environment> getEnvironmentRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class SyntheticEnvironmentFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class SyntheticEnvironmentFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class SyntheticEnvironmentFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class SyntheticEnvironmentFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(EnvironmentalProcessPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/EventID.html b/docs/edu/nps/moves/dis/EventID.html new file mode 100644 index 00000000..f0892a86 --- /dev/null +++ b/docs/edu/nps/moves/dis/EventID.html @@ -0,0 +1,601 @@ + + + + + + +EventID + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class EventID

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.EventID
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class EventID
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Section 5.2.18. Identifies a unique event in a simulation via the combination of three values + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  intapplication + +
      +          The application ID
      +protected  inteventNumber + +
      +          the number of the event
      +protected  intsite + +
      +          The site ID
      +  + + + + + + + + + + +
      +Constructor Summary
      EventID() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(EventID rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetApplication() + +
      +           
      + intgetEventNumber() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + intgetSite() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetApplication(int pApplication) + +
      +           
      + voidsetEventNumber(int pEventNumber) + +
      +           
      + voidsetSite(int pSite) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +site

      +
      +protected int site
      +
      +
      The site ID +

      +

      +
      +
      +
      + +

      +application

      +
      +protected int application
      +
      +
      The application ID +

      +

      +
      +
      +
      + +

      +eventNumber

      +
      +protected int eventNumber
      +
      +
      the number of the event +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +EventID

      +
      +public EventID()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSite

      +
      +public void setSite(int pSite)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSite

      +
      +public int getSite()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setApplication

      +
      +public void setApplication(int pApplication)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getApplication

      +
      +public int getApplication()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEventNumber

      +
      +public void setEventNumber(int pEventNumber)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEventNumber

      +
      +public int getEventNumber()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(EventID rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/EventReportPdu.html b/docs/edu/nps/moves/dis/EventReportPdu.html new file mode 100644 index 00000000..2e9ae2d1 --- /dev/null +++ b/docs/edu/nps/moves/dis/EventReportPdu.html @@ -0,0 +1,839 @@ + + + + + + +EventReportPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class EventReportPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SimulationManagementFamilyPdu
      +          extended by edu.nps.moves.dis.EventReportPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class EventReportPdu
      extends SimulationManagementFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.6.11. Reports occurance of a significant event to the simulation manager. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  longeventType + +
      +          Type of event
      +protected  java.util.List<FixedDatum>fixedDatums + +
      +          variable length list of fixed datums
      +protected  longnumberOfFixedDatumRecords + +
      +          Number of fixed datum records
      +protected  longnumberOfVariableDatumRecords + +
      +          Number of variable datum records
      +protected  longpadding1 + +
      +          padding
      +protected  java.util.List<VariableDatum>variableDatums + +
      +          variable length list of variable length datums
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.SimulationManagementFamilyPdu
      originatingEntityID, receivingEntityID
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      EventReportPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(EventReportPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + longgetEventType() + +
      +           
      + java.util.List<FixedDatum>getFixedDatums() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + longgetNumberOfFixedDatumRecords() + +
      +           
      + longgetNumberOfVariableDatumRecords() + +
      +           
      + longgetPadding1() + +
      +           
      + java.util.List<VariableDatum>getVariableDatums() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetEventType(long pEventType) + +
      +           
      + voidsetFixedDatums(java.util.List<FixedDatum> pFixedDatums) + +
      +           
      + voidsetNumberOfFixedDatumRecords(long pNumberOfFixedDatumRecords) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetNumberOfVariableDatumRecords(long pNumberOfVariableDatumRecords) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetPadding1(long pPadding1) + +
      +           
      + voidsetVariableDatums(java.util.List<VariableDatum> pVariableDatums) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.SimulationManagementFamilyPdu
      equals, getOriginatingEntityID, getReceivingEntityID, setOriginatingEntityID, setReceivingEntityID
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +eventType

      +
      +protected long eventType
      +
      +
      Type of event +

      +

      +
      +
      +
      + +

      +padding1

      +
      +protected long padding1
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +numberOfFixedDatumRecords

      +
      +protected long numberOfFixedDatumRecords
      +
      +
      Number of fixed datum records +

      +

      +
      +
      +
      + +

      +numberOfVariableDatumRecords

      +
      +protected long numberOfVariableDatumRecords
      +
      +
      Number of variable datum records +

      +

      +
      +
      +
      + +

      +fixedDatums

      +
      +protected java.util.List<FixedDatum> fixedDatums
      +
      +
      variable length list of fixed datums +

      +

      +
      +
      +
      + +

      +variableDatums

      +
      +protected java.util.List<VariableDatum> variableDatums
      +
      +
      variable length list of variable length datums +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +EventReportPdu

      +
      +public EventReportPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setEventType

      +
      +public void setEventType(long pEventType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEventType

      +
      +public long getEventType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPadding1

      +
      +public void setPadding1(long pPadding1)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPadding1

      +
      +public long getPadding1()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfFixedDatumRecords

      +
      +public long getNumberOfFixedDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfFixedDatumRecords

      +
      +public void setNumberOfFixedDatumRecords(long pNumberOfFixedDatumRecords)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfFixedDatumRecords method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfVariableDatumRecords

      +
      +public long getNumberOfVariableDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfVariableDatumRecords

      +
      +public void setNumberOfVariableDatumRecords(long pNumberOfVariableDatumRecords)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfVariableDatumRecords method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setFixedDatums

      +
      +public void setFixedDatums(java.util.List<FixedDatum> pFixedDatums)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFixedDatums

      +
      +public java.util.List<FixedDatum> getFixedDatums()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setVariableDatums

      +
      +public void setVariableDatums(java.util.List<VariableDatum> pVariableDatums)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getVariableDatums

      +
      +public java.util.List<VariableDatum> getVariableDatums()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class SimulationManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class SimulationManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(EventReportPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/EventReportReliablePdu.html b/docs/edu/nps/moves/dis/EventReportReliablePdu.html new file mode 100644 index 00000000..dfcd4b40 --- /dev/null +++ b/docs/edu/nps/moves/dis/EventReportReliablePdu.html @@ -0,0 +1,839 @@ + + + + + + +EventReportReliablePdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class EventReportReliablePdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      +          extended by edu.nps.moves.dis.EventReportReliablePdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class EventReportReliablePdu
      extends SimulationManagementWithReliabilityFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.12.11: reports the occurance of a significatnt event to the simulation manager. Needs manual intervention to fix padding in variable datums. UNFINISHED. + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  inteventType + +
      +          Event type
      +protected  java.util.List<FixedDatum>fixedDatumRecords + +
      +          Fixed datum records
      +protected  longnumberOfFixedDatumRecords + +
      +          Fixed datum record count
      +protected  longnumberOfVariableDatumRecords + +
      +          variable datum record count
      +protected  longpad1 + +
      +          padding
      +protected  java.util.List<VariableDatum>variableDatumRecords + +
      +          Variable datum records
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      originatingEntityID, receivingEntityID
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      EventReportReliablePdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(EventReportReliablePdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetEventType() + +
      +           
      + java.util.List<FixedDatum>getFixedDatumRecords() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + longgetNumberOfFixedDatumRecords() + +
      +           
      + longgetNumberOfVariableDatumRecords() + +
      +           
      + longgetPad1() + +
      +           
      + java.util.List<VariableDatum>getVariableDatumRecords() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetEventType(int pEventType) + +
      +           
      + voidsetFixedDatumRecords(java.util.List<FixedDatum> pFixedDatumRecords) + +
      +           
      + voidsetNumberOfFixedDatumRecords(long pNumberOfFixedDatumRecords) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetNumberOfVariableDatumRecords(long pNumberOfVariableDatumRecords) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetPad1(long pPad1) + +
      +           
      + voidsetVariableDatumRecords(java.util.List<VariableDatum> pVariableDatumRecords) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      equals, getOriginatingEntityID, getReceivingEntityID, setOriginatingEntityID, setReceivingEntityID
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +eventType

      +
      +protected int eventType
      +
      +
      Event type +

      +

      +
      +
      +
      + +

      +pad1

      +
      +protected long pad1
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +numberOfFixedDatumRecords

      +
      +protected long numberOfFixedDatumRecords
      +
      +
      Fixed datum record count +

      +

      +
      +
      +
      + +

      +numberOfVariableDatumRecords

      +
      +protected long numberOfVariableDatumRecords
      +
      +
      variable datum record count +

      +

      +
      +
      +
      + +

      +fixedDatumRecords

      +
      +protected java.util.List<FixedDatum> fixedDatumRecords
      +
      +
      Fixed datum records +

      +

      +
      +
      +
      + +

      +variableDatumRecords

      +
      +protected java.util.List<VariableDatum> variableDatumRecords
      +
      +
      Variable datum records +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +EventReportReliablePdu

      +
      +public EventReportReliablePdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setEventType

      +
      +public void setEventType(int pEventType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEventType

      +
      +public int getEventType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad1

      +
      +public void setPad1(long pPad1)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad1

      +
      +public long getPad1()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfFixedDatumRecords

      +
      +public long getNumberOfFixedDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfFixedDatumRecords

      +
      +public void setNumberOfFixedDatumRecords(long pNumberOfFixedDatumRecords)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfFixedDatumRecords method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfVariableDatumRecords

      +
      +public long getNumberOfVariableDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfVariableDatumRecords

      +
      +public void setNumberOfVariableDatumRecords(long pNumberOfVariableDatumRecords)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfVariableDatumRecords method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setFixedDatumRecords

      +
      +public void setFixedDatumRecords(java.util.List<FixedDatum> pFixedDatumRecords)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFixedDatumRecords

      +
      +public java.util.List<FixedDatum> getFixedDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setVariableDatumRecords

      +
      +public void setVariableDatumRecords(java.util.List<VariableDatum> pVariableDatumRecords)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getVariableDatumRecords

      +
      +public java.util.List<VariableDatum> getVariableDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(EventReportReliablePdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/FastEntityStatePdu.html b/docs/edu/nps/moves/dis/FastEntityStatePdu.html new file mode 100644 index 00000000..9cbea5f7 --- /dev/null +++ b/docs/edu/nps/moves/dis/FastEntityStatePdu.html @@ -0,0 +1,2992 @@ + + + + + + +FastEntityStatePdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class FastEntityStatePdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.EntityInformationFamilyPdu
      +          extended by edu.nps.moves.dis.FastEntityStatePdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class FastEntityStatePdu
      extends EntityInformationFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.3.1. Represents the postion and state of one entity in the world. This is identical in function to entity state pdu, but generates less garbage to collect in the Java world. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortaltCategory + +
      +          category of entity
      +protected  intaltCountry + +
      +          country to which the design of the entity is attributed
      +protected  shortaltDomain + +
      +          Domain of entity (air, surface, subsurface, space, etc)
      +protected  shortaltEntityKind + +
      +          Kind of entity
      +protected  shortaltExtra + +
      +           
      +protected  shortaltSpecific + +
      +          specific info based on subcategory field
      +protected  shortaltSubcategory + +
      +          subcategory of entity
      +protected  intapplication + +
      +          The application ID
      +protected  java.util.List<ArticulationParameter>articulationParameters + +
      +          variable length list of articulation parameters
      +protected  intcapabilities + +
      +          a series of bit flags
      +protected  shortcategory + +
      +          category of entity
      +protected  intcountry + +
      +          country to which the design of the entity is attributed
      +protected  shortdeadReckoningAlgorithm + +
      +          enumeration of what dead reckoning algorighm to use
      +protected  shortdomain + +
      +          Domain of entity (air, surface, subsurface, space, etc)
      +protected  intentity + +
      +          the entity ID
      +protected  intentityAppearance + +
      +          a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc.
      +protected  shortentityKind + +
      +          Kind of entity
      +protected  shortextra + +
      +           
      +protected  shortforceId + +
      +          what force this entity is affiliated with, eg red, blue, neutral, etc
      +protected  byte[]marking + +
      +          characters that can be used for debugging, or to draw unique strings on the side of entities in the world
      +protected  bytenumberOfArticulationParameters + +
      +          How many articulation parameters are in the variable length list
      +protected  byte[]otherParameters + +
      +          other parameters to use in the dead reckoning algorithm
      +protected  floatphi + +
      +           
      +protected  floatpsi + +
      +           
      +protected  intsite + +
      +          The site ID
      +protected  shortspecific + +
      +          specific info based on subcategory field
      +protected  shortsubcategory + +
      +          subcategory of entity
      +protected  floattheta + +
      +           
      +protected  floatxAcceleration + +
      +          X value
      +protected  floatxAngularVelocity + +
      +          X value
      +protected  doublexLocation + +
      +          X value
      +protected  floatxVelocity + +
      +          X velo
      +protected  floatyAcceleration + +
      +          y Value
      +protected  floatyAngularVelocity + +
      +          y Value
      +protected  doubleyLocation + +
      +          y Value
      +protected  floatyVelocity + +
      +          y Value
      +protected  floatzAcceleration + +
      +          Z value
      +protected  floatzAngularVelocity + +
      +          Z value
      +protected  doublezLocation + +
      +          Z value
      +protected  floatzVelocity + +
      +          Z value
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      FastEntityStatePdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(FastEntityStatePdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + shortgetAltCategory() + +
      +           
      + intgetAltCountry() + +
      +           
      + shortgetAltDomain() + +
      +           
      + shortgetAltEntityKind() + +
      +           
      + shortgetAltExtra() + +
      +           
      + shortgetAltSpecific() + +
      +           
      + shortgetAltSubcategory() + +
      +           
      + intgetApplication() + +
      +           
      + java.util.List<ArticulationParameter>getArticulationParameters() + +
      +           
      + intgetCapabilities() + +
      +           
      + shortgetCategory() + +
      +           
      + intgetCountry() + +
      +           
      + shortgetDeadReckoningAlgorithm() + +
      +           
      + shortgetDomain() + +
      +           
      + intgetEntity() + +
      +           
      + intgetEntityAppearance() + +
      +           
      + shortgetEntityKind() + +
      +           
      + shortgetExtra() + +
      +           
      + shortgetForceId() + +
      +           
      + byte[]getMarking() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + bytegetNumberOfArticulationParameters() + +
      +           
      + byte[]getOtherParameters() + +
      +           
      + floatgetPhi() + +
      +           
      + floatgetPsi() + +
      +           
      + intgetSite() + +
      +           
      + shortgetSpecific() + +
      +           
      + shortgetSubcategory() + +
      +           
      + floatgetTheta() + +
      +           
      + floatgetXAcceleration() + +
      +           
      + floatgetXAngularVelocity() + +
      +           
      + doublegetXLocation() + +
      +           
      + floatgetXVelocity() + +
      +           
      + floatgetYAcceleration() + +
      +           
      + floatgetYAngularVelocity() + +
      +           
      + doublegetYLocation() + +
      +           
      + floatgetYVelocity() + +
      +           
      + floatgetZAcceleration() + +
      +           
      + floatgetZAngularVelocity() + +
      +           
      + doublegetZLocation() + +
      +           
      + floatgetZVelocity() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetAltCategory(short pAltCategory) + +
      +           
      + voidsetAltCountry(int pAltCountry) + +
      +           
      + voidsetAltDomain(short pAltDomain) + +
      +           
      + voidsetAltEntityKind(short pAltEntityKind) + +
      +           
      + voidsetAltExtra(short pAltExtra) + +
      +           
      + voidsetAltSpecific(short pAltSpecific) + +
      +           
      + voidsetAltSubcategory(short pAltSubcategory) + +
      +           
      + voidsetApplication(int pApplication) + +
      +           
      + voidsetArticulationParameters(java.util.List<ArticulationParameter> pArticulationParameters) + +
      +           
      + voidsetCapabilities(int pCapabilities) + +
      +           
      + voidsetCategory(short pCategory) + +
      +           
      + voidsetCountry(int pCountry) + +
      +           
      + voidsetDeadReckoningAlgorithm(short pDeadReckoningAlgorithm) + +
      +           
      + voidsetDomain(short pDomain) + +
      +           
      + voidsetEntity(int pEntity) + +
      +           
      + voidsetEntityAppearance(int pEntityAppearance) + +
      +           
      + voidsetEntityKind(short pEntityKind) + +
      +           
      + voidsetExtra(short pExtra) + +
      +           
      + voidsetForceId(short pForceId) + +
      +           
      + voidsetMarking(byte[] pMarking) + +
      +           
      + voidsetNumberOfArticulationParameters(byte pNumberOfArticulationParameters) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetOtherParameters(byte[] pOtherParameters) + +
      +           
      + voidsetPhi(float pPhi) + +
      +           
      + voidsetPsi(float pPsi) + +
      +           
      + voidsetSite(int pSite) + +
      +           
      + voidsetSpecific(short pSpecific) + +
      +           
      + voidsetSubcategory(short pSubcategory) + +
      +           
      + voidsetTheta(float pTheta) + +
      +           
      + voidsetXAcceleration(float pXAcceleration) + +
      +           
      + voidsetXAngularVelocity(float pXAngularVelocity) + +
      +           
      + voidsetXLocation(double pXLocation) + +
      +           
      + voidsetXVelocity(float pXVelocity) + +
      +           
      + voidsetYAcceleration(float pYAcceleration) + +
      +           
      + voidsetYAngularVelocity(float pYAngularVelocity) + +
      +           
      + voidsetYLocation(double pYLocation) + +
      +           
      + voidsetYVelocity(float pYVelocity) + +
      +           
      + voidsetZAcceleration(float pZAcceleration) + +
      +           
      + voidsetZAngularVelocity(float pZAngularVelocity) + +
      +           
      + voidsetZLocation(double pZLocation) + +
      +           
      + voidsetZVelocity(float pZVelocity) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.EntityInformationFamilyPdu
      equals
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +site

      +
      +protected int site
      +
      +
      The site ID +

      +

      +
      +
      +
      + +

      +application

      +
      +protected int application
      +
      +
      The application ID +

      +

      +
      +
      +
      + +

      +entity

      +
      +protected int entity
      +
      +
      the entity ID +

      +

      +
      +
      +
      + +

      +forceId

      +
      +protected short forceId
      +
      +
      what force this entity is affiliated with, eg red, blue, neutral, etc +

      +

      +
      +
      +
      + +

      +numberOfArticulationParameters

      +
      +protected byte numberOfArticulationParameters
      +
      +
      How many articulation parameters are in the variable length list +

      +

      +
      +
      +
      + +

      +entityKind

      +
      +protected short entityKind
      +
      +
      Kind of entity +

      +

      +
      +
      +
      + +

      +domain

      +
      +protected short domain
      +
      +
      Domain of entity (air, surface, subsurface, space, etc) +

      +

      +
      +
      +
      + +

      +country

      +
      +protected int country
      +
      +
      country to which the design of the entity is attributed +

      +

      +
      +
      +
      + +

      +category

      +
      +protected short category
      +
      +
      category of entity +

      +

      +
      +
      +
      + +

      +subcategory

      +
      +protected short subcategory
      +
      +
      subcategory of entity +

      +

      +
      +
      +
      + +

      +specific

      +
      +protected short specific
      +
      +
      specific info based on subcategory field +

      +

      +
      +
      +
      + +

      +extra

      +
      +protected short extra
      +
      +
      +
      +
      +
      + +

      +altEntityKind

      +
      +protected short altEntityKind
      +
      +
      Kind of entity +

      +

      +
      +
      +
      + +

      +altDomain

      +
      +protected short altDomain
      +
      +
      Domain of entity (air, surface, subsurface, space, etc) +

      +

      +
      +
      +
      + +

      +altCountry

      +
      +protected int altCountry
      +
      +
      country to which the design of the entity is attributed +

      +

      +
      +
      +
      + +

      +altCategory

      +
      +protected short altCategory
      +
      +
      category of entity +

      +

      +
      +
      +
      + +

      +altSubcategory

      +
      +protected short altSubcategory
      +
      +
      subcategory of entity +

      +

      +
      +
      +
      + +

      +altSpecific

      +
      +protected short altSpecific
      +
      +
      specific info based on subcategory field +

      +

      +
      +
      +
      + +

      +altExtra

      +
      +protected short altExtra
      +
      +
      +
      +
      +
      + +

      +xVelocity

      +
      +protected float xVelocity
      +
      +
      X velo +

      +

      +
      +
      +
      + +

      +yVelocity

      +
      +protected float yVelocity
      +
      +
      y Value +

      +

      +
      +
      +
      + +

      +zVelocity

      +
      +protected float zVelocity
      +
      +
      Z value +

      +

      +
      +
      +
      + +

      +xLocation

      +
      +protected double xLocation
      +
      +
      X value +

      +

      +
      +
      +
      + +

      +yLocation

      +
      +protected double yLocation
      +
      +
      y Value +

      +

      +
      +
      +
      + +

      +zLocation

      +
      +protected double zLocation
      +
      +
      Z value +

      +

      +
      +
      +
      + +

      +psi

      +
      +protected float psi
      +
      +
      +
      +
      +
      + +

      +theta

      +
      +protected float theta
      +
      +
      +
      +
      +
      + +

      +phi

      +
      +protected float phi
      +
      +
      +
      +
      +
      + +

      +entityAppearance

      +
      +protected int entityAppearance
      +
      +
      a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc. +

      +

      +
      +
      +
      + +

      +deadReckoningAlgorithm

      +
      +protected short deadReckoningAlgorithm
      +
      +
      enumeration of what dead reckoning algorighm to use +

      +

      +
      +
      +
      + +

      +otherParameters

      +
      +protected byte[] otherParameters
      +
      +
      other parameters to use in the dead reckoning algorithm +

      +

      +
      +
      +
      + +

      +xAcceleration

      +
      +protected float xAcceleration
      +
      +
      X value +

      +

      +
      +
      +
      + +

      +yAcceleration

      +
      +protected float yAcceleration
      +
      +
      y Value +

      +

      +
      +
      +
      + +

      +zAcceleration

      +
      +protected float zAcceleration
      +
      +
      Z value +

      +

      +
      +
      +
      + +

      +xAngularVelocity

      +
      +protected float xAngularVelocity
      +
      +
      X value +

      +

      +
      +
      +
      + +

      +yAngularVelocity

      +
      +protected float yAngularVelocity
      +
      +
      y Value +

      +

      +
      +
      +
      + +

      +zAngularVelocity

      +
      +protected float zAngularVelocity
      +
      +
      Z value +

      +

      +
      +
      +
      + +

      +marking

      +
      +protected byte[] marking
      +
      +
      characters that can be used for debugging, or to draw unique strings on the side of entities in the world +

      +

      +
      +
      +
      + +

      +capabilities

      +
      +protected int capabilities
      +
      +
      a series of bit flags +

      +

      +
      +
      +
      + +

      +articulationParameters

      +
      +protected java.util.List<ArticulationParameter> articulationParameters
      +
      +
      variable length list of articulation parameters +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +FastEntityStatePdu

      +
      +public FastEntityStatePdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class EntityInformationFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setSite

      +
      +public void setSite(int pSite)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSite

      +
      +public int getSite()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setApplication

      +
      +public void setApplication(int pApplication)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getApplication

      +
      +public int getApplication()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEntity

      +
      +public void setEntity(int pEntity)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEntity

      +
      +public int getEntity()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setForceId

      +
      +public void setForceId(short pForceId)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getForceId

      +
      +public short getForceId()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfArticulationParameters

      +
      +public byte getNumberOfArticulationParameters()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfArticulationParameters

      +
      +public void setNumberOfArticulationParameters(byte pNumberOfArticulationParameters)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfArticulationParameters method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setEntityKind

      +
      +public void setEntityKind(short pEntityKind)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEntityKind

      +
      +public short getEntityKind()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setDomain

      +
      +public void setDomain(short pDomain)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getDomain

      +
      +public short getDomain()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCountry

      +
      +public void setCountry(int pCountry)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCountry

      +
      +public int getCountry()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCategory

      +
      +public void setCategory(short pCategory)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCategory

      +
      +public short getCategory()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSubcategory

      +
      +public void setSubcategory(short pSubcategory)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSubcategory

      +
      +public short getSubcategory()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSpecific

      +
      +public void setSpecific(short pSpecific)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSpecific

      +
      +public short getSpecific()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setExtra

      +
      +public void setExtra(short pExtra)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getExtra

      +
      +public short getExtra()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setAltEntityKind

      +
      +public void setAltEntityKind(short pAltEntityKind)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAltEntityKind

      +
      +public short getAltEntityKind()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setAltDomain

      +
      +public void setAltDomain(short pAltDomain)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAltDomain

      +
      +public short getAltDomain()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setAltCountry

      +
      +public void setAltCountry(int pAltCountry)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAltCountry

      +
      +public int getAltCountry()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setAltCategory

      +
      +public void setAltCategory(short pAltCategory)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAltCategory

      +
      +public short getAltCategory()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setAltSubcategory

      +
      +public void setAltSubcategory(short pAltSubcategory)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAltSubcategory

      +
      +public short getAltSubcategory()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setAltSpecific

      +
      +public void setAltSpecific(short pAltSpecific)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAltSpecific

      +
      +public short getAltSpecific()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setAltExtra

      +
      +public void setAltExtra(short pAltExtra)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAltExtra

      +
      +public short getAltExtra()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setXVelocity

      +
      +public void setXVelocity(float pXVelocity)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getXVelocity

      +
      +public float getXVelocity()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setYVelocity

      +
      +public void setYVelocity(float pYVelocity)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getYVelocity

      +
      +public float getYVelocity()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setZVelocity

      +
      +public void setZVelocity(float pZVelocity)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getZVelocity

      +
      +public float getZVelocity()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setXLocation

      +
      +public void setXLocation(double pXLocation)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getXLocation

      +
      +public double getXLocation()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setYLocation

      +
      +public void setYLocation(double pYLocation)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getYLocation

      +
      +public double getYLocation()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setZLocation

      +
      +public void setZLocation(double pZLocation)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getZLocation

      +
      +public double getZLocation()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPsi

      +
      +public void setPsi(float pPsi)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPsi

      +
      +public float getPsi()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setTheta

      +
      +public void setTheta(float pTheta)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getTheta

      +
      +public float getTheta()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPhi

      +
      +public void setPhi(float pPhi)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPhi

      +
      +public float getPhi()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEntityAppearance

      +
      +public void setEntityAppearance(int pEntityAppearance)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEntityAppearance

      +
      +public int getEntityAppearance()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setDeadReckoningAlgorithm

      +
      +public void setDeadReckoningAlgorithm(short pDeadReckoningAlgorithm)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getDeadReckoningAlgorithm

      +
      +public short getDeadReckoningAlgorithm()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setOtherParameters

      +
      +public void setOtherParameters(byte[] pOtherParameters)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getOtherParameters

      +
      +public byte[] getOtherParameters()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setXAcceleration

      +
      +public void setXAcceleration(float pXAcceleration)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getXAcceleration

      +
      +public float getXAcceleration()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setYAcceleration

      +
      +public void setYAcceleration(float pYAcceleration)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getYAcceleration

      +
      +public float getYAcceleration()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setZAcceleration

      +
      +public void setZAcceleration(float pZAcceleration)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getZAcceleration

      +
      +public float getZAcceleration()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setXAngularVelocity

      +
      +public void setXAngularVelocity(float pXAngularVelocity)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getXAngularVelocity

      +
      +public float getXAngularVelocity()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setYAngularVelocity

      +
      +public void setYAngularVelocity(float pYAngularVelocity)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getYAngularVelocity

      +
      +public float getYAngularVelocity()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setZAngularVelocity

      +
      +public void setZAngularVelocity(float pZAngularVelocity)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getZAngularVelocity

      +
      +public float getZAngularVelocity()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setMarking

      +
      +public void setMarking(byte[] pMarking)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getMarking

      +
      +public byte[] getMarking()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCapabilities

      +
      +public void setCapabilities(int pCapabilities)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCapabilities

      +
      +public int getCapabilities()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setArticulationParameters

      +
      +public void setArticulationParameters(java.util.List<ArticulationParameter> pArticulationParameters)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getArticulationParameters

      +
      +public java.util.List<ArticulationParameter> getArticulationParameters()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class EntityInformationFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class EntityInformationFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class EntityInformationFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class EntityInformationFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(FastEntityStatePdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/FirePdu.html b/docs/edu/nps/moves/dis/FirePdu.html new file mode 100644 index 00000000..4cd75554 --- /dev/null +++ b/docs/edu/nps/moves/dis/FirePdu.html @@ -0,0 +1,893 @@ + + + + + + +FirePdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class FirePdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.WarfareFamilyPdu
      +          extended by edu.nps.moves.dis.FirePdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class FirePdu
      extends WarfareFamilyPdu
      implements java.io.Serializable
      + + +

      +Sectioin 5.3.4.1. Information about someone firing something. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  BurstDescriptorburstDescriptor + +
      +          Describes munitions used in the firing event
      +protected  EventIDeventID + +
      +          ID of event
      +protected  intfireMissionIndex + +
      +           
      +protected  Vector3DoublelocationInWorldCoordinates + +
      +          location of the firing event
      +protected  EntityIDmunitionID + +
      +          ID of the munition that is being shot
      +protected  floatrange + +
      +          range to the target
      +protected  Vector3Floatvelocity + +
      +          Velocity of the ammunition
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.WarfareFamilyPdu
      firingEntityID, targetEntityID
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      FirePdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(FirePdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + BurstDescriptorgetBurstDescriptor() + +
      +           
      + EventIDgetEventID() + +
      +           
      + intgetFireMissionIndex() + +
      +           
      + Vector3DoublegetLocationInWorldCoordinates() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + EntityIDgetMunitionID() + +
      +           
      + floatgetRange() + +
      +           
      + Vector3FloatgetVelocity() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetBurstDescriptor(BurstDescriptor pBurstDescriptor) + +
      +           
      + voidsetEventID(EventID pEventID) + +
      +           
      + voidsetFireMissionIndex(int pFireMissionIndex) + +
      +           
      + voidsetLocationInWorldCoordinates(Vector3Double pLocationInWorldCoordinates) + +
      +           
      + voidsetMunitionID(EntityID pMunitionID) + +
      +           
      + voidsetRange(float pRange) + +
      +           
      + voidsetVelocity(Vector3Float pVelocity) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.WarfareFamilyPdu
      equals, getFiringEntityID, getTargetEntityID, setFiringEntityID, setTargetEntityID
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +munitionID

      +
      +protected EntityID munitionID
      +
      +
      ID of the munition that is being shot +

      +

      +
      +
      +
      + +

      +eventID

      +
      +protected EventID eventID
      +
      +
      ID of event +

      +

      +
      +
      +
      + +

      +fireMissionIndex

      +
      +protected int fireMissionIndex
      +
      +
      +
      +
      +
      + +

      +locationInWorldCoordinates

      +
      +protected Vector3Double locationInWorldCoordinates
      +
      +
      location of the firing event +

      +

      +
      +
      +
      + +

      +burstDescriptor

      +
      +protected BurstDescriptor burstDescriptor
      +
      +
      Describes munitions used in the firing event +

      +

      +
      +
      +
      + +

      +velocity

      +
      +protected Vector3Float velocity
      +
      +
      Velocity of the ammunition +

      +

      +
      +
      +
      + +

      +range

      +
      +protected float range
      +
      +
      range to the target +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +FirePdu

      +
      +public FirePdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class WarfareFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setMunitionID

      +
      +public void setMunitionID(EntityID pMunitionID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getMunitionID

      +
      +public EntityID getMunitionID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEventID

      +
      +public void setEventID(EventID pEventID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEventID

      +
      +public EventID getEventID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setFireMissionIndex

      +
      +public void setFireMissionIndex(int pFireMissionIndex)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFireMissionIndex

      +
      +public int getFireMissionIndex()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setLocationInWorldCoordinates

      +
      +public void setLocationInWorldCoordinates(Vector3Double pLocationInWorldCoordinates)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getLocationInWorldCoordinates

      +
      +public Vector3Double getLocationInWorldCoordinates()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setBurstDescriptor

      +
      +public void setBurstDescriptor(BurstDescriptor pBurstDescriptor)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getBurstDescriptor

      +
      +public BurstDescriptor getBurstDescriptor()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setVelocity

      +
      +public void setVelocity(Vector3Float pVelocity)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getVelocity

      +
      +public Vector3Float getVelocity()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRange

      +
      +public void setRange(float pRange)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRange

      +
      +public float getRange()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class WarfareFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class WarfareFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class WarfareFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class WarfareFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(FirePdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/FixedDatum.html b/docs/edu/nps/moves/dis/FixedDatum.html new file mode 100644 index 00000000..e3ef15ef --- /dev/null +++ b/docs/edu/nps/moves/dis/FixedDatum.html @@ -0,0 +1,537 @@ + + + + + + +FixedDatum + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class FixedDatum

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.FixedDatum
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class FixedDatum
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Section 5.2.18. Fixed Datum Record + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  longfixedDatumID + +
      +          ID of the fixed datum
      +protected  longfixedDatumValue + +
      +          Value for the fixed datum
      +  + + + + + + + + + + +
      +Constructor Summary
      FixedDatum() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(FixedDatum rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + longgetFixedDatumID() + +
      +           
      + longgetFixedDatumValue() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetFixedDatumID(long pFixedDatumID) + +
      +           
      + voidsetFixedDatumValue(long pFixedDatumValue) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +fixedDatumID

      +
      +protected long fixedDatumID
      +
      +
      ID of the fixed datum +

      +

      +
      +
      +
      + +

      +fixedDatumValue

      +
      +protected long fixedDatumValue
      +
      +
      Value for the fixed datum +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +FixedDatum

      +
      +public FixedDatum()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setFixedDatumID

      +
      +public void setFixedDatumID(long pFixedDatumID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFixedDatumID

      +
      +public long getFixedDatumID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setFixedDatumValue

      +
      +public void setFixedDatumValue(long pFixedDatumValue)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFixedDatumValue

      +
      +public long getFixedDatumValue()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(FixedDatum rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/FourByteChunk.html b/docs/edu/nps/moves/dis/FourByteChunk.html new file mode 100644 index 00000000..be560280 --- /dev/null +++ b/docs/edu/nps/moves/dis/FourByteChunk.html @@ -0,0 +1,473 @@ + + + + + + +FourByteChunk + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class FourByteChunk

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.FourByteChunk
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class FourByteChunk
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +32 bit piece of data + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + +
      +Field Summary
      +protected  byte[]otherParameters + +
      +          four bytes of arbitrary data
      +  + + + + + + + + + + +
      +Constructor Summary
      FourByteChunk() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(FourByteChunk rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + byte[]getOtherParameters() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetOtherParameters(byte[] pOtherParameters) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +otherParameters

      +
      +protected byte[] otherParameters
      +
      +
      four bytes of arbitrary data +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +FourByteChunk

      +
      +public FourByteChunk()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setOtherParameters

      +
      +public void setOtherParameters(byte[] pOtherParameters)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getOtherParameters

      +
      +public byte[] getOtherParameters()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(FourByteChunk rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/FundamentalParameterData.html b/docs/edu/nps/moves/dis/FundamentalParameterData.html new file mode 100644 index 00000000..86699528 --- /dev/null +++ b/docs/edu/nps/moves/dis/FundamentalParameterData.html @@ -0,0 +1,1049 @@ + + + + + + +FundamentalParameterData + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class FundamentalParameterData

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.FundamentalParameterData
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class FundamentalParameterData
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Section 5.2.22. Contains electromagnetic emmision regineratin parameters that are variable throughout a scenario dependent on the actions of the participants in the simulation. Also provides basic parametric data that may be used to support low-fidelity simulations. + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  floatbeamAzimuthCenter + +
      +          Specifies the beam azimuth an elevation centers and corresponding half-angles to describe the scan volume
      +protected  floatbeamAzimuthSweep + +
      +          Specifies the beam azimuth sweep to determine scan volume
      +protected  floatbeamElevationCenter + +
      +          Specifies the beam elevation center to determine scan volume
      +protected  floatbeamElevationSweep + +
      +          Specifies the beam elevation sweep to determine scan volume
      +protected  floatbeamSweepSync + +
      +          allows receiver to synchronize its regenerated scan pattern to that of the emmitter.
      +protected  floateffectiveRadiatedPower + +
      +          Effective radiated power for the emission in DdBm.
      +protected  floatfrequency + +
      +          center frequency of the emission in hertz.
      +protected  floatfrequencyRange + +
      +          Bandwidth of the frequencies corresponding to the fequency field.
      +protected  floatpulseRepetitionFrequency + +
      +          Average repetition frequency of the emission in hertz.
      +protected  floatpulseWidth + +
      +          Average pulse width of the emission in microseconds.
      +  + + + + + + + + + + +
      +Constructor Summary
      FundamentalParameterData() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(FundamentalParameterData rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + floatgetBeamAzimuthCenter() + +
      +           
      + floatgetBeamAzimuthSweep() + +
      +           
      + floatgetBeamElevationCenter() + +
      +           
      + floatgetBeamElevationSweep() + +
      +           
      + floatgetBeamSweepSync() + +
      +           
      + floatgetEffectiveRadiatedPower() + +
      +           
      + floatgetFrequency() + +
      +           
      + floatgetFrequencyRange() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + floatgetPulseRepetitionFrequency() + +
      +           
      + floatgetPulseWidth() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetBeamAzimuthCenter(float pBeamAzimuthCenter) + +
      +           
      + voidsetBeamAzimuthSweep(float pBeamAzimuthSweep) + +
      +           
      + voidsetBeamElevationCenter(float pBeamElevationCenter) + +
      +           
      + voidsetBeamElevationSweep(float pBeamElevationSweep) + +
      +           
      + voidsetBeamSweepSync(float pBeamSweepSync) + +
      +           
      + voidsetEffectiveRadiatedPower(float pEffectiveRadiatedPower) + +
      +           
      + voidsetFrequency(float pFrequency) + +
      +           
      + voidsetFrequencyRange(float pFrequencyRange) + +
      +           
      + voidsetPulseRepetitionFrequency(float pPulseRepetitionFrequency) + +
      +           
      + voidsetPulseWidth(float pPulseWidth) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +frequency

      +
      +protected float frequency
      +
      +
      center frequency of the emission in hertz. +

      +

      +
      +
      +
      + +

      +frequencyRange

      +
      +protected float frequencyRange
      +
      +
      Bandwidth of the frequencies corresponding to the fequency field. +

      +

      +
      +
      +
      + +

      +effectiveRadiatedPower

      +
      +protected float effectiveRadiatedPower
      +
      +
      Effective radiated power for the emission in DdBm. For a radar noise jammer, indicates the peak of the transmitted power. +

      +

      +
      +
      +
      + +

      +pulseRepetitionFrequency

      +
      +protected float pulseRepetitionFrequency
      +
      +
      Average repetition frequency of the emission in hertz. +

      +

      +
      +
      +
      + +

      +pulseWidth

      +
      +protected float pulseWidth
      +
      +
      Average pulse width of the emission in microseconds. +

      +

      +
      +
      +
      + +

      +beamAzimuthCenter

      +
      +protected float beamAzimuthCenter
      +
      +
      Specifies the beam azimuth an elevation centers and corresponding half-angles to describe the scan volume +

      +

      +
      +
      +
      + +

      +beamAzimuthSweep

      +
      +protected float beamAzimuthSweep
      +
      +
      Specifies the beam azimuth sweep to determine scan volume +

      +

      +
      +
      +
      + +

      +beamElevationCenter

      +
      +protected float beamElevationCenter
      +
      +
      Specifies the beam elevation center to determine scan volume +

      +

      +
      +
      +
      + +

      +beamElevationSweep

      +
      +protected float beamElevationSweep
      +
      +
      Specifies the beam elevation sweep to determine scan volume +

      +

      +
      +
      +
      + +

      +beamSweepSync

      +
      +protected float beamSweepSync
      +
      +
      allows receiver to synchronize its regenerated scan pattern to that of the emmitter. Specifies the percentage of time a scan is through its pattern from its origion. +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +FundamentalParameterData

      +
      +public FundamentalParameterData()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setFrequency

      +
      +public void setFrequency(float pFrequency)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFrequency

      +
      +public float getFrequency()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setFrequencyRange

      +
      +public void setFrequencyRange(float pFrequencyRange)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFrequencyRange

      +
      +public float getFrequencyRange()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEffectiveRadiatedPower

      +
      +public void setEffectiveRadiatedPower(float pEffectiveRadiatedPower)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEffectiveRadiatedPower

      +
      +public float getEffectiveRadiatedPower()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPulseRepetitionFrequency

      +
      +public void setPulseRepetitionFrequency(float pPulseRepetitionFrequency)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPulseRepetitionFrequency

      +
      +public float getPulseRepetitionFrequency()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPulseWidth

      +
      +public void setPulseWidth(float pPulseWidth)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPulseWidth

      +
      +public float getPulseWidth()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setBeamAzimuthCenter

      +
      +public void setBeamAzimuthCenter(float pBeamAzimuthCenter)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getBeamAzimuthCenter

      +
      +public float getBeamAzimuthCenter()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setBeamAzimuthSweep

      +
      +public void setBeamAzimuthSweep(float pBeamAzimuthSweep)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getBeamAzimuthSweep

      +
      +public float getBeamAzimuthSweep()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setBeamElevationCenter

      +
      +public void setBeamElevationCenter(float pBeamElevationCenter)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getBeamElevationCenter

      +
      +public float getBeamElevationCenter()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setBeamElevationSweep

      +
      +public void setBeamElevationSweep(float pBeamElevationSweep)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getBeamElevationSweep

      +
      +public float getBeamElevationSweep()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setBeamSweepSync

      +
      +public void setBeamSweepSync(float pBeamSweepSync)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getBeamSweepSync

      +
      +public float getBeamSweepSync()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(FundamentalParameterData rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/FundamentalParameterDataIff.html b/docs/edu/nps/moves/dis/FundamentalParameterDataIff.html new file mode 100644 index 00000000..7f34889b --- /dev/null +++ b/docs/edu/nps/moves/dis/FundamentalParameterDataIff.html @@ -0,0 +1,921 @@ + + + + + + +FundamentalParameterDataIff + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class FundamentalParameterDataIff

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.FundamentalParameterDataIff
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class FundamentalParameterDataIff
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +5.2.45. Fundamental IFF atc data + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortapplicableModes + +
      +          Applicable modes enumeration
      +protected  longburstLength + +
      +          Burst length
      +protected  floaterp + +
      +          ERP
      +protected  floatfrequency + +
      +          frequency
      +protected  intpad2 + +
      +          padding
      +protected  shortpad3 + +
      +          padding
      +protected  floatpgrf + +
      +          pgrf
      +protected  floatpulseWidth + +
      +          Pulse width
      +  + + + + + + + + + + +
      +Constructor Summary
      FundamentalParameterDataIff() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(FundamentalParameterDataIff rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + shortgetApplicableModes() + +
      +           
      + longgetBurstLength() + +
      +           
      + floatgetErp() + +
      +           
      + floatgetFrequency() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + intgetPad2() + +
      +           
      + shortgetPad3() + +
      +           
      + floatgetPgrf() + +
      +           
      + floatgetPulseWidth() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetApplicableModes(short pApplicableModes) + +
      +           
      + voidsetBurstLength(long pBurstLength) + +
      +           
      + voidsetErp(float pErp) + +
      +           
      + voidsetFrequency(float pFrequency) + +
      +           
      + voidsetPad2(int pPad2) + +
      +           
      + voidsetPad3(short pPad3) + +
      +           
      + voidsetPgrf(float pPgrf) + +
      +           
      + voidsetPulseWidth(float pPulseWidth) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +erp

      +
      +protected float erp
      +
      +
      ERP +

      +

      +
      +
      +
      + +

      +frequency

      +
      +protected float frequency
      +
      +
      frequency +

      +

      +
      +
      +
      + +

      +pgrf

      +
      +protected float pgrf
      +
      +
      pgrf +

      +

      +
      +
      +
      + +

      +pulseWidth

      +
      +protected float pulseWidth
      +
      +
      Pulse width +

      +

      +
      +
      +
      + +

      +burstLength

      +
      +protected long burstLength
      +
      +
      Burst length +

      +

      +
      +
      +
      + +

      +applicableModes

      +
      +protected short applicableModes
      +
      +
      Applicable modes enumeration +

      +

      +
      +
      +
      + +

      +pad2

      +
      +protected int pad2
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +pad3

      +
      +protected short pad3
      +
      +
      padding +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +FundamentalParameterDataIff

      +
      +public FundamentalParameterDataIff()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setErp

      +
      +public void setErp(float pErp)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getErp

      +
      +public float getErp()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setFrequency

      +
      +public void setFrequency(float pFrequency)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFrequency

      +
      +public float getFrequency()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPgrf

      +
      +public void setPgrf(float pPgrf)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPgrf

      +
      +public float getPgrf()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPulseWidth

      +
      +public void setPulseWidth(float pPulseWidth)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPulseWidth

      +
      +public float getPulseWidth()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setBurstLength

      +
      +public void setBurstLength(long pBurstLength)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getBurstLength

      +
      +public long getBurstLength()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setApplicableModes

      +
      +public void setApplicableModes(short pApplicableModes)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getApplicableModes

      +
      +public short getApplicableModes()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad2

      +
      +public void setPad2(int pPad2)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad2

      +
      +public int getPad2()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad3

      +
      +public void setPad3(short pPad3)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad3

      +
      +public short getPad3()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(FundamentalParameterDataIff rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/GridAxisRecord.html b/docs/edu/nps/moves/dis/GridAxisRecord.html new file mode 100644 index 00000000..820c155b --- /dev/null +++ b/docs/edu/nps/moves/dis/GridAxisRecord.html @@ -0,0 +1,540 @@ + + + + + + +GridAxisRecord + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class GridAxisRecord

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.GridAxisRecord
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      Direct Known Subclasses:
      GridAxisRecordRepresentation0, GridAxisRecordRepresentation1, GridAxisRecordRepresentation2
      +
      +
      +
      +
      public class GridAxisRecord
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +5.2.44: Grid data record, a common abstract superclass for several subtypes + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  intdataRepresentation + +
      +          value that describes data representation
      +protected  intsampleType + +
      +          type of environmental sample
      +  + + + + + + + + + + +
      +Constructor Summary
      GridAxisRecord() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(GridAxisRecord rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetDataRepresentation() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + intgetSampleType() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetDataRepresentation(int pDataRepresentation) + +
      +           
      + voidsetSampleType(int pSampleType) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +sampleType

      +
      +protected int sampleType
      +
      +
      type of environmental sample +

      +

      +
      +
      +
      + +

      +dataRepresentation

      +
      +protected int dataRepresentation
      +
      +
      value that describes data representation +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +GridAxisRecord

      +
      +public GridAxisRecord()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSampleType

      +
      +public void setSampleType(int pSampleType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSampleType

      +
      +public int getSampleType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setDataRepresentation

      +
      +public void setDataRepresentation(int pDataRepresentation)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getDataRepresentation

      +
      +public int getDataRepresentation()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(GridAxisRecord rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/GridAxisRecordRepresentation0.html b/docs/edu/nps/moves/dis/GridAxisRecordRepresentation0.html new file mode 100644 index 00000000..8a5898a5 --- /dev/null +++ b/docs/edu/nps/moves/dis/GridAxisRecordRepresentation0.html @@ -0,0 +1,560 @@ + + + + + + +GridAxisRecordRepresentation0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class GridAxisRecordRepresentation0

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.GridAxisRecord
      +      extended by edu.nps.moves.dis.GridAxisRecordRepresentation0
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class GridAxisRecordRepresentation0
      extends GridAxisRecord
      implements java.io.Serializable
      + + +

      +5.2.44: Grid data record, representation 0 + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  java.util.List<OneByteChunk>dataValues + +
      +          variable length list of data parameters @@@this is wrong--need padding as well
      +protected  intnumberOfBytes + +
      +          number of bytes of environmental state data
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.GridAxisRecord
      dataRepresentation, sampleType
      +  + + + + + + + + + + +
      +Constructor Summary
      GridAxisRecordRepresentation0() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(GridAxisRecordRepresentation0 rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + java.util.List<OneByteChunk>getDataValues() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + intgetNumberOfBytes() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetDataValues(java.util.List<OneByteChunk> pDataValues) + +
      +           
      + voidsetNumberOfBytes(int pNumberOfBytes) + +
      +          Note that setting this value will not change the marshalled value.
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.GridAxisRecord
      equals, getDataRepresentation, getSampleType, setDataRepresentation, setSampleType
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +numberOfBytes

      +
      +protected int numberOfBytes
      +
      +
      number of bytes of environmental state data +

      +

      +
      +
      +
      + +

      +dataValues

      +
      +protected java.util.List<OneByteChunk> dataValues
      +
      +
      variable length list of data parameters @@@this is wrong--need padding as well +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +GridAxisRecordRepresentation0

      +
      +public GridAxisRecordRepresentation0()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class GridAxisRecord
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfBytes

      +
      +public int getNumberOfBytes()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfBytes

      +
      +public void setNumberOfBytes(int pNumberOfBytes)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfBytes method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setDataValues

      +
      +public void setDataValues(java.util.List<OneByteChunk> pDataValues)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getDataValues

      +
      +public java.util.List<OneByteChunk> getDataValues()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class GridAxisRecord
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class GridAxisRecord
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class GridAxisRecord
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class GridAxisRecord
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(GridAxisRecordRepresentation0 rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/GridAxisRecordRepresentation1.html b/docs/edu/nps/moves/dis/GridAxisRecordRepresentation1.html new file mode 100644 index 00000000..206bd052 --- /dev/null +++ b/docs/edu/nps/moves/dis/GridAxisRecordRepresentation1.html @@ -0,0 +1,688 @@ + + + + + + +GridAxisRecordRepresentation1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class GridAxisRecordRepresentation1

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.GridAxisRecord
      +      extended by edu.nps.moves.dis.GridAxisRecordRepresentation1
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class GridAxisRecordRepresentation1
      extends GridAxisRecord
      implements java.io.Serializable
      + + +

      +5.2.44: Grid data record, representation 1 + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  java.util.List<TwoByteChunk>dataValues + +
      +          variable length list of data parameters @@@this is wrong--need padding as well
      +protected  floatfieldOffset + +
      +          constant offset used to scale grid data
      +protected  floatfieldScale + +
      +          constant scale factor
      +protected  intnumberOfValues + +
      +          Number of data values
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.GridAxisRecord
      dataRepresentation, sampleType
      +  + + + + + + + + + + +
      +Constructor Summary
      GridAxisRecordRepresentation1() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(GridAxisRecordRepresentation1 rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + java.util.List<TwoByteChunk>getDataValues() + +
      +           
      + floatgetFieldOffset() + +
      +           
      + floatgetFieldScale() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + intgetNumberOfValues() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetDataValues(java.util.List<TwoByteChunk> pDataValues) + +
      +           
      + voidsetFieldOffset(float pFieldOffset) + +
      +           
      + voidsetFieldScale(float pFieldScale) + +
      +           
      + voidsetNumberOfValues(int pNumberOfValues) + +
      +          Note that setting this value will not change the marshalled value.
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.GridAxisRecord
      equals, getDataRepresentation, getSampleType, setDataRepresentation, setSampleType
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +fieldScale

      +
      +protected float fieldScale
      +
      +
      constant scale factor +

      +

      +
      +
      +
      + +

      +fieldOffset

      +
      +protected float fieldOffset
      +
      +
      constant offset used to scale grid data +

      +

      +
      +
      +
      + +

      +numberOfValues

      +
      +protected int numberOfValues
      +
      +
      Number of data values +

      +

      +
      +
      +
      + +

      +dataValues

      +
      +protected java.util.List<TwoByteChunk> dataValues
      +
      +
      variable length list of data parameters @@@this is wrong--need padding as well +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +GridAxisRecordRepresentation1

      +
      +public GridAxisRecordRepresentation1()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class GridAxisRecord
      +
      +
      +
      +
      +
      +
      + +

      +setFieldScale

      +
      +public void setFieldScale(float pFieldScale)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFieldScale

      +
      +public float getFieldScale()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setFieldOffset

      +
      +public void setFieldOffset(float pFieldOffset)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFieldOffset

      +
      +public float getFieldOffset()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfValues

      +
      +public int getNumberOfValues()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfValues

      +
      +public void setNumberOfValues(int pNumberOfValues)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfValues method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setDataValues

      +
      +public void setDataValues(java.util.List<TwoByteChunk> pDataValues)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getDataValues

      +
      +public java.util.List<TwoByteChunk> getDataValues()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class GridAxisRecord
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class GridAxisRecord
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class GridAxisRecord
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class GridAxisRecord
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(GridAxisRecordRepresentation1 rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/GridAxisRecordRepresentation2.html b/docs/edu/nps/moves/dis/GridAxisRecordRepresentation2.html new file mode 100644 index 00000000..cf3fbc89 --- /dev/null +++ b/docs/edu/nps/moves/dis/GridAxisRecordRepresentation2.html @@ -0,0 +1,560 @@ + + + + + + +GridAxisRecordRepresentation2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class GridAxisRecordRepresentation2

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.GridAxisRecord
      +      extended by edu.nps.moves.dis.GridAxisRecordRepresentation2
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class GridAxisRecordRepresentation2
      extends GridAxisRecord
      implements java.io.Serializable
      + + +

      +5.2.44: Grid data record, representation 1 + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  java.util.List<FourByteChunk>dataValues + +
      +          variable length list of data parameters @@@this is wrong--need padding as well
      +protected  intnumberOfValues + +
      +          number of values
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.GridAxisRecord
      dataRepresentation, sampleType
      +  + + + + + + + + + + +
      +Constructor Summary
      GridAxisRecordRepresentation2() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(GridAxisRecordRepresentation2 rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + java.util.List<FourByteChunk>getDataValues() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + intgetNumberOfValues() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetDataValues(java.util.List<FourByteChunk> pDataValues) + +
      +           
      + voidsetNumberOfValues(int pNumberOfValues) + +
      +          Note that setting this value will not change the marshalled value.
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.GridAxisRecord
      equals, getDataRepresentation, getSampleType, setDataRepresentation, setSampleType
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +numberOfValues

      +
      +protected int numberOfValues
      +
      +
      number of values +

      +

      +
      +
      +
      + +

      +dataValues

      +
      +protected java.util.List<FourByteChunk> dataValues
      +
      +
      variable length list of data parameters @@@this is wrong--need padding as well +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +GridAxisRecordRepresentation2

      +
      +public GridAxisRecordRepresentation2()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class GridAxisRecord
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfValues

      +
      +public int getNumberOfValues()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfValues

      +
      +public void setNumberOfValues(int pNumberOfValues)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfValues method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setDataValues

      +
      +public void setDataValues(java.util.List<FourByteChunk> pDataValues)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getDataValues

      +
      +public java.util.List<FourByteChunk> getDataValues()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class GridAxisRecord
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class GridAxisRecord
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class GridAxisRecord
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class GridAxisRecord
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(GridAxisRecordRepresentation2 rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/GriddedDataPdu.html b/docs/edu/nps/moves/dis/GriddedDataPdu.html new file mode 100644 index 00000000..1053e435 --- /dev/null +++ b/docs/edu/nps/moves/dis/GriddedDataPdu.html @@ -0,0 +1,1402 @@ + + + + + + +GriddedDataPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class GriddedDataPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SyntheticEnvironmentFamilyPdu
      +          extended by edu.nps.moves.dis.GriddedDataPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class GriddedDataPdu
      extends SyntheticEnvironmentFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.11.2: Information about globat, spatially varying enviornmental effects. This requires manual cleanup; the grid axis records are variable sized. UNFINISHED + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortconstantGrid + +
      +          are domain grid axes identidal to those of the priveious domain update?
      +protected  intcoordinateSystem + +
      +          coordinate system of the grid
      +protected  EntityIDenvironmentalSimulationApplicationID + +
      +          environmental simulation application ID
      +protected  EntityTypeenvironmentType + +
      +          type of environment
      +protected  intfieldNumber + +
      +          unique identifier for each piece of enviornmental data
      +protected  java.util.List<GridAxisRecord>gridDataList + +
      +          Grid data @@@This is wrong
      +protected  shortnumberOfGridAxes + +
      +          number of grid axes for the environmental data
      +protected  Orientationorientation + +
      +          orientation of the data grid
      +protected  intpadding1 + +
      +          padding
      +protected  shortpadding2 + +
      +          padding
      +protected  intpduNumber + +
      +          sequence number for the total set of PDUS used to transmit the data
      +protected  intpduTotal + +
      +          Total number of PDUS used to transmit the data
      +protected  longsampleTime + +
      +          valid time of the enviormental data sample, 64 bit unsigned int
      +protected  longtotalValues + +
      +          total number of all data values for all pdus for an environmental sample
      +protected  shortvectorDimension + +
      +          total number of data values at each grid point.
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      GriddedDataPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(GriddedDataPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + shortgetConstantGrid() + +
      +           
      + intgetCoordinateSystem() + +
      +           
      + EntityIDgetEnvironmentalSimulationApplicationID() + +
      +           
      + EntityTypegetEnvironmentType() + +
      +           
      + intgetFieldNumber() + +
      +           
      + java.util.List<GridAxisRecord>getGridDataList() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + shortgetNumberOfGridAxes() + +
      +           
      + OrientationgetOrientation() + +
      +           
      + intgetPadding1() + +
      +           
      + shortgetPadding2() + +
      +           
      + intgetPduNumber() + +
      +           
      + intgetPduTotal() + +
      +           
      + longgetSampleTime() + +
      +           
      + longgetTotalValues() + +
      +           
      + shortgetVectorDimension() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetConstantGrid(short pConstantGrid) + +
      +           
      + voidsetCoordinateSystem(int pCoordinateSystem) + +
      +           
      + voidsetEnvironmentalSimulationApplicationID(EntityID pEnvironmentalSimulationApplicationID) + +
      +           
      + voidsetEnvironmentType(EntityType pEnvironmentType) + +
      +           
      + voidsetFieldNumber(int pFieldNumber) + +
      +           
      + voidsetGridDataList(java.util.List<GridAxisRecord> pGridDataList) + +
      +           
      + voidsetNumberOfGridAxes(short pNumberOfGridAxes) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetOrientation(Orientation pOrientation) + +
      +           
      + voidsetPadding1(int pPadding1) + +
      +           
      + voidsetPadding2(short pPadding2) + +
      +           
      + voidsetPduNumber(int pPduNumber) + +
      +           
      + voidsetPduTotal(int pPduTotal) + +
      +           
      + voidsetSampleTime(long pSampleTime) + +
      +           
      + voidsetTotalValues(long pTotalValues) + +
      +           
      + voidsetVectorDimension(short pVectorDimension) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.SyntheticEnvironmentFamilyPdu
      equals
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +environmentalSimulationApplicationID

      +
      +protected EntityID environmentalSimulationApplicationID
      +
      +
      environmental simulation application ID +

      +

      +
      +
      +
      + +

      +fieldNumber

      +
      +protected int fieldNumber
      +
      +
      unique identifier for each piece of enviornmental data +

      +

      +
      +
      +
      + +

      +pduNumber

      +
      +protected int pduNumber
      +
      +
      sequence number for the total set of PDUS used to transmit the data +

      +

      +
      +
      +
      + +

      +pduTotal

      +
      +protected int pduTotal
      +
      +
      Total number of PDUS used to transmit the data +

      +

      +
      +
      +
      + +

      +coordinateSystem

      +
      +protected int coordinateSystem
      +
      +
      coordinate system of the grid +

      +

      +
      +
      +
      + +

      +numberOfGridAxes

      +
      +protected short numberOfGridAxes
      +
      +
      number of grid axes for the environmental data +

      +

      +
      +
      +
      + +

      +constantGrid

      +
      +protected short constantGrid
      +
      +
      are domain grid axes identidal to those of the priveious domain update? +

      +

      +
      +
      +
      + +

      +environmentType

      +
      +protected EntityType environmentType
      +
      +
      type of environment +

      +

      +
      +
      +
      + +

      +orientation

      +
      +protected Orientation orientation
      +
      +
      orientation of the data grid +

      +

      +
      +
      +
      + +

      +sampleTime

      +
      +protected long sampleTime
      +
      +
      valid time of the enviormental data sample, 64 bit unsigned int +

      +

      +
      +
      +
      + +

      +totalValues

      +
      +protected long totalValues
      +
      +
      total number of all data values for all pdus for an environmental sample +

      +

      +
      +
      +
      + +

      +vectorDimension

      +
      +protected short vectorDimension
      +
      +
      total number of data values at each grid point. +

      +

      +
      +
      +
      + +

      +padding1

      +
      +protected int padding1
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +padding2

      +
      +protected short padding2
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +gridDataList

      +
      +protected java.util.List<GridAxisRecord> gridDataList
      +
      +
      Grid data @@@This is wrong +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +GriddedDataPdu

      +
      +public GriddedDataPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class SyntheticEnvironmentFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setEnvironmentalSimulationApplicationID

      +
      +public void setEnvironmentalSimulationApplicationID(EntityID pEnvironmentalSimulationApplicationID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEnvironmentalSimulationApplicationID

      +
      +public EntityID getEnvironmentalSimulationApplicationID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setFieldNumber

      +
      +public void setFieldNumber(int pFieldNumber)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFieldNumber

      +
      +public int getFieldNumber()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPduNumber

      +
      +public void setPduNumber(int pPduNumber)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPduNumber

      +
      +public int getPduNumber()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPduTotal

      +
      +public void setPduTotal(int pPduTotal)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPduTotal

      +
      +public int getPduTotal()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCoordinateSystem

      +
      +public void setCoordinateSystem(int pCoordinateSystem)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCoordinateSystem

      +
      +public int getCoordinateSystem()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfGridAxes

      +
      +public short getNumberOfGridAxes()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfGridAxes

      +
      +public void setNumberOfGridAxes(short pNumberOfGridAxes)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfGridAxes method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setConstantGrid

      +
      +public void setConstantGrid(short pConstantGrid)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getConstantGrid

      +
      +public short getConstantGrid()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEnvironmentType

      +
      +public void setEnvironmentType(EntityType pEnvironmentType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEnvironmentType

      +
      +public EntityType getEnvironmentType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setOrientation

      +
      +public void setOrientation(Orientation pOrientation)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getOrientation

      +
      +public Orientation getOrientation()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSampleTime

      +
      +public void setSampleTime(long pSampleTime)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSampleTime

      +
      +public long getSampleTime()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setTotalValues

      +
      +public void setTotalValues(long pTotalValues)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getTotalValues

      +
      +public long getTotalValues()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setVectorDimension

      +
      +public void setVectorDimension(short pVectorDimension)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getVectorDimension

      +
      +public short getVectorDimension()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPadding1

      +
      +public void setPadding1(int pPadding1)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPadding1

      +
      +public int getPadding1()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPadding2

      +
      +public void setPadding2(short pPadding2)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPadding2

      +
      +public short getPadding2()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setGridDataList

      +
      +public void setGridDataList(java.util.List<GridAxisRecord> pGridDataList)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getGridDataList

      +
      +public java.util.List<GridAxisRecord> getGridDataList()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class SyntheticEnvironmentFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class SyntheticEnvironmentFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class SyntheticEnvironmentFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class SyntheticEnvironmentFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(GriddedDataPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/IffAtcNavAidsLayer1Pdu.html b/docs/edu/nps/moves/dis/IffAtcNavAidsLayer1Pdu.html new file mode 100644 index 00000000..a3fcfbfb --- /dev/null +++ b/docs/edu/nps/moves/dis/IffAtcNavAidsLayer1Pdu.html @@ -0,0 +1,825 @@ + + + + + + +IffAtcNavAidsLayer1Pdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class IffAtcNavAidsLayer1Pdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.DistributedEmissionsFamilyPdu
      +          extended by edu.nps.moves.dis.IffAtcNavAidsLayer1Pdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      Direct Known Subclasses:
      IffAtcNavAidsLayer2Pdu
      +
      +
      +
      +
      public class IffAtcNavAidsLayer1Pdu
      extends DistributedEmissionsFamilyPdu
      implements java.io.Serializable
      + + +

      +5.3.7.4.1: Navigational and IFF PDU. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  EntityIDemittingEntityId + +
      +          ID of the entity that is the source of the emissions
      +protected  EventIDeventID + +
      +          Number generated by the issuing simulation to associate realted events.
      +protected  IffFundamentalDatafundamentalParameters + +
      +          fundamental parameters
      +protected  Vector3Floatlocation + +
      +          Location wrt entity.
      +protected  intpad2 + +
      +          padding
      +protected  SystemIDsystemID + +
      +          System ID information
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      IffAtcNavAidsLayer1Pdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(IffAtcNavAidsLayer1Pdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + EntityIDgetEmittingEntityId() + +
      +           
      + EventIDgetEventID() + +
      +           
      + IffFundamentalDatagetFundamentalParameters() + +
      +           
      + Vector3FloatgetLocation() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + intgetPad2() + +
      +           
      + SystemIDgetSystemID() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetEmittingEntityId(EntityID pEmittingEntityId) + +
      +           
      + voidsetEventID(EventID pEventID) + +
      +           
      + voidsetFundamentalParameters(IffFundamentalData pFundamentalParameters) + +
      +           
      + voidsetLocation(Vector3Float pLocation) + +
      +           
      + voidsetPad2(int pPad2) + +
      +           
      + voidsetSystemID(SystemID pSystemID) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.DistributedEmissionsFamilyPdu
      equals
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +emittingEntityId

      +
      +protected EntityID emittingEntityId
      +
      +
      ID of the entity that is the source of the emissions +

      +

      +
      +
      +
      + +

      +eventID

      +
      +protected EventID eventID
      +
      +
      Number generated by the issuing simulation to associate realted events. +

      +

      +
      +
      +
      + +

      +location

      +
      +protected Vector3Float location
      +
      +
      Location wrt entity. There is some ambugiuity in the standard here, but this is the order it is listed in the table. +

      +

      +
      +
      +
      + +

      +systemID

      +
      +protected SystemID systemID
      +
      +
      System ID information +

      +

      +
      +
      +
      + +

      +pad2

      +
      +protected int pad2
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +fundamentalParameters

      +
      +protected IffFundamentalData fundamentalParameters
      +
      +
      fundamental parameters +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +IffAtcNavAidsLayer1Pdu

      +
      +public IffAtcNavAidsLayer1Pdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class DistributedEmissionsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setEmittingEntityId

      +
      +public void setEmittingEntityId(EntityID pEmittingEntityId)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEmittingEntityId

      +
      +public EntityID getEmittingEntityId()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEventID

      +
      +public void setEventID(EventID pEventID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEventID

      +
      +public EventID getEventID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setLocation

      +
      +public void setLocation(Vector3Float pLocation)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getLocation

      +
      +public Vector3Float getLocation()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSystemID

      +
      +public void setSystemID(SystemID pSystemID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSystemID

      +
      +public SystemID getSystemID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad2

      +
      +public void setPad2(int pPad2)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad2

      +
      +public int getPad2()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setFundamentalParameters

      +
      +public void setFundamentalParameters(IffFundamentalData pFundamentalParameters)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFundamentalParameters

      +
      +public IffFundamentalData getFundamentalParameters()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class DistributedEmissionsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class DistributedEmissionsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class DistributedEmissionsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class DistributedEmissionsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(IffAtcNavAidsLayer1Pdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/IffAtcNavAidsLayer2Pdu.html b/docs/edu/nps/moves/dis/IffAtcNavAidsLayer2Pdu.html new file mode 100644 index 00000000..7b664be1 --- /dev/null +++ b/docs/edu/nps/moves/dis/IffAtcNavAidsLayer2Pdu.html @@ -0,0 +1,713 @@ + + + + + + +IffAtcNavAidsLayer2Pdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class IffAtcNavAidsLayer2Pdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.DistributedEmissionsFamilyPdu
      +          extended by edu.nps.moves.dis.IffAtcNavAidsLayer1Pdu
      +              extended by edu.nps.moves.dis.IffAtcNavAidsLayer2Pdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class IffAtcNavAidsLayer2Pdu
      extends IffAtcNavAidsLayer1Pdu
      implements java.io.Serializable
      + + +

      +Section 5.3.7.4.2 When present, layer 2 should follow layer 1 and have the following fields. This requires manual cleanup. the beamData attribute semantics are used in multiple ways. UNFINSISHED + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  BeamDatabeamData + +
      +          beam data
      +protected  java.util.List<FundamentalParameterDataIff>fundamentalIffParameters + +
      +          variable length list of fundamental parameters.
      +protected  LayerHeaderlayerHeader + +
      +          layer header
      +protected  BeamDatasecondaryOperationalData + +
      +          Secondary operational data, 5.2.57
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.IffAtcNavAidsLayer1Pdu
      emittingEntityId, eventID, fundamentalParameters, location, pad2, systemID
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      IffAtcNavAidsLayer2Pdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(IffAtcNavAidsLayer2Pdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + BeamDatagetBeamData() + +
      +           
      + java.util.List<FundamentalParameterDataIff>getFundamentalIffParameters() + +
      +           
      + LayerHeadergetLayerHeader() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + BeamDatagetSecondaryOperationalData() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetBeamData(BeamData pBeamData) + +
      +           
      + voidsetFundamentalIffParameters(java.util.List<FundamentalParameterDataIff> pFundamentalIffParameters) + +
      +           
      + voidsetLayerHeader(LayerHeader pLayerHeader) + +
      +           
      + voidsetSecondaryOperationalData(BeamData pSecondaryOperationalData) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.IffAtcNavAidsLayer1Pdu
      equals, getEmittingEntityId, getEventID, getFundamentalParameters, getLocation, getPad2, getSystemID, setEmittingEntityId, setEventID, setFundamentalParameters, setLocation, setPad2, setSystemID
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.DistributedEmissionsFamilyPdu
      equals
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +layerHeader

      +
      +protected LayerHeader layerHeader
      +
      +
      layer header +

      +

      +
      +
      +
      + +

      +beamData

      +
      +protected BeamData beamData
      +
      +
      beam data +

      +

      +
      +
      +
      + +

      +secondaryOperationalData

      +
      +protected BeamData secondaryOperationalData
      +
      +
      Secondary operational data, 5.2.57 +

      +

      +
      +
      +
      + +

      +fundamentalIffParameters

      +
      +protected java.util.List<FundamentalParameterDataIff> fundamentalIffParameters
      +
      +
      variable length list of fundamental parameters. @@@This is wrong +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +IffAtcNavAidsLayer2Pdu

      +
      +public IffAtcNavAidsLayer2Pdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class IffAtcNavAidsLayer1Pdu
      +
      +
      +
      +
      +
      +
      + +

      +setLayerHeader

      +
      +public void setLayerHeader(LayerHeader pLayerHeader)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getLayerHeader

      +
      +public LayerHeader getLayerHeader()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setBeamData

      +
      +public void setBeamData(BeamData pBeamData)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getBeamData

      +
      +public BeamData getBeamData()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSecondaryOperationalData

      +
      +public void setSecondaryOperationalData(BeamData pSecondaryOperationalData)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSecondaryOperationalData

      +
      +public BeamData getSecondaryOperationalData()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setFundamentalIffParameters

      +
      +public void setFundamentalIffParameters(java.util.List<FundamentalParameterDataIff> pFundamentalIffParameters)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFundamentalIffParameters

      +
      +public java.util.List<FundamentalParameterDataIff> getFundamentalIffParameters()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class IffAtcNavAidsLayer1Pdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class IffAtcNavAidsLayer1Pdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class IffAtcNavAidsLayer1Pdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class IffAtcNavAidsLayer1Pdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(IffAtcNavAidsLayer2Pdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/IffFundamentalData.html b/docs/edu/nps/moves/dis/IffFundamentalData.html new file mode 100644 index 00000000..2b516027 --- /dev/null +++ b/docs/edu/nps/moves/dis/IffFundamentalData.html @@ -0,0 +1,1049 @@ + + + + + + +IffFundamentalData + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class IffFundamentalData

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.IffFundamentalData
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class IffFundamentalData
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +5.2.42. Basic operational data ofr IFF ATC NAVAIDS + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortalternateParameter4 + +
      +          Alternate parameter 4
      +protected  shortinformationLayers + +
      +          eight boolean fields
      +protected  shortmodifier + +
      +          enumeration
      +protected  intparameter1 + +
      +          parameter, enumeration
      +protected  intparameter2 + +
      +          parameter, enumeration
      +protected  intparameter3 + +
      +          parameter, enumeration
      +protected  intparameter4 + +
      +          parameter, enumeration
      +protected  intparameter5 + +
      +          parameter, enumeration
      +protected  intparameter6 + +
      +          parameter, enumeration
      +protected  shortsystemStatus + +
      +          system status
      +  + + + + + + + + + + +
      +Constructor Summary
      IffFundamentalData() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(IffFundamentalData rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + shortgetAlternateParameter4() + +
      +           
      + shortgetInformationLayers() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + shortgetModifier() + +
      +           
      + intgetParameter1() + +
      +           
      + intgetParameter2() + +
      +           
      + intgetParameter3() + +
      +           
      + intgetParameter4() + +
      +           
      + intgetParameter5() + +
      +           
      + intgetParameter6() + +
      +           
      + shortgetSystemStatus() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetAlternateParameter4(short pAlternateParameter4) + +
      +           
      + voidsetInformationLayers(short pInformationLayers) + +
      +           
      + voidsetModifier(short pModifier) + +
      +           
      + voidsetParameter1(int pParameter1) + +
      +           
      + voidsetParameter2(int pParameter2) + +
      +           
      + voidsetParameter3(int pParameter3) + +
      +           
      + voidsetParameter4(int pParameter4) + +
      +           
      + voidsetParameter5(int pParameter5) + +
      +           
      + voidsetParameter6(int pParameter6) + +
      +           
      + voidsetSystemStatus(short pSystemStatus) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +systemStatus

      +
      +protected short systemStatus
      +
      +
      system status +

      +

      +
      +
      +
      + +

      +alternateParameter4

      +
      +protected short alternateParameter4
      +
      +
      Alternate parameter 4 +

      +

      +
      +
      +
      + +

      +informationLayers

      +
      +protected short informationLayers
      +
      +
      eight boolean fields +

      +

      +
      +
      +
      + +

      +modifier

      +
      +protected short modifier
      +
      +
      enumeration +

      +

      +
      +
      +
      + +

      +parameter1

      +
      +protected int parameter1
      +
      +
      parameter, enumeration +

      +

      +
      +
      +
      + +

      +parameter2

      +
      +protected int parameter2
      +
      +
      parameter, enumeration +

      +

      +
      +
      +
      + +

      +parameter3

      +
      +protected int parameter3
      +
      +
      parameter, enumeration +

      +

      +
      +
      +
      + +

      +parameter4

      +
      +protected int parameter4
      +
      +
      parameter, enumeration +

      +

      +
      +
      +
      + +

      +parameter5

      +
      +protected int parameter5
      +
      +
      parameter, enumeration +

      +

      +
      +
      +
      + +

      +parameter6

      +
      +protected int parameter6
      +
      +
      parameter, enumeration +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +IffFundamentalData

      +
      +public IffFundamentalData()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSystemStatus

      +
      +public void setSystemStatus(short pSystemStatus)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSystemStatus

      +
      +public short getSystemStatus()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setAlternateParameter4

      +
      +public void setAlternateParameter4(short pAlternateParameter4)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAlternateParameter4

      +
      +public short getAlternateParameter4()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setInformationLayers

      +
      +public void setInformationLayers(short pInformationLayers)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getInformationLayers

      +
      +public short getInformationLayers()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setModifier

      +
      +public void setModifier(short pModifier)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getModifier

      +
      +public short getModifier()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setParameter1

      +
      +public void setParameter1(int pParameter1)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getParameter1

      +
      +public int getParameter1()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setParameter2

      +
      +public void setParameter2(int pParameter2)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getParameter2

      +
      +public int getParameter2()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setParameter3

      +
      +public void setParameter3(int pParameter3)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getParameter3

      +
      +public int getParameter3()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setParameter4

      +
      +public void setParameter4(int pParameter4)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getParameter4

      +
      +public int getParameter4()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setParameter5

      +
      +public void setParameter5(int pParameter5)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getParameter5

      +
      +public int getParameter5()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setParameter6

      +
      +public void setParameter6(int pParameter6)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getParameter6

      +
      +public int getParameter6()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(IffFundamentalData rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/IntercomCommunicationsParameters.html b/docs/edu/nps/moves/dis/IntercomCommunicationsParameters.html new file mode 100644 index 00000000..a1f3e0b4 --- /dev/null +++ b/docs/edu/nps/moves/dis/IntercomCommunicationsParameters.html @@ -0,0 +1,601 @@ + + + + + + +IntercomCommunicationsParameters + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class IntercomCommunicationsParameters

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.IntercomCommunicationsParameters
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class IntercomCommunicationsParameters
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +5.2.46. Intercom communcations parameters + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  intrecordLength + +
      +          length of record
      +protected  longrecordSpecificField + +
      +          Jerks.
      +protected  intrecordType + +
      +          Type of intercom parameters record
      +  + + + + + + + + + + +
      +Constructor Summary
      IntercomCommunicationsParameters() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(IntercomCommunicationsParameters rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + intgetRecordLength() + +
      +           
      + longgetRecordSpecificField() + +
      +           
      + intgetRecordType() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetRecordLength(int pRecordLength) + +
      +           
      + voidsetRecordSpecificField(long pRecordSpecificField) + +
      +           
      + voidsetRecordType(int pRecordType) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +recordType

      +
      +protected int recordType
      +
      +
      Type of intercom parameters record +

      +

      +
      +
      +
      + +

      +recordLength

      +
      +protected int recordLength
      +
      +
      length of record +

      +

      +
      +
      +
      + +

      +recordSpecificField

      +
      +protected long recordSpecificField
      +
      +
      Jerks. Looks like the committee is forcing a lookup of the record type parameter to find out how long the field is. This is a placeholder. +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +IntercomCommunicationsParameters

      +
      +public IntercomCommunicationsParameters()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRecordType

      +
      +public void setRecordType(int pRecordType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRecordType

      +
      +public int getRecordType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRecordLength

      +
      +public void setRecordLength(int pRecordLength)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRecordLength

      +
      +public int getRecordLength()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRecordSpecificField

      +
      +public void setRecordSpecificField(long pRecordSpecificField)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRecordSpecificField

      +
      +public long getRecordSpecificField()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(IntercomCommunicationsParameters rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/IntercomControlPdu.html b/docs/edu/nps/moves/dis/IntercomControlPdu.html new file mode 100644 index 00000000..b2027793 --- /dev/null +++ b/docs/edu/nps/moves/dis/IntercomControlPdu.html @@ -0,0 +1,1217 @@ + + + + + + +IntercomControlPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class IntercomControlPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.RadioCommunicationsFamilyPdu
      +          extended by edu.nps.moves.dis.IntercomControlPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class IntercomControlPdu
      extends RadioCommunicationsFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.8.5. Detailed inofrmation about the state of an intercom device and the actions it is requestion of another intercom device, or the response to a requested action. Required manual intervention to fix the intercom parameters, which can be of varialbe length. UNFINSISHED + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortcommand + +
      +          detailed type requested.
      +protected  shortcommunicationsChannelType + +
      +          control type
      +protected  shortcontrolType + +
      +          control type
      +protected  java.util.List<IntercomCommunicationsParameters>intercomParameters + +
      +           
      +protected  longintercomParametersLength + +
      +          number of intercom parameters
      +protected  intmasterCommunicationsDeviceID + +
      +          specific intercom device that has created this intercom channel
      +protected  EntityIDmasterEntityID + +
      +          eid of the entity that has created this intercom channel.
      +protected  shortsourceCommunicationsDeviceID + +
      +          The specific intercom device being simulated within an entity.
      +protected  EntityIDsourceEntityID + +
      +          Source entity ID
      +protected  shortsourceLineID + +
      +          Line number to which the intercom control refers
      +protected  shorttransmitLineState + +
      +          current transmit state of the line
      +protected  shorttransmitPriority + +
      +          priority of this message relative to transmissons from other intercom devices
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.RadioCommunicationsFamilyPdu
      entityId, radioId
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      IntercomControlPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(IntercomControlPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + shortgetCommand() + +
      +           
      + shortgetCommunicationsChannelType() + +
      +           
      + shortgetControlType() + +
      +           
      + java.util.List<IntercomCommunicationsParameters>getIntercomParameters() + +
      +           
      + longgetIntercomParametersLength() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + intgetMasterCommunicationsDeviceID() + +
      +           
      + EntityIDgetMasterEntityID() + +
      +           
      + shortgetSourceCommunicationsDeviceID() + +
      +           
      + EntityIDgetSourceEntityID() + +
      +           
      + shortgetSourceLineID() + +
      +           
      + shortgetTransmitLineState() + +
      +           
      + shortgetTransmitPriority() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetCommand(short pCommand) + +
      +           
      + voidsetCommunicationsChannelType(short pCommunicationsChannelType) + +
      +           
      + voidsetControlType(short pControlType) + +
      +           
      + voidsetIntercomParameters(java.util.List<IntercomCommunicationsParameters> pIntercomParameters) + +
      +           
      + voidsetIntercomParametersLength(long pIntercomParametersLength) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetMasterCommunicationsDeviceID(int pMasterCommunicationsDeviceID) + +
      +           
      + voidsetMasterEntityID(EntityID pMasterEntityID) + +
      +           
      + voidsetSourceCommunicationsDeviceID(short pSourceCommunicationsDeviceID) + +
      +           
      + voidsetSourceEntityID(EntityID pSourceEntityID) + +
      +           
      + voidsetSourceLineID(short pSourceLineID) + +
      +           
      + voidsetTransmitLineState(short pTransmitLineState) + +
      +           
      + voidsetTransmitPriority(short pTransmitPriority) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.RadioCommunicationsFamilyPdu
      equals, getEntityId, getRadioId, setEntityId, setRadioId
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +controlType

      +
      +protected short controlType
      +
      +
      control type +

      +

      +
      +
      +
      + +

      +communicationsChannelType

      +
      +protected short communicationsChannelType
      +
      +
      control type +

      +

      +
      +
      +
      + +

      +sourceEntityID

      +
      +protected EntityID sourceEntityID
      +
      +
      Source entity ID +

      +

      +
      +
      +
      + +

      +sourceCommunicationsDeviceID

      +
      +protected short sourceCommunicationsDeviceID
      +
      +
      The specific intercom device being simulated within an entity. +

      +

      +
      +
      +
      + +

      +sourceLineID

      +
      +protected short sourceLineID
      +
      +
      Line number to which the intercom control refers +

      +

      +
      +
      +
      + +

      +transmitPriority

      +
      +protected short transmitPriority
      +
      +
      priority of this message relative to transmissons from other intercom devices +

      +

      +
      +
      +
      + +

      +transmitLineState

      +
      +protected short transmitLineState
      +
      +
      current transmit state of the line +

      +

      +
      +
      +
      + +

      +command

      +
      +protected short command
      +
      +
      detailed type requested. +

      +

      +
      +
      +
      + +

      +masterEntityID

      +
      +protected EntityID masterEntityID
      +
      +
      eid of the entity that has created this intercom channel. +

      +

      +
      +
      +
      + +

      +masterCommunicationsDeviceID

      +
      +protected int masterCommunicationsDeviceID
      +
      +
      specific intercom device that has created this intercom channel +

      +

      +
      +
      +
      + +

      +intercomParametersLength

      +
      +protected long intercomParametersLength
      +
      +
      number of intercom parameters +

      +

      +
      +
      +
      + +

      +intercomParameters

      +
      +protected java.util.List<IntercomCommunicationsParameters> intercomParameters
      +
      +
      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +IntercomControlPdu

      +
      +public IntercomControlPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class RadioCommunicationsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setControlType

      +
      +public void setControlType(short pControlType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getControlType

      +
      +public short getControlType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCommunicationsChannelType

      +
      +public void setCommunicationsChannelType(short pCommunicationsChannelType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCommunicationsChannelType

      +
      +public short getCommunicationsChannelType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSourceEntityID

      +
      +public void setSourceEntityID(EntityID pSourceEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSourceEntityID

      +
      +public EntityID getSourceEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSourceCommunicationsDeviceID

      +
      +public void setSourceCommunicationsDeviceID(short pSourceCommunicationsDeviceID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSourceCommunicationsDeviceID

      +
      +public short getSourceCommunicationsDeviceID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSourceLineID

      +
      +public void setSourceLineID(short pSourceLineID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSourceLineID

      +
      +public short getSourceLineID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setTransmitPriority

      +
      +public void setTransmitPriority(short pTransmitPriority)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getTransmitPriority

      +
      +public short getTransmitPriority()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setTransmitLineState

      +
      +public void setTransmitLineState(short pTransmitLineState)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getTransmitLineState

      +
      +public short getTransmitLineState()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCommand

      +
      +public void setCommand(short pCommand)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCommand

      +
      +public short getCommand()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setMasterEntityID

      +
      +public void setMasterEntityID(EntityID pMasterEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getMasterEntityID

      +
      +public EntityID getMasterEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setMasterCommunicationsDeviceID

      +
      +public void setMasterCommunicationsDeviceID(int pMasterCommunicationsDeviceID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getMasterCommunicationsDeviceID

      +
      +public int getMasterCommunicationsDeviceID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getIntercomParametersLength

      +
      +public long getIntercomParametersLength()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setIntercomParametersLength

      +
      +public void setIntercomParametersLength(long pIntercomParametersLength)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getintercomParametersLength method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setIntercomParameters

      +
      +public void setIntercomParameters(java.util.List<IntercomCommunicationsParameters> pIntercomParameters)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getIntercomParameters

      +
      +public java.util.List<IntercomCommunicationsParameters> getIntercomParameters()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class RadioCommunicationsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class RadioCommunicationsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class RadioCommunicationsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class RadioCommunicationsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(IntercomControlPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/IntercomSignalPdu.html b/docs/edu/nps/moves/dis/IntercomSignalPdu.html new file mode 100644 index 00000000..54de04ea --- /dev/null +++ b/docs/edu/nps/moves/dis/IntercomSignalPdu.html @@ -0,0 +1,963 @@ + + + + + + +IntercomSignalPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class IntercomSignalPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.RadioCommunicationsFamilyPdu
      +          extended by edu.nps.moves.dis.IntercomSignalPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class IntercomSignalPdu
      extends RadioCommunicationsFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.8.4. Actual transmission of intercome voice data. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  intcommunicationsDeviceID + +
      +          ID of communications device
      +protected  java.util.List<OneByteChunk>data + +
      +          data bytes
      +protected  intdataLength + +
      +          data length
      +protected  intencodingScheme + +
      +          encoding scheme
      +protected  EntityIDentityID + +
      +          entity ID
      +protected  longsampleRate + +
      +          sample rate
      +protected  intsamples + +
      +          samples
      +protected  inttdlType + +
      +          tactical data link type
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.RadioCommunicationsFamilyPdu
      entityId, radioId
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      IntercomSignalPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(IntercomSignalPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetCommunicationsDeviceID() + +
      +           
      + java.util.List<OneByteChunk>getData() + +
      +           
      + intgetDataLength() + +
      +           
      + intgetEncodingScheme() + +
      +           
      + EntityIDgetEntityID() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + longgetSampleRate() + +
      +           
      + intgetSamples() + +
      +           
      + intgetTdlType() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetCommunicationsDeviceID(int pCommunicationsDeviceID) + +
      +           
      + voidsetData(java.util.List<OneByteChunk> pData) + +
      +           
      + voidsetDataLength(int pDataLength) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetEncodingScheme(int pEncodingScheme) + +
      +           
      + voidsetEntityID(EntityID pEntityID) + +
      +           
      + voidsetSampleRate(long pSampleRate) + +
      +           
      + voidsetSamples(int pSamples) + +
      +           
      + voidsetTdlType(int pTdlType) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.RadioCommunicationsFamilyPdu
      equals, getEntityId, getRadioId, setEntityId, setRadioId
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +entityID

      +
      +protected EntityID entityID
      +
      +
      entity ID +

      +

      +
      +
      +
      + +

      +communicationsDeviceID

      +
      +protected int communicationsDeviceID
      +
      +
      ID of communications device +

      +

      +
      +
      +
      + +

      +encodingScheme

      +
      +protected int encodingScheme
      +
      +
      encoding scheme +

      +

      +
      +
      +
      + +

      +tdlType

      +
      +protected int tdlType
      +
      +
      tactical data link type +

      +

      +
      +
      +
      + +

      +sampleRate

      +
      +protected long sampleRate
      +
      +
      sample rate +

      +

      +
      +
      +
      + +

      +dataLength

      +
      +protected int dataLength
      +
      +
      data length +

      +

      +
      +
      +
      + +

      +samples

      +
      +protected int samples
      +
      +
      samples +

      +

      +
      +
      +
      + +

      +data

      +
      +protected java.util.List<OneByteChunk> data
      +
      +
      data bytes +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +IntercomSignalPdu

      +
      +public IntercomSignalPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class RadioCommunicationsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setEntityID

      +
      +public void setEntityID(EntityID pEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEntityID

      +
      +public EntityID getEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCommunicationsDeviceID

      +
      +public void setCommunicationsDeviceID(int pCommunicationsDeviceID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCommunicationsDeviceID

      +
      +public int getCommunicationsDeviceID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEncodingScheme

      +
      +public void setEncodingScheme(int pEncodingScheme)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEncodingScheme

      +
      +public int getEncodingScheme()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setTdlType

      +
      +public void setTdlType(int pTdlType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getTdlType

      +
      +public int getTdlType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSampleRate

      +
      +public void setSampleRate(long pSampleRate)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSampleRate

      +
      +public long getSampleRate()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getDataLength

      +
      +public int getDataLength()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setDataLength

      +
      +public void setDataLength(int pDataLength)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getdataLength method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setSamples

      +
      +public void setSamples(int pSamples)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSamples

      +
      +public int getSamples()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setData

      +
      +public void setData(java.util.List<OneByteChunk> pData)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getData

      +
      +public java.util.List<OneByteChunk> getData()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class RadioCommunicationsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class RadioCommunicationsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class RadioCommunicationsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class RadioCommunicationsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(IntercomSignalPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/IsGroupOfPdu.html b/docs/edu/nps/moves/dis/IsGroupOfPdu.html new file mode 100644 index 00000000..2ddb4636 --- /dev/null +++ b/docs/edu/nps/moves/dis/IsGroupOfPdu.html @@ -0,0 +1,890 @@ + + + + + + +IsGroupOfPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class IsGroupOfPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.EntityManagementFamilyPdu
      +          extended by edu.nps.moves.dis.IsGroupOfPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class IsGroupOfPdu
      extends EntityManagementFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.9.2 Information about a particular group of entities grouped together for the purposes of netowrk bandwidth reduction or aggregation. Needs manual cleanup. The GED size requires a database lookup. UNFINISHED + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortgroupedEntityCategory + +
      +          type of entities constituting the group
      +protected  java.util.List<VariableDatum>groupedEntityDescriptions + +
      +          GED records about each individual entity in the group.
      +protected  EntityIDgroupEntityID + +
      +          ID of aggregated entities
      +protected  doublelatitude + +
      +          latitude
      +protected  doublelongitude + +
      +          longitude
      +protected  shortnumberOfGroupedEntities + +
      +          Number of individual entities constituting the group
      +protected  longpad2 + +
      +          padding
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      IsGroupOfPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(IsGroupOfPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + shortgetGroupedEntityCategory() + +
      +           
      + java.util.List<VariableDatum>getGroupedEntityDescriptions() + +
      +           
      + EntityIDgetGroupEntityID() + +
      +           
      + doublegetLatitude() + +
      +           
      + doublegetLongitude() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + shortgetNumberOfGroupedEntities() + +
      +           
      + longgetPad2() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetGroupedEntityCategory(short pGroupedEntityCategory) + +
      +           
      + voidsetGroupedEntityDescriptions(java.util.List<VariableDatum> pGroupedEntityDescriptions) + +
      +           
      + voidsetGroupEntityID(EntityID pGroupEntityID) + +
      +           
      + voidsetLatitude(double pLatitude) + +
      +           
      + voidsetLongitude(double pLongitude) + +
      +           
      + voidsetNumberOfGroupedEntities(short pNumberOfGroupedEntities) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetPad2(long pPad2) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.EntityManagementFamilyPdu
      equals
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +groupEntityID

      +
      +protected EntityID groupEntityID
      +
      +
      ID of aggregated entities +

      +

      +
      +
      +
      + +

      +groupedEntityCategory

      +
      +protected short groupedEntityCategory
      +
      +
      type of entities constituting the group +

      +

      +
      +
      +
      + +

      +numberOfGroupedEntities

      +
      +protected short numberOfGroupedEntities
      +
      +
      Number of individual entities constituting the group +

      +

      +
      +
      +
      + +

      +pad2

      +
      +protected long pad2
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +latitude

      +
      +protected double latitude
      +
      +
      latitude +

      +

      +
      +
      +
      + +

      +longitude

      +
      +protected double longitude
      +
      +
      longitude +

      +

      +
      +
      +
      + +

      +groupedEntityDescriptions

      +
      +protected java.util.List<VariableDatum> groupedEntityDescriptions
      +
      +
      GED records about each individual entity in the group. @@@this is wrong--need a database lookup to find the actual size of the list elements +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +IsGroupOfPdu

      +
      +public IsGroupOfPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class EntityManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setGroupEntityID

      +
      +public void setGroupEntityID(EntityID pGroupEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getGroupEntityID

      +
      +public EntityID getGroupEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setGroupedEntityCategory

      +
      +public void setGroupedEntityCategory(short pGroupedEntityCategory)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getGroupedEntityCategory

      +
      +public short getGroupedEntityCategory()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfGroupedEntities

      +
      +public short getNumberOfGroupedEntities()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfGroupedEntities

      +
      +public void setNumberOfGroupedEntities(short pNumberOfGroupedEntities)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfGroupedEntities method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad2

      +
      +public void setPad2(long pPad2)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad2

      +
      +public long getPad2()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setLatitude

      +
      +public void setLatitude(double pLatitude)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getLatitude

      +
      +public double getLatitude()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setLongitude

      +
      +public void setLongitude(double pLongitude)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getLongitude

      +
      +public double getLongitude()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setGroupedEntityDescriptions

      +
      +public void setGroupedEntityDescriptions(java.util.List<VariableDatum> pGroupedEntityDescriptions)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getGroupedEntityDescriptions

      +
      +public java.util.List<VariableDatum> getGroupedEntityDescriptions()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class EntityManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class EntityManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class EntityManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class EntityManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(IsGroupOfPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/IsPartOfPdu.html b/docs/edu/nps/moves/dis/IsPartOfPdu.html new file mode 100644 index 00000000..fdee4574 --- /dev/null +++ b/docs/edu/nps/moves/dis/IsPartOfPdu.html @@ -0,0 +1,822 @@ + + + + + + +IsPartOfPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class IsPartOfPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.EntityManagementFamilyPdu
      +          extended by edu.nps.moves.dis.IsPartOfPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class IsPartOfPdu
      extends EntityManagementFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.9.4 The joining of two or more simulation entities is communicated by this PDU. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  NamedLocationnamedLocationID + +
      +          named location
      +protected  EntityIDorginatingEntityID + +
      +          ID of entity originating PDU
      +protected  EntityTypepartEntityType + +
      +          entity type
      +protected  Vector3FloatpartLocation + +
      +          location of part; centroid of part in host's coordinate system.
      +protected  EntityIDreceivingEntityID + +
      +          ID of entity receiving PDU
      +protected  Relationshiprelationship + +
      +          relationship of joined parts
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      IsPartOfPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(IsPartOfPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + NamedLocationgetNamedLocationID() + +
      +           
      + EntityIDgetOrginatingEntityID() + +
      +           
      + EntityTypegetPartEntityType() + +
      +           
      + Vector3FloatgetPartLocation() + +
      +           
      + EntityIDgetReceivingEntityID() + +
      +           
      + RelationshipgetRelationship() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetNamedLocationID(NamedLocation pNamedLocationID) + +
      +           
      + voidsetOrginatingEntityID(EntityID pOrginatingEntityID) + +
      +           
      + voidsetPartEntityType(EntityType pPartEntityType) + +
      +           
      + voidsetPartLocation(Vector3Float pPartLocation) + +
      +           
      + voidsetReceivingEntityID(EntityID pReceivingEntityID) + +
      +           
      + voidsetRelationship(Relationship pRelationship) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.EntityManagementFamilyPdu
      equals
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +orginatingEntityID

      +
      +protected EntityID orginatingEntityID
      +
      +
      ID of entity originating PDU +

      +

      +
      +
      +
      + +

      +receivingEntityID

      +
      +protected EntityID receivingEntityID
      +
      +
      ID of entity receiving PDU +

      +

      +
      +
      +
      + +

      +relationship

      +
      +protected Relationship relationship
      +
      +
      relationship of joined parts +

      +

      +
      +
      +
      + +

      +partLocation

      +
      +protected Vector3Float partLocation
      +
      +
      location of part; centroid of part in host's coordinate system. x=range, y=bearing, z=0 +

      +

      +
      +
      +
      + +

      +namedLocationID

      +
      +protected NamedLocation namedLocationID
      +
      +
      named location +

      +

      +
      +
      +
      + +

      +partEntityType

      +
      +protected EntityType partEntityType
      +
      +
      entity type +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +IsPartOfPdu

      +
      +public IsPartOfPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class EntityManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setOrginatingEntityID

      +
      +public void setOrginatingEntityID(EntityID pOrginatingEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getOrginatingEntityID

      +
      +public EntityID getOrginatingEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setReceivingEntityID

      +
      +public void setReceivingEntityID(EntityID pReceivingEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getReceivingEntityID

      +
      +public EntityID getReceivingEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRelationship

      +
      +public void setRelationship(Relationship pRelationship)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRelationship

      +
      +public Relationship getRelationship()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPartLocation

      +
      +public void setPartLocation(Vector3Float pPartLocation)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPartLocation

      +
      +public Vector3Float getPartLocation()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNamedLocationID

      +
      +public void setNamedLocationID(NamedLocation pNamedLocationID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNamedLocationID

      +
      +public NamedLocation getNamedLocationID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPartEntityType

      +
      +public void setPartEntityType(EntityType pPartEntityType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPartEntityType

      +
      +public EntityType getPartEntityType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class EntityManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class EntityManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class EntityManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class EntityManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(IsPartOfPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/LayerHeader.html b/docs/edu/nps/moves/dis/LayerHeader.html new file mode 100644 index 00000000..821f2e88 --- /dev/null +++ b/docs/edu/nps/moves/dis/LayerHeader.html @@ -0,0 +1,601 @@ + + + + + + +LayerHeader + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class LayerHeader

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.LayerHeader
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class LayerHeader
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +5.2.47. Layer header. + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortlayerNumber + +
      +          Layer number
      +protected  shortlayerSpecificInformaiton + +
      +          Layer speccific information enumeration
      +protected  intlength + +
      +          information length
      +  + + + + + + + + + + +
      +Constructor Summary
      LayerHeader() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(LayerHeader rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + shortgetLayerNumber() + +
      +           
      + shortgetLayerSpecificInformaiton() + +
      +           
      + intgetLength() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetLayerNumber(short pLayerNumber) + +
      +           
      + voidsetLayerSpecificInformaiton(short pLayerSpecificInformaiton) + +
      +           
      + voidsetLength(int pLength) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +layerNumber

      +
      +protected short layerNumber
      +
      +
      Layer number +

      +

      +
      +
      +
      + +

      +layerSpecificInformaiton

      +
      +protected short layerSpecificInformaiton
      +
      +
      Layer speccific information enumeration +

      +

      +
      +
      +
      + +

      +length

      +
      +protected int length
      +
      +
      information length +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +LayerHeader

      +
      +public LayerHeader()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setLayerNumber

      +
      +public void setLayerNumber(short pLayerNumber)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getLayerNumber

      +
      +public short getLayerNumber()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setLayerSpecificInformaiton

      +
      +public void setLayerSpecificInformaiton(short pLayerSpecificInformaiton)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getLayerSpecificInformaiton

      +
      +public short getLayerSpecificInformaiton()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setLength

      +
      +public void setLength(int pLength)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getLength

      +
      +public int getLength()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(LayerHeader rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/LinearObjectStatePdu.html b/docs/edu/nps/moves/dis/LinearObjectStatePdu.html new file mode 100644 index 00000000..7cd49074 --- /dev/null +++ b/docs/edu/nps/moves/dis/LinearObjectStatePdu.html @@ -0,0 +1,1018 @@ + + + + + + +LinearObjectStatePdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class LinearObjectStatePdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SyntheticEnvironmentFamilyPdu
      +          extended by edu.nps.moves.dis.LinearObjectStatePdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class LinearObjectStatePdu
      extends SyntheticEnvironmentFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.11.4: Information abut the addition or modification of a synthecic enviroment object that is anchored to the terrain with a single point and has size or orientation. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortforceID + +
      +          force ID
      +protected  java.util.List<LinearSegmentParameter>linearSegmentParameters + +
      +          Linear segment parameters
      +protected  shortnumberOfSegments + +
      +          number of linear segment parameters
      +protected  EntityIDobjectID + +
      +          Object in synthetic environment
      +protected  ObjectTypeobjectType + +
      +          Object type
      +protected  SimulationAddressreceivingID + +
      +          receiver ID
      +protected  EntityIDreferencedObjectID + +
      +          Object with which this point object is associated
      +protected  SimulationAddressrequesterID + +
      +          requesterID
      +protected  intupdateNumber + +
      +          unique update number of each state transition of an object
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      LinearObjectStatePdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(LinearObjectStatePdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + shortgetForceID() + +
      +           
      + java.util.List<LinearSegmentParameter>getLinearSegmentParameters() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + shortgetNumberOfSegments() + +
      +           
      + EntityIDgetObjectID() + +
      +           
      + ObjectTypegetObjectType() + +
      +           
      + SimulationAddressgetReceivingID() + +
      +           
      + EntityIDgetReferencedObjectID() + +
      +           
      + SimulationAddressgetRequesterID() + +
      +           
      + intgetUpdateNumber() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetForceID(short pForceID) + +
      +           
      + voidsetLinearSegmentParameters(java.util.List<LinearSegmentParameter> pLinearSegmentParameters) + +
      +           
      + voidsetNumberOfSegments(short pNumberOfSegments) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetObjectID(EntityID pObjectID) + +
      +           
      + voidsetObjectType(ObjectType pObjectType) + +
      +           
      + voidsetReceivingID(SimulationAddress pReceivingID) + +
      +           
      + voidsetReferencedObjectID(EntityID pReferencedObjectID) + +
      +           
      + voidsetRequesterID(SimulationAddress pRequesterID) + +
      +           
      + voidsetUpdateNumber(int pUpdateNumber) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.SyntheticEnvironmentFamilyPdu
      equals
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +objectID

      +
      +protected EntityID objectID
      +
      +
      Object in synthetic environment +

      +

      +
      +
      +
      + +

      +referencedObjectID

      +
      +protected EntityID referencedObjectID
      +
      +
      Object with which this point object is associated +

      +

      +
      +
      +
      + +

      +updateNumber

      +
      +protected int updateNumber
      +
      +
      unique update number of each state transition of an object +

      +

      +
      +
      +
      + +

      +forceID

      +
      +protected short forceID
      +
      +
      force ID +

      +

      +
      +
      +
      + +

      +numberOfSegments

      +
      +protected short numberOfSegments
      +
      +
      number of linear segment parameters +

      +

      +
      +
      +
      + +

      +requesterID

      +
      +protected SimulationAddress requesterID
      +
      +
      requesterID +

      +

      +
      +
      +
      + +

      +receivingID

      +
      +protected SimulationAddress receivingID
      +
      +
      receiver ID +

      +

      +
      +
      +
      + +

      +objectType

      +
      +protected ObjectType objectType
      +
      +
      Object type +

      +

      +
      +
      +
      + +

      +linearSegmentParameters

      +
      +protected java.util.List<LinearSegmentParameter> linearSegmentParameters
      +
      +
      Linear segment parameters +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +LinearObjectStatePdu

      +
      +public LinearObjectStatePdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class SyntheticEnvironmentFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setObjectID

      +
      +public void setObjectID(EntityID pObjectID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getObjectID

      +
      +public EntityID getObjectID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setReferencedObjectID

      +
      +public void setReferencedObjectID(EntityID pReferencedObjectID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getReferencedObjectID

      +
      +public EntityID getReferencedObjectID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setUpdateNumber

      +
      +public void setUpdateNumber(int pUpdateNumber)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getUpdateNumber

      +
      +public int getUpdateNumber()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setForceID

      +
      +public void setForceID(short pForceID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getForceID

      +
      +public short getForceID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfSegments

      +
      +public short getNumberOfSegments()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfSegments

      +
      +public void setNumberOfSegments(short pNumberOfSegments)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfSegments method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setRequesterID

      +
      +public void setRequesterID(SimulationAddress pRequesterID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequesterID

      +
      +public SimulationAddress getRequesterID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setReceivingID

      +
      +public void setReceivingID(SimulationAddress pReceivingID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getReceivingID

      +
      +public SimulationAddress getReceivingID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setObjectType

      +
      +public void setObjectType(ObjectType pObjectType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getObjectType

      +
      +public ObjectType getObjectType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setLinearSegmentParameters

      +
      +public void setLinearSegmentParameters(java.util.List<LinearSegmentParameter> pLinearSegmentParameters)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getLinearSegmentParameters

      +
      +public java.util.List<LinearSegmentParameter> getLinearSegmentParameters()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class SyntheticEnvironmentFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class SyntheticEnvironmentFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class SyntheticEnvironmentFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class SyntheticEnvironmentFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(LinearObjectStatePdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/LinearSegmentParameter.html b/docs/edu/nps/moves/dis/LinearSegmentParameter.html new file mode 100644 index 00000000..11f4126e --- /dev/null +++ b/docs/edu/nps/moves/dis/LinearSegmentParameter.html @@ -0,0 +1,985 @@ + + + + + + +LinearSegmentParameter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class LinearSegmentParameter

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.LinearSegmentParameter
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class LinearSegmentParameter
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +5.2.48: Linear segment parameters + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  Vector3Doublelocation + +
      +          location
      +protected  Orientationorientation + +
      +          orientation
      +protected  longpad1 + +
      +          segment Depth
      +protected  SixByteChunksegmentAppearance + +
      +          segment appearance
      +protected  intsegmentDepth + +
      +          segment Depth
      +protected  intsegmentHeight + +
      +          segmentHeight
      +protected  intsegmentLength + +
      +          segmentLength
      +protected  shortsegmentNumber + +
      +          number of segments
      +protected  intsegmentWidth + +
      +          segmentWidth
      +  + + + + + + + + + + +
      +Constructor Summary
      LinearSegmentParameter() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(LinearSegmentParameter rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + Vector3DoublegetLocation() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + OrientationgetOrientation() + +
      +           
      + longgetPad1() + +
      +           
      + SixByteChunkgetSegmentAppearance() + +
      +           
      + intgetSegmentDepth() + +
      +           
      + intgetSegmentHeight() + +
      +           
      + intgetSegmentLength() + +
      +           
      + shortgetSegmentNumber() + +
      +           
      + intgetSegmentWidth() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetLocation(Vector3Double pLocation) + +
      +           
      + voidsetOrientation(Orientation pOrientation) + +
      +           
      + voidsetPad1(long pPad1) + +
      +           
      + voidsetSegmentAppearance(SixByteChunk pSegmentAppearance) + +
      +           
      + voidsetSegmentDepth(int pSegmentDepth) + +
      +           
      + voidsetSegmentHeight(int pSegmentHeight) + +
      +           
      + voidsetSegmentLength(int pSegmentLength) + +
      +           
      + voidsetSegmentNumber(short pSegmentNumber) + +
      +           
      + voidsetSegmentWidth(int pSegmentWidth) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +segmentNumber

      +
      +protected short segmentNumber
      +
      +
      number of segments +

      +

      +
      +
      +
      + +

      +segmentAppearance

      +
      +protected SixByteChunk segmentAppearance
      +
      +
      segment appearance +

      +

      +
      +
      +
      + +

      +location

      +
      +protected Vector3Double location
      +
      +
      location +

      +

      +
      +
      +
      + +

      +orientation

      +
      +protected Orientation orientation
      +
      +
      orientation +

      +

      +
      +
      +
      + +

      +segmentLength

      +
      +protected int segmentLength
      +
      +
      segmentLength +

      +

      +
      +
      +
      + +

      +segmentWidth

      +
      +protected int segmentWidth
      +
      +
      segmentWidth +

      +

      +
      +
      +
      + +

      +segmentHeight

      +
      +protected int segmentHeight
      +
      +
      segmentHeight +

      +

      +
      +
      +
      + +

      +segmentDepth

      +
      +protected int segmentDepth
      +
      +
      segment Depth +

      +

      +
      +
      +
      + +

      +pad1

      +
      +protected long pad1
      +
      +
      segment Depth +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +LinearSegmentParameter

      +
      +public LinearSegmentParameter()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSegmentNumber

      +
      +public void setSegmentNumber(short pSegmentNumber)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSegmentNumber

      +
      +public short getSegmentNumber()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSegmentAppearance

      +
      +public void setSegmentAppearance(SixByteChunk pSegmentAppearance)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSegmentAppearance

      +
      +public SixByteChunk getSegmentAppearance()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setLocation

      +
      +public void setLocation(Vector3Double pLocation)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getLocation

      +
      +public Vector3Double getLocation()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setOrientation

      +
      +public void setOrientation(Orientation pOrientation)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getOrientation

      +
      +public Orientation getOrientation()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSegmentLength

      +
      +public void setSegmentLength(int pSegmentLength)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSegmentLength

      +
      +public int getSegmentLength()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSegmentWidth

      +
      +public void setSegmentWidth(int pSegmentWidth)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSegmentWidth

      +
      +public int getSegmentWidth()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSegmentHeight

      +
      +public void setSegmentHeight(int pSegmentHeight)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSegmentHeight

      +
      +public int getSegmentHeight()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSegmentDepth

      +
      +public void setSegmentDepth(int pSegmentDepth)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSegmentDepth

      +
      +public int getSegmentDepth()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad1

      +
      +public void setPad1(long pPad1)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad1

      +
      +public long getPad1()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(LinearSegmentParameter rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/LogisticsFamilyPdu.html b/docs/edu/nps/moves/dis/LogisticsFamilyPdu.html new file mode 100644 index 00000000..95c98613 --- /dev/null +++ b/docs/edu/nps/moves/dis/LogisticsFamilyPdu.html @@ -0,0 +1,422 @@ + + + + + + +LogisticsFamilyPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class LogisticsFamilyPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.LogisticsFamilyPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      Direct Known Subclasses:
      RepairCompletePdu, RepairResponsePdu, ResupplyCancelPdu, ResupplyOfferPdu, ResupplyReceivedPdu, ServiceRequestPdu
      +
      +
      +
      +
      public class LogisticsFamilyPdu
      extends Pdu
      implements java.io.Serializable
      + + +

      +Section 5.3.5. Abstract superclass for logistics PDUs. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + +
      +Field Summary
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      LogisticsFamilyPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(LogisticsFamilyPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Constructor Detail
      + +

      +LogisticsFamilyPdu

      +
      +public LogisticsFamilyPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class Pdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class Pdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(LogisticsFamilyPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/Marking.html b/docs/edu/nps/moves/dis/Marking.html new file mode 100644 index 00000000..78ea1dd8 --- /dev/null +++ b/docs/edu/nps/moves/dis/Marking.html @@ -0,0 +1,537 @@ + + + + + + +Marking + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class Marking

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Marking
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class Marking
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Section 5.2.15. Specifies the character set used inthe first byte, followed by 11 characters of text data. + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  byte[]characters + +
      +          The characters
      +protected  shortcharacterSet + +
      +          The character set
      +  + + + + + + + + + + +
      +Constructor Summary
      Marking() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(Marking rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + byte[]getCharacters() + +
      +           
      + shortgetCharacterSet() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetCharacters(byte[] pCharacters) + +
      +           
      + voidsetCharacterSet(short pCharacterSet) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +characterSet

      +
      +protected short characterSet
      +
      +
      The character set +

      +

      +
      +
      +
      + +

      +characters

      +
      +protected byte[] characters
      +
      +
      The characters +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +Marking

      +
      +public Marking()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCharacterSet

      +
      +public void setCharacterSet(short pCharacterSet)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCharacterSet

      +
      +public short getCharacterSet()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCharacters

      +
      +public void setCharacters(byte[] pCharacters)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCharacters

      +
      +public byte[] getCharacters()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(Marking rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/MinefieldDataPdu.html b/docs/edu/nps/moves/dis/MinefieldDataPdu.html new file mode 100644 index 00000000..4f244ba9 --- /dev/null +++ b/docs/edu/nps/moves/dis/MinefieldDataPdu.html @@ -0,0 +1,1342 @@ + + + + + + +MinefieldDataPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class MinefieldDataPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.MinefieldFamilyPdu
      +          extended by edu.nps.moves.dis.MinefieldDataPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class MinefieldDataPdu
      extends MinefieldFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.10.3 Information about individual mines within a minefield. This is very, very wrong. UNFINISHED + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  longdataFilter + +
      +          32 boolean fields
      +protected  EntityIDminefieldID + +
      +          Minefield ID
      +protected  intminefieldSequenceNumbeer + +
      +          Minefield sequence number
      +protected  java.util.List<Vector3Float>mineLocation + +
      +          Mine locations
      +protected  EntityTypemineType + +
      +          Mine type
      +protected  shortnumberOfMinesInThisPdu + +
      +          how many mines are in this PDU
      +protected  shortnumberOfPdus + +
      +          number of pdus in response
      +protected  shortnumberOfSensorTypes + +
      +          how many sensor type are in this PDU
      +protected  shortpad2 + +
      +          padding
      +protected  shortpad3 + +
      +          Padding to get things 32-bit aligned.
      +protected  shortpduSequenceNumber + +
      +          pdu sequence number
      +protected  shortrequestID + +
      +          request ID
      +protected  EntityIDrequestingEntityID + +
      +          ID of entity making request
      +protected  java.util.List<TwoByteChunk>sensorTypes + +
      +          Sensor types, each 16 bits long
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      MinefieldDataPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(MinefieldDataPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + longgetDataFilter() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + EntityIDgetMinefieldID() + +
      +           
      + intgetMinefieldSequenceNumbeer() + +
      +           
      + java.util.List<Vector3Float>getMineLocation() + +
      +           
      + EntityTypegetMineType() + +
      +           
      + shortgetNumberOfMinesInThisPdu() + +
      +           
      + shortgetNumberOfPdus() + +
      +           
      + shortgetNumberOfSensorTypes() + +
      +           
      + shortgetPad2() + +
      +           
      + shortgetPad3() + +
      +           
      + shortgetPduSequenceNumber() + +
      +           
      + shortgetRequestID() + +
      +           
      + EntityIDgetRequestingEntityID() + +
      +           
      + java.util.List<TwoByteChunk>getSensorTypes() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetDataFilter(long pDataFilter) + +
      +           
      + voidsetMinefieldID(EntityID pMinefieldID) + +
      +           
      + voidsetMinefieldSequenceNumbeer(int pMinefieldSequenceNumbeer) + +
      +           
      + voidsetMineLocation(java.util.List<Vector3Float> pMineLocation) + +
      +           
      + voidsetMineType(EntityType pMineType) + +
      +           
      + voidsetNumberOfMinesInThisPdu(short pNumberOfMinesInThisPdu) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetNumberOfPdus(short pNumberOfPdus) + +
      +           
      + voidsetNumberOfSensorTypes(short pNumberOfSensorTypes) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetPad2(short pPad2) + +
      +           
      + voidsetPad3(short pPad3) + +
      +           
      + voidsetPduSequenceNumber(short pPduSequenceNumber) + +
      +           
      + voidsetRequestID(short pRequestID) + +
      +           
      + voidsetRequestingEntityID(EntityID pRequestingEntityID) + +
      +           
      + voidsetSensorTypes(java.util.List<TwoByteChunk> pSensorTypes) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.MinefieldFamilyPdu
      equals
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +minefieldID

      +
      +protected EntityID minefieldID
      +
      +
      Minefield ID +

      +

      +
      +
      +
      + +

      +requestingEntityID

      +
      +protected EntityID requestingEntityID
      +
      +
      ID of entity making request +

      +

      +
      +
      +
      + +

      +minefieldSequenceNumbeer

      +
      +protected int minefieldSequenceNumbeer
      +
      +
      Minefield sequence number +

      +

      +
      +
      +
      + +

      +requestID

      +
      +protected short requestID
      +
      +
      request ID +

      +

      +
      +
      +
      + +

      +pduSequenceNumber

      +
      +protected short pduSequenceNumber
      +
      +
      pdu sequence number +

      +

      +
      +
      +
      + +

      +numberOfPdus

      +
      +protected short numberOfPdus
      +
      +
      number of pdus in response +

      +

      +
      +
      +
      + +

      +numberOfMinesInThisPdu

      +
      +protected short numberOfMinesInThisPdu
      +
      +
      how many mines are in this PDU +

      +

      +
      +
      +
      + +

      +numberOfSensorTypes

      +
      +protected short numberOfSensorTypes
      +
      +
      how many sensor type are in this PDU +

      +

      +
      +
      +
      + +

      +pad2

      +
      +protected short pad2
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +dataFilter

      +
      +protected long dataFilter
      +
      +
      32 boolean fields +

      +

      +
      +
      +
      + +

      +mineType

      +
      +protected EntityType mineType
      +
      +
      Mine type +

      +

      +
      +
      +
      + +

      +sensorTypes

      +
      +protected java.util.List<TwoByteChunk> sensorTypes
      +
      +
      Sensor types, each 16 bits long +

      +

      +
      +
      +
      + +

      +pad3

      +
      +protected short pad3
      +
      +
      Padding to get things 32-bit aligned. @@@this is wrong--dyanmically sized padding needed +

      +

      +
      +
      +
      + +

      +mineLocation

      +
      +protected java.util.List<Vector3Float> mineLocation
      +
      +
      Mine locations +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +MinefieldDataPdu

      +
      +public MinefieldDataPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class MinefieldFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setMinefieldID

      +
      +public void setMinefieldID(EntityID pMinefieldID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getMinefieldID

      +
      +public EntityID getMinefieldID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRequestingEntityID

      +
      +public void setRequestingEntityID(EntityID pRequestingEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestingEntityID

      +
      +public EntityID getRequestingEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setMinefieldSequenceNumbeer

      +
      +public void setMinefieldSequenceNumbeer(int pMinefieldSequenceNumbeer)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getMinefieldSequenceNumbeer

      +
      +public int getMinefieldSequenceNumbeer()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRequestID

      +
      +public void setRequestID(short pRequestID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestID

      +
      +public short getRequestID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPduSequenceNumber

      +
      +public void setPduSequenceNumber(short pPduSequenceNumber)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPduSequenceNumber

      +
      +public short getPduSequenceNumber()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfPdus

      +
      +public void setNumberOfPdus(short pNumberOfPdus)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfPdus

      +
      +public short getNumberOfPdus()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfMinesInThisPdu

      +
      +public short getNumberOfMinesInThisPdu()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfMinesInThisPdu

      +
      +public void setNumberOfMinesInThisPdu(short pNumberOfMinesInThisPdu)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfMinesInThisPdu method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfSensorTypes

      +
      +public short getNumberOfSensorTypes()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfSensorTypes

      +
      +public void setNumberOfSensorTypes(short pNumberOfSensorTypes)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfSensorTypes method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad2

      +
      +public void setPad2(short pPad2)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad2

      +
      +public short getPad2()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setDataFilter

      +
      +public void setDataFilter(long pDataFilter)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getDataFilter

      +
      +public long getDataFilter()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setMineType

      +
      +public void setMineType(EntityType pMineType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getMineType

      +
      +public EntityType getMineType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSensorTypes

      +
      +public void setSensorTypes(java.util.List<TwoByteChunk> pSensorTypes)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSensorTypes

      +
      +public java.util.List<TwoByteChunk> getSensorTypes()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad3

      +
      +public void setPad3(short pPad3)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad3

      +
      +public short getPad3()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setMineLocation

      +
      +public void setMineLocation(java.util.List<Vector3Float> pMineLocation)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getMineLocation

      +
      +public java.util.List<Vector3Float> getMineLocation()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class MinefieldFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class MinefieldFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class MinefieldFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class MinefieldFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(MinefieldDataPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/MinefieldFamilyPdu.html b/docs/edu/nps/moves/dis/MinefieldFamilyPdu.html new file mode 100644 index 00000000..1388cfa6 --- /dev/null +++ b/docs/edu/nps/moves/dis/MinefieldFamilyPdu.html @@ -0,0 +1,422 @@ + + + + + + +MinefieldFamilyPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class MinefieldFamilyPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.MinefieldFamilyPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      Direct Known Subclasses:
      MinefieldDataPdu, MinefieldQueryPdu, MinefieldResponseNackPdu, MinefieldStatePdu
      +
      +
      +
      +
      public class MinefieldFamilyPdu
      extends Pdu
      implements java.io.Serializable
      + + +

      +Section 5.3.10.1 Abstract superclass for PDUs relating to minefields + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + +
      +Field Summary
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      MinefieldFamilyPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(MinefieldFamilyPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Constructor Detail
      + +

      +MinefieldFamilyPdu

      +
      +public MinefieldFamilyPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class Pdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class Pdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(MinefieldFamilyPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/MinefieldQueryPdu.html b/docs/edu/nps/moves/dis/MinefieldQueryPdu.html new file mode 100644 index 00000000..b168b134 --- /dev/null +++ b/docs/edu/nps/moves/dis/MinefieldQueryPdu.html @@ -0,0 +1,1086 @@ + + + + + + +MinefieldQueryPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class MinefieldQueryPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.MinefieldFamilyPdu
      +          extended by edu.nps.moves.dis.MinefieldQueryPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class MinefieldQueryPdu
      extends MinefieldFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.10.2 Query a minefield for information about individual mines. Requires manual clean up to get the padding right. UNFINISHED + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  longdataFilter + +
      +          data filter, 32 boolean fields
      +protected  EntityIDminefieldID + +
      +          Minefield ID
      +protected  shortnumberOfPerimeterPoints + +
      +          Number of perimeter points for the minefield
      +protected  shortnumberOfSensorTypes + +
      +          Number of sensor types
      +protected  shortpad2 + +
      +          Padding
      +protected  EntityTyperequestedMineType + +
      +          Entity type of mine being requested
      +protected  java.util.List<Point>requestedPerimeterPoints + +
      +          perimeter points of request
      +protected  shortrequestID + +
      +          request ID
      +protected  EntityIDrequestingEntityID + +
      +          EID of entity making the request
      +protected  java.util.List<TwoByteChunk>sensorTypes + +
      +          Sensor types, each 16 bits long
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      MinefieldQueryPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(MinefieldQueryPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + longgetDataFilter() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + EntityIDgetMinefieldID() + +
      +           
      + shortgetNumberOfPerimeterPoints() + +
      +           
      + shortgetNumberOfSensorTypes() + +
      +           
      + shortgetPad2() + +
      +           
      + EntityTypegetRequestedMineType() + +
      +           
      + java.util.List<Point>getRequestedPerimeterPoints() + +
      +           
      + shortgetRequestID() + +
      +           
      + EntityIDgetRequestingEntityID() + +
      +           
      + java.util.List<TwoByteChunk>getSensorTypes() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetDataFilter(long pDataFilter) + +
      +           
      + voidsetMinefieldID(EntityID pMinefieldID) + +
      +           
      + voidsetNumberOfPerimeterPoints(short pNumberOfPerimeterPoints) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetNumberOfSensorTypes(short pNumberOfSensorTypes) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetPad2(short pPad2) + +
      +           
      + voidsetRequestedMineType(EntityType pRequestedMineType) + +
      +           
      + voidsetRequestedPerimeterPoints(java.util.List<Point> pRequestedPerimeterPoints) + +
      +           
      + voidsetRequestID(short pRequestID) + +
      +           
      + voidsetRequestingEntityID(EntityID pRequestingEntityID) + +
      +           
      + voidsetSensorTypes(java.util.List<TwoByteChunk> pSensorTypes) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.MinefieldFamilyPdu
      equals
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +minefieldID

      +
      +protected EntityID minefieldID
      +
      +
      Minefield ID +

      +

      +
      +
      +
      + +

      +requestingEntityID

      +
      +protected EntityID requestingEntityID
      +
      +
      EID of entity making the request +

      +

      +
      +
      +
      + +

      +requestID

      +
      +protected short requestID
      +
      +
      request ID +

      +

      +
      +
      +
      + +

      +numberOfPerimeterPoints

      +
      +protected short numberOfPerimeterPoints
      +
      +
      Number of perimeter points for the minefield +

      +

      +
      +
      +
      + +

      +pad2

      +
      +protected short pad2
      +
      +
      Padding +

      +

      +
      +
      +
      + +

      +numberOfSensorTypes

      +
      +protected short numberOfSensorTypes
      +
      +
      Number of sensor types +

      +

      +
      +
      +
      + +

      +dataFilter

      +
      +protected long dataFilter
      +
      +
      data filter, 32 boolean fields +

      +

      +
      +
      +
      + +

      +requestedMineType

      +
      +protected EntityType requestedMineType
      +
      +
      Entity type of mine being requested +

      +

      +
      +
      +
      + +

      +requestedPerimeterPoints

      +
      +protected java.util.List<Point> requestedPerimeterPoints
      +
      +
      perimeter points of request +

      +

      +
      +
      +
      + +

      +sensorTypes

      +
      +protected java.util.List<TwoByteChunk> sensorTypes
      +
      +
      Sensor types, each 16 bits long +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +MinefieldQueryPdu

      +
      +public MinefieldQueryPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class MinefieldFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setMinefieldID

      +
      +public void setMinefieldID(EntityID pMinefieldID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getMinefieldID

      +
      +public EntityID getMinefieldID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRequestingEntityID

      +
      +public void setRequestingEntityID(EntityID pRequestingEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestingEntityID

      +
      +public EntityID getRequestingEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRequestID

      +
      +public void setRequestID(short pRequestID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestID

      +
      +public short getRequestID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfPerimeterPoints

      +
      +public short getNumberOfPerimeterPoints()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfPerimeterPoints

      +
      +public void setNumberOfPerimeterPoints(short pNumberOfPerimeterPoints)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfPerimeterPoints method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad2

      +
      +public void setPad2(short pPad2)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad2

      +
      +public short getPad2()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfSensorTypes

      +
      +public short getNumberOfSensorTypes()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfSensorTypes

      +
      +public void setNumberOfSensorTypes(short pNumberOfSensorTypes)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfSensorTypes method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setDataFilter

      +
      +public void setDataFilter(long pDataFilter)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getDataFilter

      +
      +public long getDataFilter()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRequestedMineType

      +
      +public void setRequestedMineType(EntityType pRequestedMineType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestedMineType

      +
      +public EntityType getRequestedMineType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRequestedPerimeterPoints

      +
      +public void setRequestedPerimeterPoints(java.util.List<Point> pRequestedPerimeterPoints)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestedPerimeterPoints

      +
      +public java.util.List<Point> getRequestedPerimeterPoints()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSensorTypes

      +
      +public void setSensorTypes(java.util.List<TwoByteChunk> pSensorTypes)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSensorTypes

      +
      +public java.util.List<TwoByteChunk> getSensorTypes()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class MinefieldFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class MinefieldFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class MinefieldFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class MinefieldFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(MinefieldQueryPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/MinefieldResponseNackPdu.html b/docs/edu/nps/moves/dis/MinefieldResponseNackPdu.html new file mode 100644 index 00000000..4c55e4f5 --- /dev/null +++ b/docs/edu/nps/moves/dis/MinefieldResponseNackPdu.html @@ -0,0 +1,762 @@ + + + + + + +MinefieldResponseNackPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class MinefieldResponseNackPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.MinefieldFamilyPdu
      +          extended by edu.nps.moves.dis.MinefieldResponseNackPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class MinefieldResponseNackPdu
      extends MinefieldFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.10.4 proivde the means to request a retransmit of a minefield data pdu. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  EntityIDminefieldID + +
      +          Minefield ID
      +protected  java.util.List<EightByteChunk>missingPduSequenceNumbers + +
      +          PDU sequence numbers that were missing
      +protected  shortnumberOfMissingPdus + +
      +          how many pdus were missing
      +protected  shortrequestID + +
      +          request ID
      +protected  EntityIDrequestingEntityID + +
      +          entity ID making the request
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      MinefieldResponseNackPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(MinefieldResponseNackPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + EntityIDgetMinefieldID() + +
      +           
      + java.util.List<EightByteChunk>getMissingPduSequenceNumbers() + +
      +           
      + shortgetNumberOfMissingPdus() + +
      +           
      + shortgetRequestID() + +
      +           
      + EntityIDgetRequestingEntityID() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetMinefieldID(EntityID pMinefieldID) + +
      +           
      + voidsetMissingPduSequenceNumbers(java.util.List<EightByteChunk> pMissingPduSequenceNumbers) + +
      +           
      + voidsetNumberOfMissingPdus(short pNumberOfMissingPdus) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetRequestID(short pRequestID) + +
      +           
      + voidsetRequestingEntityID(EntityID pRequestingEntityID) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.MinefieldFamilyPdu
      equals
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +minefieldID

      +
      +protected EntityID minefieldID
      +
      +
      Minefield ID +

      +

      +
      +
      +
      + +

      +requestingEntityID

      +
      +protected EntityID requestingEntityID
      +
      +
      entity ID making the request +

      +

      +
      +
      +
      + +

      +requestID

      +
      +protected short requestID
      +
      +
      request ID +

      +

      +
      +
      +
      + +

      +numberOfMissingPdus

      +
      +protected short numberOfMissingPdus
      +
      +
      how many pdus were missing +

      +

      +
      +
      +
      + +

      +missingPduSequenceNumbers

      +
      +protected java.util.List<EightByteChunk> missingPduSequenceNumbers
      +
      +
      PDU sequence numbers that were missing +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +MinefieldResponseNackPdu

      +
      +public MinefieldResponseNackPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class MinefieldFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setMinefieldID

      +
      +public void setMinefieldID(EntityID pMinefieldID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getMinefieldID

      +
      +public EntityID getMinefieldID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRequestingEntityID

      +
      +public void setRequestingEntityID(EntityID pRequestingEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestingEntityID

      +
      +public EntityID getRequestingEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRequestID

      +
      +public void setRequestID(short pRequestID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestID

      +
      +public short getRequestID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfMissingPdus

      +
      +public short getNumberOfMissingPdus()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfMissingPdus

      +
      +public void setNumberOfMissingPdus(short pNumberOfMissingPdus)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfMissingPdus method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setMissingPduSequenceNumbers

      +
      +public void setMissingPduSequenceNumbers(java.util.List<EightByteChunk> pMissingPduSequenceNumbers)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getMissingPduSequenceNumbers

      +
      +public java.util.List<EightByteChunk> getMissingPduSequenceNumbers()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class MinefieldFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class MinefieldFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class MinefieldFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class MinefieldFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(MinefieldResponseNackPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/MinefieldStatePdu.html b/docs/edu/nps/moves/dis/MinefieldStatePdu.html new file mode 100644 index 00000000..13e1cdf6 --- /dev/null +++ b/docs/edu/nps/moves/dis/MinefieldStatePdu.html @@ -0,0 +1,1214 @@ + + + + + + +MinefieldStatePdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class MinefieldStatePdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.MinefieldFamilyPdu
      +          extended by edu.nps.moves.dis.MinefieldStatePdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class MinefieldStatePdu
      extends MinefieldFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.10.1 Abstract superclass for PDUs relating to minefields. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  intappearance + +
      +          appearance bitflags
      +protected  shortforceID + +
      +          force ID
      +protected  EntityIDminefieldID + +
      +          Minefield ID
      +protected  Vector3DoubleminefieldLocation + +
      +          location of minefield in world coords
      +protected  OrientationminefieldOrientation + +
      +          orientation of minefield
      +protected  intminefieldSequence + +
      +          Minefield sequence
      +protected  EntityTypeminefieldType + +
      +          type of minefield
      +protected  java.util.List<EntityType>mineType + +
      +          Type of mines
      +protected  intnumberOfMineTypes + +
      +          how many mine types
      +protected  shortnumberOfPerimeterPoints + +
      +          Number of permieter points
      +protected  java.util.List<Point>perimeterPoints + +
      +          perimeter points for the minefield
      +protected  intprotocolMode + +
      +          protocolMode
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      MinefieldStatePdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(MinefieldStatePdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetAppearance() + +
      +           
      + shortgetForceID() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + EntityIDgetMinefieldID() + +
      +           
      + Vector3DoublegetMinefieldLocation() + +
      +           
      + OrientationgetMinefieldOrientation() + +
      +           
      + intgetMinefieldSequence() + +
      +           
      + EntityTypegetMinefieldType() + +
      +           
      + java.util.List<EntityType>getMineType() + +
      +           
      + intgetNumberOfMineTypes() + +
      +           
      + shortgetNumberOfPerimeterPoints() + +
      +           
      + java.util.List<Point>getPerimeterPoints() + +
      +           
      + intgetProtocolMode() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetAppearance(int pAppearance) + +
      +           
      + voidsetForceID(short pForceID) + +
      +           
      + voidsetMinefieldID(EntityID pMinefieldID) + +
      +           
      + voidsetMinefieldLocation(Vector3Double pMinefieldLocation) + +
      +           
      + voidsetMinefieldOrientation(Orientation pMinefieldOrientation) + +
      +           
      + voidsetMinefieldSequence(int pMinefieldSequence) + +
      +           
      + voidsetMinefieldType(EntityType pMinefieldType) + +
      +           
      + voidsetMineType(java.util.List<EntityType> pMineType) + +
      +           
      + voidsetNumberOfMineTypes(int pNumberOfMineTypes) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetNumberOfPerimeterPoints(short pNumberOfPerimeterPoints) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetPerimeterPoints(java.util.List<Point> pPerimeterPoints) + +
      +           
      + voidsetProtocolMode(int pProtocolMode) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.MinefieldFamilyPdu
      equals
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +minefieldID

      +
      +protected EntityID minefieldID
      +
      +
      Minefield ID +

      +

      +
      +
      +
      + +

      +minefieldSequence

      +
      +protected int minefieldSequence
      +
      +
      Minefield sequence +

      +

      +
      +
      +
      + +

      +forceID

      +
      +protected short forceID
      +
      +
      force ID +

      +

      +
      +
      +
      + +

      +numberOfPerimeterPoints

      +
      +protected short numberOfPerimeterPoints
      +
      +
      Number of permieter points +

      +

      +
      +
      +
      + +

      +minefieldType

      +
      +protected EntityType minefieldType
      +
      +
      type of minefield +

      +

      +
      +
      +
      + +

      +numberOfMineTypes

      +
      +protected int numberOfMineTypes
      +
      +
      how many mine types +

      +

      +
      +
      +
      + +

      +minefieldLocation

      +
      +protected Vector3Double minefieldLocation
      +
      +
      location of minefield in world coords +

      +

      +
      +
      +
      + +

      +minefieldOrientation

      +
      +protected Orientation minefieldOrientation
      +
      +
      orientation of minefield +

      +

      +
      +
      +
      + +

      +appearance

      +
      +protected int appearance
      +
      +
      appearance bitflags +

      +

      +
      +
      +
      + +

      +protocolMode

      +
      +protected int protocolMode
      +
      +
      protocolMode +

      +

      +
      +
      +
      + +

      +perimeterPoints

      +
      +protected java.util.List<Point> perimeterPoints
      +
      +
      perimeter points for the minefield +

      +

      +
      +
      +
      + +

      +mineType

      +
      +protected java.util.List<EntityType> mineType
      +
      +
      Type of mines +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +MinefieldStatePdu

      +
      +public MinefieldStatePdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class MinefieldFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setMinefieldID

      +
      +public void setMinefieldID(EntityID pMinefieldID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getMinefieldID

      +
      +public EntityID getMinefieldID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setMinefieldSequence

      +
      +public void setMinefieldSequence(int pMinefieldSequence)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getMinefieldSequence

      +
      +public int getMinefieldSequence()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setForceID

      +
      +public void setForceID(short pForceID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getForceID

      +
      +public short getForceID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfPerimeterPoints

      +
      +public short getNumberOfPerimeterPoints()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfPerimeterPoints

      +
      +public void setNumberOfPerimeterPoints(short pNumberOfPerimeterPoints)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfPerimeterPoints method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setMinefieldType

      +
      +public void setMinefieldType(EntityType pMinefieldType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getMinefieldType

      +
      +public EntityType getMinefieldType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfMineTypes

      +
      +public int getNumberOfMineTypes()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfMineTypes

      +
      +public void setNumberOfMineTypes(int pNumberOfMineTypes)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfMineTypes method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setMinefieldLocation

      +
      +public void setMinefieldLocation(Vector3Double pMinefieldLocation)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getMinefieldLocation

      +
      +public Vector3Double getMinefieldLocation()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setMinefieldOrientation

      +
      +public void setMinefieldOrientation(Orientation pMinefieldOrientation)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getMinefieldOrientation

      +
      +public Orientation getMinefieldOrientation()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setAppearance

      +
      +public void setAppearance(int pAppearance)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAppearance

      +
      +public int getAppearance()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setProtocolMode

      +
      +public void setProtocolMode(int pProtocolMode)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getProtocolMode

      +
      +public int getProtocolMode()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPerimeterPoints

      +
      +public void setPerimeterPoints(java.util.List<Point> pPerimeterPoints)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPerimeterPoints

      +
      +public java.util.List<Point> getPerimeterPoints()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setMineType

      +
      +public void setMineType(java.util.List<EntityType> pMineType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getMineType

      +
      +public java.util.List<EntityType> getMineType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class MinefieldFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class MinefieldFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class MinefieldFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class MinefieldFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(MinefieldStatePdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/ModulationType.html b/docs/edu/nps/moves/dis/ModulationType.html new file mode 100644 index 00000000..b77c0da7 --- /dev/null +++ b/docs/edu/nps/moves/dis/ModulationType.html @@ -0,0 +1,665 @@ + + + + + + +ModulationType + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class ModulationType

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.ModulationType
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class ModulationType
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Radio modulation + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  intdetail + +
      +          detail
      +protected  intmajor + +
      +          major
      +protected  intspreadSpectrum + +
      +          spread spectrum, 16 bit boolean array
      +protected  intsystem + +
      +          system
      +  + + + + + + + + + + +
      +Constructor Summary
      ModulationType() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(ModulationType rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetDetail() + +
      +           
      + intgetMajor() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + intgetSpreadSpectrum() + +
      +           
      + intgetSystem() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetDetail(int pDetail) + +
      +           
      + voidsetMajor(int pMajor) + +
      +           
      + voidsetSpreadSpectrum(int pSpreadSpectrum) + +
      +           
      + voidsetSystem(int pSystem) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +spreadSpectrum

      +
      +protected int spreadSpectrum
      +
      +
      spread spectrum, 16 bit boolean array +

      +

      +
      +
      +
      + +

      +major

      +
      +protected int major
      +
      +
      major +

      +

      +
      +
      +
      + +

      +detail

      +
      +protected int detail
      +
      +
      detail +

      +

      +
      +
      +
      + +

      +system

      +
      +protected int system
      +
      +
      system +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +ModulationType

      +
      +public ModulationType()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSpreadSpectrum

      +
      +public void setSpreadSpectrum(int pSpreadSpectrum)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSpreadSpectrum

      +
      +public int getSpreadSpectrum()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setMajor

      +
      +public void setMajor(int pMajor)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getMajor

      +
      +public int getMajor()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setDetail

      +
      +public void setDetail(int pDetail)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getDetail

      +
      +public int getDetail()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSystem

      +
      +public void setSystem(int pSystem)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSystem

      +
      +public int getSystem()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(ModulationType rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/NamedLocation.html b/docs/edu/nps/moves/dis/NamedLocation.html new file mode 100644 index 00000000..214c1496 --- /dev/null +++ b/docs/edu/nps/moves/dis/NamedLocation.html @@ -0,0 +1,537 @@ + + + + + + +NamedLocation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class NamedLocation

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.NamedLocation
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class NamedLocation
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +discrete ostional relationsihip + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  intstationName + +
      +          station name enumeration
      +protected  intstationNumber + +
      +          station number
      +  + + + + + + + + + + +
      +Constructor Summary
      NamedLocation() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(NamedLocation rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + intgetStationName() + +
      +           
      + intgetStationNumber() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetStationName(int pStationName) + +
      +           
      + voidsetStationNumber(int pStationNumber) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +stationName

      +
      +protected int stationName
      +
      +
      station name enumeration +

      +

      +
      +
      +
      + +

      +stationNumber

      +
      +protected int stationNumber
      +
      +
      station number +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +NamedLocation

      +
      +public NamedLocation()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setStationName

      +
      +public void setStationName(int pStationName)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getStationName

      +
      +public int getStationName()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setStationNumber

      +
      +public void setStationNumber(int pStationNumber)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getStationNumber

      +
      +public int getStationNumber()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(NamedLocation rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/ObjectType.html b/docs/edu/nps/moves/dis/ObjectType.html new file mode 100644 index 00000000..db06f9f5 --- /dev/null +++ b/docs/edu/nps/moves/dis/ObjectType.html @@ -0,0 +1,729 @@ + + + + + + +ObjectType + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class ObjectType

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.ObjectType
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class ObjectType
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Identifies type of object. This is a shorter version of EntityType that omits the specific and extra fields. + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortcategory + +
      +          category of entity
      +protected  intcountry + +
      +          country to which the design of the entity is attributed
      +protected  shortdomain + +
      +          Domain of entity (air, surface, subsurface, space, etc)
      +protected  shortentityKind + +
      +          Kind of entity
      +protected  shortsubcategory + +
      +          subcategory of entity
      +  + + + + + + + + + + +
      +Constructor Summary
      ObjectType() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(ObjectType rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + shortgetCategory() + +
      +           
      + intgetCountry() + +
      +           
      + shortgetDomain() + +
      +           
      + shortgetEntityKind() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + shortgetSubcategory() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetCategory(short pCategory) + +
      +           
      + voidsetCountry(int pCountry) + +
      +           
      + voidsetDomain(short pDomain) + +
      +           
      + voidsetEntityKind(short pEntityKind) + +
      +           
      + voidsetSubcategory(short pSubcategory) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +entityKind

      +
      +protected short entityKind
      +
      +
      Kind of entity +

      +

      +
      +
      +
      + +

      +domain

      +
      +protected short domain
      +
      +
      Domain of entity (air, surface, subsurface, space, etc) +

      +

      +
      +
      +
      + +

      +country

      +
      +protected int country
      +
      +
      country to which the design of the entity is attributed +

      +

      +
      +
      +
      + +

      +category

      +
      +protected short category
      +
      +
      category of entity +

      +

      +
      +
      +
      + +

      +subcategory

      +
      +protected short subcategory
      +
      +
      subcategory of entity +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +ObjectType

      +
      +public ObjectType()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEntityKind

      +
      +public void setEntityKind(short pEntityKind)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEntityKind

      +
      +public short getEntityKind()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setDomain

      +
      +public void setDomain(short pDomain)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getDomain

      +
      +public short getDomain()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCountry

      +
      +public void setCountry(int pCountry)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCountry

      +
      +public int getCountry()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCategory

      +
      +public void setCategory(short pCategory)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCategory

      +
      +public short getCategory()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSubcategory

      +
      +public void setSubcategory(short pSubcategory)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSubcategory

      +
      +public short getSubcategory()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(ObjectType rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/OneByteChunk.html b/docs/edu/nps/moves/dis/OneByteChunk.html new file mode 100644 index 00000000..9fdb1665 --- /dev/null +++ b/docs/edu/nps/moves/dis/OneByteChunk.html @@ -0,0 +1,473 @@ + + + + + + +OneByteChunk + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class OneByteChunk

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.OneByteChunk
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class OneByteChunk
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +8 bit piece of data + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + +
      +Field Summary
      +protected  byte[]otherParameters + +
      +          one byte of arbitrary data
      +  + + + + + + + + + + +
      +Constructor Summary
      OneByteChunk() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(OneByteChunk rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + byte[]getOtherParameters() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetOtherParameters(byte[] pOtherParameters) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +otherParameters

      +
      +protected byte[] otherParameters
      +
      +
      one byte of arbitrary data +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +OneByteChunk

      +
      +public OneByteChunk()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setOtherParameters

      +
      +public void setOtherParameters(byte[] pOtherParameters)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getOtherParameters

      +
      +public byte[] getOtherParameters()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(OneByteChunk rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/Orientation.html b/docs/edu/nps/moves/dis/Orientation.html new file mode 100644 index 00000000..73fe9c4e --- /dev/null +++ b/docs/edu/nps/moves/dis/Orientation.html @@ -0,0 +1,595 @@ + + + + + + +Orientation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class Orientation

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Orientation
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class Orientation
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Section 5.2.17. Three floating point values representing an orientation, psi, theta, and phi, aka the euler angles, in radians + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  floatphi + +
      +           
      +protected  floatpsi + +
      +           
      +protected  floattheta + +
      +           
      +  + + + + + + + + + + +
      +Constructor Summary
      Orientation() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(Orientation rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + floatgetPhi() + +
      +           
      + floatgetPsi() + +
      +           
      + floatgetTheta() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetPhi(float pPhi) + +
      +           
      + voidsetPsi(float pPsi) + +
      +           
      + voidsetTheta(float pTheta) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +psi

      +
      +protected float psi
      +
      +
      +
      +
      +
      + +

      +theta

      +
      +protected float theta
      +
      +
      +
      +
      +
      + +

      +phi

      +
      +protected float phi
      +
      +
      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +Orientation

      +
      +public Orientation()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPsi

      +
      +public void setPsi(float pPsi)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPsi

      +
      +public float getPsi()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setTheta

      +
      +public void setTheta(float pTheta)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getTheta

      +
      +public float getTheta()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPhi

      +
      +public void setPhi(float pPhi)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPhi

      +
      +public float getPhi()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(Orientation rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/Pdu.html b/docs/edu/nps/moves/dis/Pdu.html new file mode 100644 index 00000000..349627a8 --- /dev/null +++ b/docs/edu/nps/moves/dis/Pdu.html @@ -0,0 +1,1071 @@ + + + + + + +Pdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class Pdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      Direct Known Subclasses:
      DistributedEmissionsFamilyPdu, EntityInformationFamilyPdu, EntityManagementFamilyPdu, LogisticsFamilyPdu, MinefieldFamilyPdu, RadioCommunicationsFamilyPdu, SimulationManagementFamilyPdu, SimulationManagementWithReliabilityFamilyPdu, SyntheticEnvironmentFamilyPdu, WarfareFamilyPdu
      +
      +
      +
      +
      public class Pdu
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +The superclass for all PDUs. This incorporates the PduHeader record, section 5.2.29. + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +static intABSOLUTE_TIMESTAMP_MASK + +
      +          The DIS absolute timestamp mask; used to ensure the LSB in timestamps is always set to 1
      +protected  shortexerciseID + +
      +          Exercise ID
      +protected  intlength + +
      +          Length, in bytes, of the PDU
      +protected  shortpadding + +
      +          zero-filled array of padding
      +protected  shortpduType + +
      +          Type of pdu, unique for each PDU class
      +protected  shortprotocolFamily + +
      +          value that refers to the protocol family, eg SimulationManagement, et
      +protected  shortprotocolVersion + +
      +          The version of the protocol.
      +static intRELATIVE_TIMESTAMP_MASK + +
      +          The DIS relative timestamp mask; used to ensure the LSB in timestamps is always set to 0
      +protected  longtimestamp + +
      +          Timestamp value
      +  + + + + + + + + + + +
      +Constructor Summary
      Pdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(Pdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + shortgetExerciseID() + +
      +           
      + intgetLength() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + shortgetPadding() + +
      +           
      + shortgetPduType() + +
      +           
      + edu.nps.moves.disenum.PduTypegetPduTypeEnum() + +
      +          Returns the PduType, an enumeration from the disenum jar file.
      + shortgetProtocolFamily() + +
      +           
      + shortgetProtocolVersion() + +
      +           
      + longgetTimestamp() + +
      +           
      + byte[]marshal() + +
      +          A convenience method for marshalling to a byte array.
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + byte[]marshalWithDisAbsoluteTimestamp() + +
      +          A convieneince method to marshal to a byte array with the timestamp set to + the DIS standard for absolute timestamps (which works only if the host is + slaved to NTP).
      + byte[]marshalWithDisRelativeTimestamp() + +
      +          A convieneince method to marshal to a byte array with the timestamp set to + the DIS standard for relative timestamps.
      + byte[]marshalWithNpsTimestamp() + +
      +          A convienience method to marshal a PDU using the NPS-specific format for + timestamps, which is hundredths of a second since the start of the year.
      + byte[]marshalWithUnixTimestamp() + +
      +          Another option for marshalling with the timestamp field set automatically.
      + voidsetExerciseID(short pExerciseID) + +
      +           
      + voidsetLength(int pLength) + +
      +           
      + voidsetPadding(short pPadding) + +
      +           
      + voidsetPduType(short pPduType) + +
      +           
      + voidsetProtocolFamily(short pProtocolFamily) + +
      +           
      + voidsetProtocolVersion(short pProtocolVersion) + +
      +           
      + voidsetTimestamp(long pTimestamp) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +ABSOLUTE_TIMESTAMP_MASK

      +
      +public static final int ABSOLUTE_TIMESTAMP_MASK
      +
      +
      The DIS absolute timestamp mask; used to ensure the LSB in timestamps is always set to 1 +

      +

      +
      See Also:
      Constant Field Values
      +
      +
      + +

      +RELATIVE_TIMESTAMP_MASK

      +
      +public static final int RELATIVE_TIMESTAMP_MASK
      +
      +
      The DIS relative timestamp mask; used to ensure the LSB in timestamps is always set to 0 +

      +

      +
      See Also:
      Constant Field Values
      +
      +
      + +

      +protocolVersion

      +
      +protected short protocolVersion
      +
      +
      The version of the protocol. 5=DIS-1995, 6=DIS-1998. +

      +

      +
      +
      +
      + +

      +exerciseID

      +
      +protected short exerciseID
      +
      +
      Exercise ID +

      +

      +
      +
      +
      + +

      +pduType

      +
      +protected short pduType
      +
      +
      Type of pdu, unique for each PDU class +

      +

      +
      +
      +
      + +

      +protocolFamily

      +
      +protected short protocolFamily
      +
      +
      value that refers to the protocol family, eg SimulationManagement, et +

      +

      +
      +
      +
      + +

      +timestamp

      +
      +protected long timestamp
      +
      +
      Timestamp value +

      +

      +
      +
      +
      + +

      +length

      +
      +protected int length
      +
      +
      Length, in bytes, of the PDU +

      +

      +
      +
      +
      + +

      +padding

      +
      +protected short padding
      +
      +
      zero-filled array of padding +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +Pdu

      +
      +public Pdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setProtocolVersion

      +
      +public void setProtocolVersion(short pProtocolVersion)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getProtocolVersion

      +
      +public short getProtocolVersion()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setExerciseID

      +
      +public void setExerciseID(short pExerciseID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getExerciseID

      +
      +public short getExerciseID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPduType

      +
      +public void setPduType(short pPduType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPduType

      +
      +public short getPduType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPduTypeEnum

      +
      +public edu.nps.moves.disenum.PduType getPduTypeEnum()
      +
      +
      Returns the PduType, an enumeration from the disenum jar file. This is an enumerated + java type, rather than a simple short integer. This should NOT be marshalled to DIS + or XML. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setProtocolFamily

      +
      +public void setProtocolFamily(short pProtocolFamily)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getProtocolFamily

      +
      +public short getProtocolFamily()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setTimestamp

      +
      +public void setTimestamp(long pTimestamp)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getTimestamp

      +
      +public long getTimestamp()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setLength

      +
      +public void setLength(int pLength)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getLength

      +
      +public int getLength()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPadding

      +
      +public void setPadding(short pPadding)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPadding

      +
      +public short getPadding()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +marshal

      +
      +public byte[] marshal()
      +
      +
      A convenience method for marshalling to a byte array. The method will marshal + the PDU as is. + This is not as efficient as reusing a ByteBuffer, but it is easy. +

      +

      +
      +
      +
      + +
      Returns:
      a byte array with the marshalled Pdu.
      Since:
      +
      ??
      +
      +
      +
      +
      + +

      +marshalWithDisAbsoluteTimestamp

      +
      +public byte[] marshalWithDisAbsoluteTimestamp()
      +
      +
      A convieneince method to marshal to a byte array with the timestamp set to + the DIS standard for absolute timestamps (which works only if the host is + slaved to NTP). This means the timestamp will roll over every hour. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +marshalWithDisRelativeTimestamp

      +
      +public byte[] marshalWithDisRelativeTimestamp()
      +
      +
      A convieneince method to marshal to a byte array with the timestamp set to + the DIS standard for relative timestamps. The timestamp will roll over every + hour +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +marshalWithNpsTimestamp

      +
      +public byte[] marshalWithNpsTimestamp()
      +
      +
      A convienience method to marshal a PDU using the NPS-specific format for + timestamps, which is hundredths of a second since the start of the year. + This effectively eliminates the rollover issues from a practical standpoint. +

      +

      +
      +
      +
      + +
      Returns:
      +
      +
      +
      + +

      +marshalWithUnixTimestamp

      +
      +public byte[] marshalWithUnixTimestamp()
      +
      +
      Another option for marshalling with the timestamp field set automatically. The UNIX + time is conventionally seconds since January 1, 1970. UTC time is used, and leap seconds + are excluded. This approach is popular in the wild, but the time resolution is not very + good for high frequency updates, such as aircraft. An entity updating at 30 PDUs/second + would see 30 PDUs sent out with the same timestamp, and have 29 of them discarded as + duplicate packets. + + Note that there are other "Unix times", such milliseconds since 1/1/1970, saved in a long. + This cannot be used, since the value is saved in a long. Java's System.getCurrentTimeMillis() + uses this value. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(Pdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/PduCollection.html b/docs/edu/nps/moves/dis/PduCollection.html new file mode 100644 index 00000000..8bf6196e --- /dev/null +++ b/docs/edu/nps/moves/dis/PduCollection.html @@ -0,0 +1,270 @@ + + + + + + +PduCollection + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class PduCollection

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.PduCollection
      +
      +
      +
      +
      public class PduCollection
      extends java.lang.Object
      + + +

      +

      +
      Version:
      +
      $Id:$
      +
      +
      + +

      + + + + + + + + + + + +
      +Constructor Summary
      PduCollection() + +
      +           
      +  + + + + + + + + + + + + + + + +
      +Method Summary
      + java.util.List<Pdu>getPdus() + +
      +           
      + voidsetPdus(java.util.List<Pdu> pdus) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Constructor Detail
      + +

      +PduCollection

      +
      +public PduCollection()
      +
      +
      + + + + + + + + +
      +Method Detail
      + +

      +getPdus

      +
      +public java.util.List<Pdu> getPdus()
      +
      +
      +
      +
      +
      +
      + +

      +setPdus

      +
      +public void setPdus(java.util.List<Pdu> pdus)
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/PduContainer.html b/docs/edu/nps/moves/dis/PduContainer.html new file mode 100644 index 00000000..87a0f1da --- /dev/null +++ b/docs/edu/nps/moves/dis/PduContainer.html @@ -0,0 +1,567 @@ + + + + + + +PduContainer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class PduContainer

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.PduContainer
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class PduContainer
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Used for XML compatability. A container that holds PDUs + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  intnumberOfPdus + +
      +          Number of PDUs in the container list
      +protected  java.util.List<Pdu>pdus + +
      +          record sets
      +  + + + + + + + + + + +
      +Constructor Summary
      PduContainer() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(PduContainer rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + intgetNumberOfPdus() + +
      +           
      + java.util.List<Pdu>getPdus() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidmarshallToXml(java.lang.String filename) + +
      +          JAXB is picky about marshalling classes it hasn't heard of before.
      + voidsetNumberOfPdus(int pNumberOfPdus) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetPdus(java.util.List<Pdu> pPdus) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +numberOfPdus

      +
      +protected int numberOfPdus
      +
      +
      Number of PDUs in the container list +

      +

      +
      +
      +
      + +

      +pdus

      +
      +protected java.util.List<Pdu> pdus
      +
      +
      record sets +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +PduContainer

      +
      +public PduContainer()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfPdus

      +
      +public int getNumberOfPdus()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfPdus

      +
      +public void setNumberOfPdus(int pNumberOfPdus)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfPdus method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setPdus

      +
      +public void setPdus(java.util.List<Pdu> pPdus)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPdus

      +
      +public java.util.List<Pdu> getPdus()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +marshallToXml

      +
      +public void marshallToXml(java.lang.String filename)
      +
      +
      JAXB is picky about marshalling classes it hasn't heard of before. This solves + the problem by including every single class in the JAXB context. You'll probably want to + cut and paste this elsewhere to get all the class names +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(PduContainer rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/Point.html b/docs/edu/nps/moves/dis/Point.html new file mode 100644 index 00000000..44617d76 --- /dev/null +++ b/docs/edu/nps/moves/dis/Point.html @@ -0,0 +1,537 @@ + + + + + + +Point + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class Point

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Point
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class Point
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +x,y point + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  floatx + +
      +          x
      +protected  floaty + +
      +          y
      +  + + + + + + + + + + +
      +Constructor Summary
      Point() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(Point rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + floatgetX() + +
      +           
      + floatgetY() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetX(float pX) + +
      +           
      + voidsetY(float pY) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +x

      +
      +protected float x
      +
      +
      x +

      +

      +
      +
      +
      + +

      +y

      +
      +protected float y
      +
      +
      y +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +Point

      +
      +public Point()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setX

      +
      +public void setX(float pX)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getX

      +
      +public float getX()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setY

      +
      +public void setY(float pY)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getY

      +
      +public float getY()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(Point rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/PointObjectStatePdu.html b/docs/edu/nps/moves/dis/PointObjectStatePdu.html new file mode 100644 index 00000000..4aabfedc --- /dev/null +++ b/docs/edu/nps/moves/dis/PointObjectStatePdu.html @@ -0,0 +1,1206 @@ + + + + + + +PointObjectStatePdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class PointObjectStatePdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SyntheticEnvironmentFamilyPdu
      +          extended by edu.nps.moves.dis.PointObjectStatePdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class PointObjectStatePdu
      extends SyntheticEnvironmentFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.11.3: Inormation abut the addition or modification of a synthecic enviroment object that is anchored to the terrain with a single point. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortforceID + +
      +          force ID
      +protected  shortmodifications + +
      +          modifications
      +protected  doubleobjectAppearance + +
      +          Object apperance
      +protected  EntityIDobjectID + +
      +          Object in synthetic environment
      +protected  Vector3DoubleobjectLocation + +
      +          Object location
      +protected  OrientationobjectOrientation + +
      +          Object orientation
      +protected  ObjectTypeobjectType + +
      +          Object type
      +protected  longpad2 + +
      +          padding
      +protected  SimulationAddressreceivingID + +
      +          receiver ID
      +protected  EntityIDreferencedObjectID + +
      +          Object with which this point object is associated
      +protected  SimulationAddressrequesterID + +
      +          requesterID
      +protected  intupdateNumber + +
      +          unique update number of each state transition of an object
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      PointObjectStatePdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(PointObjectStatePdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + shortgetForceID() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + shortgetModifications() + +
      +           
      + doublegetObjectAppearance() + +
      +           
      + EntityIDgetObjectID() + +
      +           
      + Vector3DoublegetObjectLocation() + +
      +           
      + OrientationgetObjectOrientation() + +
      +           
      + ObjectTypegetObjectType() + +
      +           
      + longgetPad2() + +
      +           
      + SimulationAddressgetReceivingID() + +
      +           
      + EntityIDgetReferencedObjectID() + +
      +           
      + SimulationAddressgetRequesterID() + +
      +           
      + intgetUpdateNumber() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetForceID(short pForceID) + +
      +           
      + voidsetModifications(short pModifications) + +
      +           
      + voidsetObjectAppearance(double pObjectAppearance) + +
      +           
      + voidsetObjectID(EntityID pObjectID) + +
      +           
      + voidsetObjectLocation(Vector3Double pObjectLocation) + +
      +           
      + voidsetObjectOrientation(Orientation pObjectOrientation) + +
      +           
      + voidsetObjectType(ObjectType pObjectType) + +
      +           
      + voidsetPad2(long pPad2) + +
      +           
      + voidsetReceivingID(SimulationAddress pReceivingID) + +
      +           
      + voidsetReferencedObjectID(EntityID pReferencedObjectID) + +
      +           
      + voidsetRequesterID(SimulationAddress pRequesterID) + +
      +           
      + voidsetUpdateNumber(int pUpdateNumber) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.SyntheticEnvironmentFamilyPdu
      equals
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +objectID

      +
      +protected EntityID objectID
      +
      +
      Object in synthetic environment +

      +

      +
      +
      +
      + +

      +referencedObjectID

      +
      +protected EntityID referencedObjectID
      +
      +
      Object with which this point object is associated +

      +

      +
      +
      +
      + +

      +updateNumber

      +
      +protected int updateNumber
      +
      +
      unique update number of each state transition of an object +

      +

      +
      +
      +
      + +

      +forceID

      +
      +protected short forceID
      +
      +
      force ID +

      +

      +
      +
      +
      + +

      +modifications

      +
      +protected short modifications
      +
      +
      modifications +

      +

      +
      +
      +
      + +

      +objectType

      +
      +protected ObjectType objectType
      +
      +
      Object type +

      +

      +
      +
      +
      + +

      +objectLocation

      +
      +protected Vector3Double objectLocation
      +
      +
      Object location +

      +

      +
      +
      +
      + +

      +objectOrientation

      +
      +protected Orientation objectOrientation
      +
      +
      Object orientation +

      +

      +
      +
      +
      + +

      +objectAppearance

      +
      +protected double objectAppearance
      +
      +
      Object apperance +

      +

      +
      +
      +
      + +

      +requesterID

      +
      +protected SimulationAddress requesterID
      +
      +
      requesterID +

      +

      +
      +
      +
      + +

      +receivingID

      +
      +protected SimulationAddress receivingID
      +
      +
      receiver ID +

      +

      +
      +
      +
      + +

      +pad2

      +
      +protected long pad2
      +
      +
      padding +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +PointObjectStatePdu

      +
      +public PointObjectStatePdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class SyntheticEnvironmentFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setObjectID

      +
      +public void setObjectID(EntityID pObjectID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getObjectID

      +
      +public EntityID getObjectID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setReferencedObjectID

      +
      +public void setReferencedObjectID(EntityID pReferencedObjectID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getReferencedObjectID

      +
      +public EntityID getReferencedObjectID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setUpdateNumber

      +
      +public void setUpdateNumber(int pUpdateNumber)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getUpdateNumber

      +
      +public int getUpdateNumber()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setForceID

      +
      +public void setForceID(short pForceID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getForceID

      +
      +public short getForceID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setModifications

      +
      +public void setModifications(short pModifications)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getModifications

      +
      +public short getModifications()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setObjectType

      +
      +public void setObjectType(ObjectType pObjectType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getObjectType

      +
      +public ObjectType getObjectType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setObjectLocation

      +
      +public void setObjectLocation(Vector3Double pObjectLocation)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getObjectLocation

      +
      +public Vector3Double getObjectLocation()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setObjectOrientation

      +
      +public void setObjectOrientation(Orientation pObjectOrientation)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getObjectOrientation

      +
      +public Orientation getObjectOrientation()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setObjectAppearance

      +
      +public void setObjectAppearance(double pObjectAppearance)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getObjectAppearance

      +
      +public double getObjectAppearance()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRequesterID

      +
      +public void setRequesterID(SimulationAddress pRequesterID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequesterID

      +
      +public SimulationAddress getRequesterID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setReceivingID

      +
      +public void setReceivingID(SimulationAddress pReceivingID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getReceivingID

      +
      +public SimulationAddress getReceivingID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad2

      +
      +public void setPad2(long pPad2)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad2

      +
      +public long getPad2()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class SyntheticEnvironmentFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class SyntheticEnvironmentFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class SyntheticEnvironmentFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class SyntheticEnvironmentFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(PointObjectStatePdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/PropulsionSystemData.html b/docs/edu/nps/moves/dis/PropulsionSystemData.html new file mode 100644 index 00000000..b4d08b36 --- /dev/null +++ b/docs/edu/nps/moves/dis/PropulsionSystemData.html @@ -0,0 +1,537 @@ + + + + + + +PropulsionSystemData + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class PropulsionSystemData

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.PropulsionSystemData
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class PropulsionSystemData
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Data about a propulsion system + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  floatengineRpm + +
      +          engine RPMs
      +protected  floatpowerSetting + +
      +          powerSetting
      +  + + + + + + + + + + +
      +Constructor Summary
      PropulsionSystemData() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(PropulsionSystemData rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + floatgetEngineRpm() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + floatgetPowerSetting() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetEngineRpm(float pEngineRpm) + +
      +           
      + voidsetPowerSetting(float pPowerSetting) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +powerSetting

      +
      +protected float powerSetting
      +
      +
      powerSetting +

      +

      +
      +
      +
      + +

      +engineRpm

      +
      +protected float engineRpm
      +
      +
      engine RPMs +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +PropulsionSystemData

      +
      +public PropulsionSystemData()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPowerSetting

      +
      +public void setPowerSetting(float pPowerSetting)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPowerSetting

      +
      +public float getPowerSetting()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEngineRpm

      +
      +public void setEngineRpm(float pEngineRpm)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEngineRpm

      +
      +public float getEngineRpm()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(PropulsionSystemData rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/RadioCommunicationsFamilyPdu.html b/docs/edu/nps/moves/dis/RadioCommunicationsFamilyPdu.html new file mode 100644 index 00000000..b2cf0522 --- /dev/null +++ b/docs/edu/nps/moves/dis/RadioCommunicationsFamilyPdu.html @@ -0,0 +1,559 @@ + + + + + + +RadioCommunicationsFamilyPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class RadioCommunicationsFamilyPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.RadioCommunicationsFamilyPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      Direct Known Subclasses:
      IntercomControlPdu, IntercomSignalPdu, ReceiverPdu, SignalPdu, TransmitterPdu
      +
      +
      +
      +
      public class RadioCommunicationsFamilyPdu
      extends Pdu
      implements java.io.Serializable
      + + +

      +Section 5.3.8. Abstract superclass for radio communications PDUs. + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  EntityIDentityId + +
      +          ID of the entitythat is the source of the communication
      +protected  intradioId + +
      +          particular radio within an entity
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      RadioCommunicationsFamilyPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(RadioCommunicationsFamilyPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + EntityIDgetEntityId() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + intgetRadioId() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetEntityId(EntityID pEntityId) + +
      +           
      + voidsetRadioId(int pRadioId) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +entityId

      +
      +protected EntityID entityId
      +
      +
      ID of the entitythat is the source of the communication +

      +

      +
      +
      +
      + +

      +radioId

      +
      +protected int radioId
      +
      +
      particular radio within an entity +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +RadioCommunicationsFamilyPdu

      +
      +public RadioCommunicationsFamilyPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +setEntityId

      +
      +public void setEntityId(EntityID pEntityId)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEntityId

      +
      +public EntityID getEntityId()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRadioId

      +
      +public void setRadioId(int pRadioId)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRadioId

      +
      +public int getRadioId()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class Pdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class Pdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(RadioCommunicationsFamilyPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/RadioEntityType.html b/docs/edu/nps/moves/dis/RadioEntityType.html new file mode 100644 index 00000000..05c91c32 --- /dev/null +++ b/docs/edu/nps/moves/dis/RadioEntityType.html @@ -0,0 +1,791 @@ + + + + + + +RadioEntityType + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class RadioEntityType

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.RadioEntityType
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class RadioEntityType
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Section 5.2.25. Identifies the type of radio + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortcategory + +
      +          category of entity
      +protected  intcountry + +
      +          country to which the design of the entity is attributed
      +protected  shortdomain + +
      +          Domain of entity (air, surface, subsurface, space, etc)
      +protected  shortentityKind + +
      +          Kind of entity
      +protected  intnomenclature + +
      +           
      +protected  shortnomenclatureVersion + +
      +          specific info based on subcategory field
      +  + + + + + + + + + + +
      +Constructor Summary
      RadioEntityType() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(RadioEntityType rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + shortgetCategory() + +
      +           
      + intgetCountry() + +
      +           
      + shortgetDomain() + +
      +           
      + shortgetEntityKind() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + intgetNomenclature() + +
      +           
      + shortgetNomenclatureVersion() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetCategory(short pCategory) + +
      +           
      + voidsetCountry(int pCountry) + +
      +           
      + voidsetDomain(short pDomain) + +
      +           
      + voidsetEntityKind(short pEntityKind) + +
      +           
      + voidsetNomenclature(int pNomenclature) + +
      +           
      + voidsetNomenclatureVersion(short pNomenclatureVersion) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +entityKind

      +
      +protected short entityKind
      +
      +
      Kind of entity +

      +

      +
      +
      +
      + +

      +domain

      +
      +protected short domain
      +
      +
      Domain of entity (air, surface, subsurface, space, etc) +

      +

      +
      +
      +
      + +

      +country

      +
      +protected int country
      +
      +
      country to which the design of the entity is attributed +

      +

      +
      +
      +
      + +

      +category

      +
      +protected short category
      +
      +
      category of entity +

      +

      +
      +
      +
      + +

      +nomenclatureVersion

      +
      +protected short nomenclatureVersion
      +
      +
      specific info based on subcategory field +

      +

      +
      +
      +
      + +

      +nomenclature

      +
      +protected int nomenclature
      +
      +
      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +RadioEntityType

      +
      +public RadioEntityType()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEntityKind

      +
      +public void setEntityKind(short pEntityKind)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEntityKind

      +
      +public short getEntityKind()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setDomain

      +
      +public void setDomain(short pDomain)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getDomain

      +
      +public short getDomain()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCountry

      +
      +public void setCountry(int pCountry)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCountry

      +
      +public int getCountry()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCategory

      +
      +public void setCategory(short pCategory)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCategory

      +
      +public short getCategory()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNomenclatureVersion

      +
      +public void setNomenclatureVersion(short pNomenclatureVersion)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNomenclatureVersion

      +
      +public short getNomenclatureVersion()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNomenclature

      +
      +public void setNomenclature(int pNomenclature)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNomenclature

      +
      +public int getNomenclature()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(RadioEntityType rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/ReceiverPdu.html b/docs/edu/nps/moves/dis/ReceiverPdu.html new file mode 100644 index 00000000..ff403fda --- /dev/null +++ b/docs/edu/nps/moves/dis/ReceiverPdu.html @@ -0,0 +1,767 @@ + + + + + + +ReceiverPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class ReceiverPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.RadioCommunicationsFamilyPdu
      +          extended by edu.nps.moves.dis.ReceiverPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class ReceiverPdu
      extends RadioCommunicationsFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.8.3. Communication of a receiver state. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  intpadding1 + +
      +          padding
      +protected  floatreceivedPoser + +
      +          received power
      +protected  intreceiverState + +
      +          encoding scheme used, and enumeration
      +protected  EntityIDtransmitterEntityId + +
      +          ID of transmitter
      +protected  inttransmitterRadioId + +
      +          ID of transmitting radio
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.RadioCommunicationsFamilyPdu
      entityId, radioId
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      ReceiverPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(ReceiverPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + intgetPadding1() + +
      +           
      + floatgetReceivedPoser() + +
      +           
      + intgetReceiverState() + +
      +           
      + EntityIDgetTransmitterEntityId() + +
      +           
      + intgetTransmitterRadioId() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetPadding1(int pPadding1) + +
      +           
      + voidsetReceivedPoser(float pReceivedPoser) + +
      +           
      + voidsetReceiverState(int pReceiverState) + +
      +           
      + voidsetTransmitterEntityId(EntityID pTransmitterEntityId) + +
      +           
      + voidsetTransmitterRadioId(int pTransmitterRadioId) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.RadioCommunicationsFamilyPdu
      equals, getEntityId, getRadioId, setEntityId, setRadioId
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +receiverState

      +
      +protected int receiverState
      +
      +
      encoding scheme used, and enumeration +

      +

      +
      +
      +
      + +

      +padding1

      +
      +protected int padding1
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +receivedPoser

      +
      +protected float receivedPoser
      +
      +
      received power +

      +

      +
      +
      +
      + +

      +transmitterEntityId

      +
      +protected EntityID transmitterEntityId
      +
      +
      ID of transmitter +

      +

      +
      +
      +
      + +

      +transmitterRadioId

      +
      +protected int transmitterRadioId
      +
      +
      ID of transmitting radio +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +ReceiverPdu

      +
      +public ReceiverPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class RadioCommunicationsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setReceiverState

      +
      +public void setReceiverState(int pReceiverState)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getReceiverState

      +
      +public int getReceiverState()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPadding1

      +
      +public void setPadding1(int pPadding1)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPadding1

      +
      +public int getPadding1()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setReceivedPoser

      +
      +public void setReceivedPoser(float pReceivedPoser)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getReceivedPoser

      +
      +public float getReceivedPoser()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setTransmitterEntityId

      +
      +public void setTransmitterEntityId(EntityID pTransmitterEntityId)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getTransmitterEntityId

      +
      +public EntityID getTransmitterEntityId()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setTransmitterRadioId

      +
      +public void setTransmitterRadioId(int pTransmitterRadioId)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getTransmitterRadioId

      +
      +public int getTransmitterRadioId()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class RadioCommunicationsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class RadioCommunicationsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class RadioCommunicationsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class RadioCommunicationsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(ReceiverPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/RecordQueryReliablePdu.html b/docs/edu/nps/moves/dis/RecordQueryReliablePdu.html new file mode 100644 index 00000000..827593cf --- /dev/null +++ b/docs/edu/nps/moves/dis/RecordQueryReliablePdu.html @@ -0,0 +1,963 @@ + + + + + + +RecordQueryReliablePdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class RecordQueryReliablePdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      +          extended by edu.nps.moves.dis.RecordQueryReliablePdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class RecordQueryReliablePdu
      extends SimulationManagementWithReliabilityFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.12.13: A request for one or more records of data from an entity. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  inteventType + +
      +          event type
      +protected  longnumberOfRecords + +
      +          numberOfRecords
      +protected  intpad1 + +
      +          padding.
      +protected  shortpad2 + +
      +          padding
      +protected  java.util.List<FourByteChunk>recordIDs + +
      +          record IDs
      +protected  longrequestID + +
      +          request ID
      +protected  shortrequiredReliabilityService + +
      +          level of reliability service used for this transaction
      +protected  longtime + +
      +          time
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      originatingEntityID, receivingEntityID
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      RecordQueryReliablePdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(RecordQueryReliablePdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetEventType() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + longgetNumberOfRecords() + +
      +           
      + intgetPad1() + +
      +           
      + shortgetPad2() + +
      +           
      + java.util.List<FourByteChunk>getRecordIDs() + +
      +           
      + longgetRequestID() + +
      +           
      + shortgetRequiredReliabilityService() + +
      +           
      + longgetTime() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetEventType(int pEventType) + +
      +           
      + voidsetNumberOfRecords(long pNumberOfRecords) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetPad1(int pPad1) + +
      +           
      + voidsetPad2(short pPad2) + +
      +           
      + voidsetRecordIDs(java.util.List<FourByteChunk> pRecordIDs) + +
      +           
      + voidsetRequestID(long pRequestID) + +
      +           
      + voidsetRequiredReliabilityService(short pRequiredReliabilityService) + +
      +           
      + voidsetTime(long pTime) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      equals, getOriginatingEntityID, getReceivingEntityID, setOriginatingEntityID, setReceivingEntityID
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +requestID

      +
      +protected long requestID
      +
      +
      request ID +

      +

      +
      +
      +
      + +

      +requiredReliabilityService

      +
      +protected short requiredReliabilityService
      +
      +
      level of reliability service used for this transaction +

      +

      +
      +
      +
      + +

      +pad1

      +
      +protected int pad1
      +
      +
      padding. The spec is unclear and contradictory here. +

      +

      +
      +
      +
      + +

      +pad2

      +
      +protected short pad2
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +eventType

      +
      +protected int eventType
      +
      +
      event type +

      +

      +
      +
      +
      + +

      +time

      +
      +protected long time
      +
      +
      time +

      +

      +
      +
      +
      + +

      +numberOfRecords

      +
      +protected long numberOfRecords
      +
      +
      numberOfRecords +

      +

      +
      +
      +
      + +

      +recordIDs

      +
      +protected java.util.List<FourByteChunk> recordIDs
      +
      +
      record IDs +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +RecordQueryReliablePdu

      +
      +public RecordQueryReliablePdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setRequestID

      +
      +public void setRequestID(long pRequestID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestID

      +
      +public long getRequestID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRequiredReliabilityService

      +
      +public void setRequiredReliabilityService(short pRequiredReliabilityService)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequiredReliabilityService

      +
      +public short getRequiredReliabilityService()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad1

      +
      +public void setPad1(int pPad1)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad1

      +
      +public int getPad1()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad2

      +
      +public void setPad2(short pPad2)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad2

      +
      +public short getPad2()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEventType

      +
      +public void setEventType(int pEventType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEventType

      +
      +public int getEventType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setTime

      +
      +public void setTime(long pTime)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getTime

      +
      +public long getTime()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfRecords

      +
      +public long getNumberOfRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfRecords

      +
      +public void setNumberOfRecords(long pNumberOfRecords)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfRecords method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setRecordIDs

      +
      +public void setRecordIDs(java.util.List<FourByteChunk> pRecordIDs)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRecordIDs

      +
      +public java.util.List<FourByteChunk> getRecordIDs()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(RecordQueryReliablePdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/RecordSet.html b/docs/edu/nps/moves/dis/RecordSet.html new file mode 100644 index 00000000..5f052f44 --- /dev/null +++ b/docs/edu/nps/moves/dis/RecordSet.html @@ -0,0 +1,789 @@ + + + + + + +RecordSet + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class RecordSet

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.RecordSet
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class RecordSet
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Record sets, used in transfer control request PDU + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortpad4 + +
      +           
      +protected  intrecordCount + +
      +          record count
      +protected  longrecordID + +
      +          record ID
      +protected  intrecordLength + +
      +          record length
      +protected  longrecordSetSerialNumber + +
      +          record set serial number
      +protected  intrecordValues + +
      +           
      +  + + + + + + + + + + +
      +Constructor Summary
      RecordSet() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(RecordSet rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + shortgetPad4() + +
      +           
      + intgetRecordCount() + +
      +           
      + longgetRecordID() + +
      +           
      + intgetRecordLength() + +
      +           
      + longgetRecordSetSerialNumber() + +
      +           
      + intgetRecordValues() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetPad4(short pPad4) + +
      +           
      + voidsetRecordCount(int pRecordCount) + +
      +           
      + voidsetRecordID(long pRecordID) + +
      +           
      + voidsetRecordLength(int pRecordLength) + +
      +           
      + voidsetRecordSetSerialNumber(long pRecordSetSerialNumber) + +
      +           
      + voidsetRecordValues(int pRecordValues) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +recordID

      +
      +protected long recordID
      +
      +
      record ID +

      +

      +
      +
      +
      + +

      +recordSetSerialNumber

      +
      +protected long recordSetSerialNumber
      +
      +
      record set serial number +

      +

      +
      +
      +
      + +

      +recordLength

      +
      +protected int recordLength
      +
      +
      record length +

      +

      +
      +
      +
      + +

      +recordCount

      +
      +protected int recordCount
      +
      +
      record count +

      +

      +
      +
      +
      + +

      +recordValues

      +
      +protected int recordValues
      +
      +
      +
      +
      +
      + +

      +pad4

      +
      +protected short pad4
      +
      +
      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +RecordSet

      +
      +public RecordSet()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRecordID

      +
      +public void setRecordID(long pRecordID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRecordID

      +
      +public long getRecordID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRecordSetSerialNumber

      +
      +public void setRecordSetSerialNumber(long pRecordSetSerialNumber)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRecordSetSerialNumber

      +
      +public long getRecordSetSerialNumber()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRecordLength

      +
      +public void setRecordLength(int pRecordLength)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRecordLength

      +
      +public int getRecordLength()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRecordCount

      +
      +public void setRecordCount(int pRecordCount)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRecordCount

      +
      +public int getRecordCount()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRecordValues

      +
      +public void setRecordValues(int pRecordValues)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRecordValues

      +
      +public int getRecordValues()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad4

      +
      +public void setPad4(short pPad4)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad4

      +
      +public short getPad4()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(RecordSet rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/Relationship.html b/docs/edu/nps/moves/dis/Relationship.html new file mode 100644 index 00000000..f39429ba --- /dev/null +++ b/docs/edu/nps/moves/dis/Relationship.html @@ -0,0 +1,537 @@ + + + + + + +Relationship + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class Relationship

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Relationship
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class Relationship
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +5.2.56. Purpose for joinging two entities + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  intnature + +
      +          Nature of join
      +protected  intposition + +
      +          position of join
      +  + + + + + + + + + + +
      +Constructor Summary
      Relationship() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(Relationship rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + intgetNature() + +
      +           
      + intgetPosition() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetNature(int pNature) + +
      +           
      + voidsetPosition(int pPosition) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +nature

      +
      +protected int nature
      +
      +
      Nature of join +

      +

      +
      +
      +
      + +

      +position

      +
      +protected int position
      +
      +
      position of join +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +Relationship

      +
      +public Relationship()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNature

      +
      +public void setNature(int pNature)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNature

      +
      +public int getNature()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPosition

      +
      +public void setPosition(int pPosition)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPosition

      +
      +public int getPosition()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(Relationship rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/RemoveEntityPdu.html b/docs/edu/nps/moves/dis/RemoveEntityPdu.html new file mode 100644 index 00000000..98e1de83 --- /dev/null +++ b/docs/edu/nps/moves/dis/RemoveEntityPdu.html @@ -0,0 +1,511 @@ + + + + + + +RemoveEntityPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class RemoveEntityPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SimulationManagementFamilyPdu
      +          extended by edu.nps.moves.dis.RemoveEntityPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class RemoveEntityPdu
      extends SimulationManagementFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.6.2. Remove an entity. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + +
      +Field Summary
      +protected  longrequestID + +
      +          Identifier for the request
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.SimulationManagementFamilyPdu
      originatingEntityID, receivingEntityID
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      RemoveEntityPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(RemoveEntityPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + longgetRequestID() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetRequestID(long pRequestID) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.SimulationManagementFamilyPdu
      equals, getOriginatingEntityID, getReceivingEntityID, setOriginatingEntityID, setReceivingEntityID
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +requestID

      +
      +protected long requestID
      +
      +
      Identifier for the request +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +RemoveEntityPdu

      +
      +public RemoveEntityPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setRequestID

      +
      +public void setRequestID(long pRequestID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestID

      +
      +public long getRequestID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class SimulationManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class SimulationManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(RemoveEntityPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/RemoveEntityReliablePdu.html b/docs/edu/nps/moves/dis/RemoveEntityReliablePdu.html new file mode 100644 index 00000000..528aa685 --- /dev/null +++ b/docs/edu/nps/moves/dis/RemoveEntityReliablePdu.html @@ -0,0 +1,703 @@ + + + + + + +RemoveEntityReliablePdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class RemoveEntityReliablePdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      +          extended by edu.nps.moves.dis.RemoveEntityReliablePdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class RemoveEntityReliablePdu
      extends SimulationManagementWithReliabilityFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.12.2: Removal of an entity , reliable. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  intpad1 + +
      +          padding
      +protected  shortpad2 + +
      +          padding
      +protected  longrequestID + +
      +          Request ID
      +protected  shortrequiredReliabilityService + +
      +          level of reliability service used for this transaction
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      originatingEntityID, receivingEntityID
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      RemoveEntityReliablePdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(RemoveEntityReliablePdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + intgetPad1() + +
      +           
      + shortgetPad2() + +
      +           
      + longgetRequestID() + +
      +           
      + shortgetRequiredReliabilityService() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetPad1(int pPad1) + +
      +           
      + voidsetPad2(short pPad2) + +
      +           
      + voidsetRequestID(long pRequestID) + +
      +           
      + voidsetRequiredReliabilityService(short pRequiredReliabilityService) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      equals, getOriginatingEntityID, getReceivingEntityID, setOriginatingEntityID, setReceivingEntityID
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +requiredReliabilityService

      +
      +protected short requiredReliabilityService
      +
      +
      level of reliability service used for this transaction +

      +

      +
      +
      +
      + +

      +pad1

      +
      +protected int pad1
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +pad2

      +
      +protected short pad2
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +requestID

      +
      +protected long requestID
      +
      +
      Request ID +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +RemoveEntityReliablePdu

      +
      +public RemoveEntityReliablePdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setRequiredReliabilityService

      +
      +public void setRequiredReliabilityService(short pRequiredReliabilityService)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequiredReliabilityService

      +
      +public short getRequiredReliabilityService()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad1

      +
      +public void setPad1(int pPad1)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad1

      +
      +public int getPad1()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad2

      +
      +public void setPad2(short pPad2)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad2

      +
      +public short getPad2()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRequestID

      +
      +public void setRequestID(long pRequestID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestID

      +
      +public long getRequestID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(RemoveEntityReliablePdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/RepairCompletePdu.html b/docs/edu/nps/moves/dis/RepairCompletePdu.html new file mode 100644 index 00000000..f26d9188 --- /dev/null +++ b/docs/edu/nps/moves/dis/RepairCompletePdu.html @@ -0,0 +1,694 @@ + + + + + + +RepairCompletePdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class RepairCompletePdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.LogisticsFamilyPdu
      +          extended by edu.nps.moves.dis.RepairCompletePdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class RepairCompletePdu
      extends LogisticsFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.2.5.5. Repair is complete. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortpadding + +
      +          padding
      +protected  EntityIDreceivingEntityID + +
      +          Entity that is receiving service
      +protected  intrepair + +
      +          Enumeration for type of repair
      +protected  EntityIDrepairingEntityID + +
      +          Entity that is supplying
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      RepairCompletePdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(RepairCompletePdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + shortgetPadding() + +
      +           
      + EntityIDgetReceivingEntityID() + +
      +           
      + intgetRepair() + +
      +           
      + EntityIDgetRepairingEntityID() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetPadding(short pPadding) + +
      +           
      + voidsetReceivingEntityID(EntityID pReceivingEntityID) + +
      +           
      + voidsetRepair(int pRepair) + +
      +           
      + voidsetRepairingEntityID(EntityID pRepairingEntityID) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.LogisticsFamilyPdu
      equals
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +receivingEntityID

      +
      +protected EntityID receivingEntityID
      +
      +
      Entity that is receiving service +

      +

      +
      +
      +
      + +

      +repairingEntityID

      +
      +protected EntityID repairingEntityID
      +
      +
      Entity that is supplying +

      +

      +
      +
      +
      + +

      +repair

      +
      +protected int repair
      +
      +
      Enumeration for type of repair +

      +

      +
      +
      +
      + +

      +padding

      +
      +protected short padding
      +
      +
      padding +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +RepairCompletePdu

      +
      +public RepairCompletePdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class LogisticsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setReceivingEntityID

      +
      +public void setReceivingEntityID(EntityID pReceivingEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getReceivingEntityID

      +
      +public EntityID getReceivingEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRepairingEntityID

      +
      +public void setRepairingEntityID(EntityID pRepairingEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRepairingEntityID

      +
      +public EntityID getRepairingEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRepair

      +
      +public void setRepair(int pRepair)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRepair

      +
      +public int getRepair()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPadding

      +
      +public void setPadding(short pPadding)
      +
      +
      +
      Overrides:
      setPadding in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +getPadding

      +
      +public short getPadding()
      +
      +
      +
      Overrides:
      getPadding in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class LogisticsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class LogisticsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class LogisticsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class LogisticsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(RepairCompletePdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/RepairResponsePdu.html b/docs/edu/nps/moves/dis/RepairResponsePdu.html new file mode 100644 index 00000000..c7b7f28c --- /dev/null +++ b/docs/edu/nps/moves/dis/RepairResponsePdu.html @@ -0,0 +1,758 @@ + + + + + + +RepairResponsePdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class RepairResponsePdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.LogisticsFamilyPdu
      +          extended by edu.nps.moves.dis.RepairResponsePdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class RepairResponsePdu
      extends LogisticsFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.2.5.6. Sent after repair complete PDU. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortpadding1 + +
      +          padding
      +protected  bytepadding2 + +
      +          padding
      +protected  EntityIDreceivingEntityID + +
      +          Entity that is receiving service
      +protected  EntityIDrepairingEntityID + +
      +          Entity that is supplying
      +protected  shortrepairResult + +
      +          Result of repair operation
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      RepairResponsePdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(RepairResponsePdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + shortgetPadding1() + +
      +           
      + bytegetPadding2() + +
      +           
      + EntityIDgetReceivingEntityID() + +
      +           
      + EntityIDgetRepairingEntityID() + +
      +           
      + shortgetRepairResult() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetPadding1(short pPadding1) + +
      +           
      + voidsetPadding2(byte pPadding2) + +
      +           
      + voidsetReceivingEntityID(EntityID pReceivingEntityID) + +
      +           
      + voidsetRepairingEntityID(EntityID pRepairingEntityID) + +
      +           
      + voidsetRepairResult(short pRepairResult) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.LogisticsFamilyPdu
      equals
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +receivingEntityID

      +
      +protected EntityID receivingEntityID
      +
      +
      Entity that is receiving service +

      +

      +
      +
      +
      + +

      +repairingEntityID

      +
      +protected EntityID repairingEntityID
      +
      +
      Entity that is supplying +

      +

      +
      +
      +
      + +

      +repairResult

      +
      +protected short repairResult
      +
      +
      Result of repair operation +

      +

      +
      +
      +
      + +

      +padding1

      +
      +protected short padding1
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +padding2

      +
      +protected byte padding2
      +
      +
      padding +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +RepairResponsePdu

      +
      +public RepairResponsePdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class LogisticsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setReceivingEntityID

      +
      +public void setReceivingEntityID(EntityID pReceivingEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getReceivingEntityID

      +
      +public EntityID getReceivingEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRepairingEntityID

      +
      +public void setRepairingEntityID(EntityID pRepairingEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRepairingEntityID

      +
      +public EntityID getRepairingEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRepairResult

      +
      +public void setRepairResult(short pRepairResult)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRepairResult

      +
      +public short getRepairResult()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPadding1

      +
      +public void setPadding1(short pPadding1)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPadding1

      +
      +public short getPadding1()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPadding2

      +
      +public void setPadding2(byte pPadding2)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPadding2

      +
      +public byte getPadding2()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class LogisticsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class LogisticsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class LogisticsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class LogisticsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(RepairResponsePdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/ResupplyCancelPdu.html b/docs/edu/nps/moves/dis/ResupplyCancelPdu.html new file mode 100644 index 00000000..916f9272 --- /dev/null +++ b/docs/edu/nps/moves/dis/ResupplyCancelPdu.html @@ -0,0 +1,566 @@ + + + + + + +ResupplyCancelPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class ResupplyCancelPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.LogisticsFamilyPdu
      +          extended by edu.nps.moves.dis.ResupplyCancelPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class ResupplyCancelPdu
      extends LogisticsFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.2.5.4. Cancel of resupply by either the receiving or supplying entity. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  EntityIDreceivingEntityID + +
      +          Entity that is receiving service
      +protected  EntityIDsupplyingEntityID + +
      +          Entity that is supplying
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      ResupplyCancelPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(ResupplyCancelPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + EntityIDgetReceivingEntityID() + +
      +           
      + EntityIDgetSupplyingEntityID() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetReceivingEntityID(EntityID pReceivingEntityID) + +
      +           
      + voidsetSupplyingEntityID(EntityID pSupplyingEntityID) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.LogisticsFamilyPdu
      equals
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +receivingEntityID

      +
      +protected EntityID receivingEntityID
      +
      +
      Entity that is receiving service +

      +

      +
      +
      +
      + +

      +supplyingEntityID

      +
      +protected EntityID supplyingEntityID
      +
      +
      Entity that is supplying +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +ResupplyCancelPdu

      +
      +public ResupplyCancelPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class LogisticsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setReceivingEntityID

      +
      +public void setReceivingEntityID(EntityID pReceivingEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getReceivingEntityID

      +
      +public EntityID getReceivingEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSupplyingEntityID

      +
      +public void setSupplyingEntityID(EntityID pSupplyingEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSupplyingEntityID

      +
      +public EntityID getSupplyingEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class LogisticsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class LogisticsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class LogisticsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class LogisticsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(ResupplyCancelPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/ResupplyOfferPdu.html b/docs/edu/nps/moves/dis/ResupplyOfferPdu.html new file mode 100644 index 00000000..d5787c30 --- /dev/null +++ b/docs/edu/nps/moves/dis/ResupplyOfferPdu.html @@ -0,0 +1,824 @@ + + + + + + +ResupplyOfferPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class ResupplyOfferPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.LogisticsFamilyPdu
      +          extended by edu.nps.moves.dis.ResupplyOfferPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class ResupplyOfferPdu
      extends LogisticsFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.5.2. Information about a request for supplies. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortnumberOfSupplyTypes + +
      +          how many supplies are being offered
      +protected  shortpadding1 + +
      +          padding
      +protected  bytepadding2 + +
      +          padding
      +protected  EntityIDreceivingEntityID + +
      +          Entity that is receiving service
      +protected  java.util.List<SupplyQuantity>supplies + +
      +           
      +protected  EntityIDsupplyingEntityID + +
      +          Entity that is supplying
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      ResupplyOfferPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(ResupplyOfferPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + shortgetNumberOfSupplyTypes() + +
      +           
      + shortgetPadding1() + +
      +           
      + bytegetPadding2() + +
      +           
      + EntityIDgetReceivingEntityID() + +
      +           
      + java.util.List<SupplyQuantity>getSupplies() + +
      +           
      + EntityIDgetSupplyingEntityID() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetNumberOfSupplyTypes(short pNumberOfSupplyTypes) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetPadding1(short pPadding1) + +
      +           
      + voidsetPadding2(byte pPadding2) + +
      +           
      + voidsetReceivingEntityID(EntityID pReceivingEntityID) + +
      +           
      + voidsetSupplies(java.util.List<SupplyQuantity> pSupplies) + +
      +           
      + voidsetSupplyingEntityID(EntityID pSupplyingEntityID) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.LogisticsFamilyPdu
      equals
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +receivingEntityID

      +
      +protected EntityID receivingEntityID
      +
      +
      Entity that is receiving service +

      +

      +
      +
      +
      + +

      +supplyingEntityID

      +
      +protected EntityID supplyingEntityID
      +
      +
      Entity that is supplying +

      +

      +
      +
      +
      + +

      +numberOfSupplyTypes

      +
      +protected short numberOfSupplyTypes
      +
      +
      how many supplies are being offered +

      +

      +
      +
      +
      + +

      +padding1

      +
      +protected short padding1
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +padding2

      +
      +protected byte padding2
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +supplies

      +
      +protected java.util.List<SupplyQuantity> supplies
      +
      +
      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +ResupplyOfferPdu

      +
      +public ResupplyOfferPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class LogisticsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setReceivingEntityID

      +
      +public void setReceivingEntityID(EntityID pReceivingEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getReceivingEntityID

      +
      +public EntityID getReceivingEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSupplyingEntityID

      +
      +public void setSupplyingEntityID(EntityID pSupplyingEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSupplyingEntityID

      +
      +public EntityID getSupplyingEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfSupplyTypes

      +
      +public short getNumberOfSupplyTypes()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfSupplyTypes

      +
      +public void setNumberOfSupplyTypes(short pNumberOfSupplyTypes)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfSupplyTypes method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setPadding1

      +
      +public void setPadding1(short pPadding1)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPadding1

      +
      +public short getPadding1()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPadding2

      +
      +public void setPadding2(byte pPadding2)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPadding2

      +
      +public byte getPadding2()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSupplies

      +
      +public void setSupplies(java.util.List<SupplyQuantity> pSupplies)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSupplies

      +
      +public java.util.List<SupplyQuantity> getSupplies()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class LogisticsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class LogisticsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class LogisticsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class LogisticsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(ResupplyOfferPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/ResupplyReceivedPdu.html b/docs/edu/nps/moves/dis/ResupplyReceivedPdu.html new file mode 100644 index 00000000..bfba7a8b --- /dev/null +++ b/docs/edu/nps/moves/dis/ResupplyReceivedPdu.html @@ -0,0 +1,824 @@ + + + + + + +ResupplyReceivedPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class ResupplyReceivedPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.LogisticsFamilyPdu
      +          extended by edu.nps.moves.dis.ResupplyReceivedPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class ResupplyReceivedPdu
      extends LogisticsFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.5.3. Receipt of supplies is communiated. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortnumberOfSupplyTypes + +
      +          how many supplies are being offered
      +protected  shortpadding1 + +
      +          padding
      +protected  bytepadding2 + +
      +          padding
      +protected  EntityIDreceivingEntityID + +
      +          Entity that is receiving service
      +protected  java.util.List<SupplyQuantity>supplies + +
      +           
      +protected  EntityIDsupplyingEntityID + +
      +          Entity that is supplying
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      ResupplyReceivedPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(ResupplyReceivedPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + shortgetNumberOfSupplyTypes() + +
      +           
      + shortgetPadding1() + +
      +           
      + bytegetPadding2() + +
      +           
      + EntityIDgetReceivingEntityID() + +
      +           
      + java.util.List<SupplyQuantity>getSupplies() + +
      +           
      + EntityIDgetSupplyingEntityID() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetNumberOfSupplyTypes(short pNumberOfSupplyTypes) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetPadding1(short pPadding1) + +
      +           
      + voidsetPadding2(byte pPadding2) + +
      +           
      + voidsetReceivingEntityID(EntityID pReceivingEntityID) + +
      +           
      + voidsetSupplies(java.util.List<SupplyQuantity> pSupplies) + +
      +           
      + voidsetSupplyingEntityID(EntityID pSupplyingEntityID) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.LogisticsFamilyPdu
      equals
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +receivingEntityID

      +
      +protected EntityID receivingEntityID
      +
      +
      Entity that is receiving service +

      +

      +
      +
      +
      + +

      +supplyingEntityID

      +
      +protected EntityID supplyingEntityID
      +
      +
      Entity that is supplying +

      +

      +
      +
      +
      + +

      +numberOfSupplyTypes

      +
      +protected short numberOfSupplyTypes
      +
      +
      how many supplies are being offered +

      +

      +
      +
      +
      + +

      +padding1

      +
      +protected short padding1
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +padding2

      +
      +protected byte padding2
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +supplies

      +
      +protected java.util.List<SupplyQuantity> supplies
      +
      +
      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +ResupplyReceivedPdu

      +
      +public ResupplyReceivedPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class LogisticsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setReceivingEntityID

      +
      +public void setReceivingEntityID(EntityID pReceivingEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getReceivingEntityID

      +
      +public EntityID getReceivingEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSupplyingEntityID

      +
      +public void setSupplyingEntityID(EntityID pSupplyingEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSupplyingEntityID

      +
      +public EntityID getSupplyingEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfSupplyTypes

      +
      +public short getNumberOfSupplyTypes()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfSupplyTypes

      +
      +public void setNumberOfSupplyTypes(short pNumberOfSupplyTypes)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfSupplyTypes method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setPadding1

      +
      +public void setPadding1(short pPadding1)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPadding1

      +
      +public short getPadding1()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPadding2

      +
      +public void setPadding2(byte pPadding2)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPadding2

      +
      +public byte getPadding2()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSupplies

      +
      +public void setSupplies(java.util.List<SupplyQuantity> pSupplies)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSupplies

      +
      +public java.util.List<SupplyQuantity> getSupplies()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class LogisticsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class LogisticsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class LogisticsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class LogisticsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(ResupplyReceivedPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/SeesPdu.html b/docs/edu/nps/moves/dis/SeesPdu.html new file mode 100644 index 00000000..1bb5a5bc --- /dev/null +++ b/docs/edu/nps/moves/dis/SeesPdu.html @@ -0,0 +1,958 @@ + + + + + + +SeesPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class SeesPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.DistributedEmissionsFamilyPdu
      +          extended by edu.nps.moves.dis.SeesPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class SeesPdu
      extends DistributedEmissionsFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.7.5. SEES PDU, supplemental emissions entity state information. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  intacousticSignatureRepresentationIndex + +
      +          acoustic Signature representation index
      +protected  intinfraredSignatureRepresentationIndex + +
      +          IR Signature representation index
      +protected  intnumberOfPropulsionSystems + +
      +          how many propulsion systems
      +protected  intnumberOfVectoringNozzleSystems + +
      +          how many vectoring nozzle systems
      +protected  EntityIDorginatingEntityID + +
      +          Originating entity ID
      +protected  java.util.List<PropulsionSystemData>propulsionSystemData + +
      +          variable length list of propulsion system data
      +protected  intradarCrossSectionSignatureRepresentationIndex + +
      +          radar cross section representation index
      +protected  java.util.List<VectoringNozzleSystemData>vectoringSystemData + +
      +          variable length list of vectoring system data
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      SeesPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(SeesPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetAcousticSignatureRepresentationIndex() + +
      +           
      + intgetInfraredSignatureRepresentationIndex() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + intgetNumberOfPropulsionSystems() + +
      +           
      + intgetNumberOfVectoringNozzleSystems() + +
      +           
      + EntityIDgetOrginatingEntityID() + +
      +           
      + java.util.List<PropulsionSystemData>getPropulsionSystemData() + +
      +           
      + intgetRadarCrossSectionSignatureRepresentationIndex() + +
      +           
      + java.util.List<VectoringNozzleSystemData>getVectoringSystemData() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetAcousticSignatureRepresentationIndex(int pAcousticSignatureRepresentationIndex) + +
      +           
      + voidsetInfraredSignatureRepresentationIndex(int pInfraredSignatureRepresentationIndex) + +
      +           
      + voidsetNumberOfPropulsionSystems(int pNumberOfPropulsionSystems) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetNumberOfVectoringNozzleSystems(int pNumberOfVectoringNozzleSystems) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetOrginatingEntityID(EntityID pOrginatingEntityID) + +
      +           
      + voidsetPropulsionSystemData(java.util.List<PropulsionSystemData> pPropulsionSystemData) + +
      +           
      + voidsetRadarCrossSectionSignatureRepresentationIndex(int pRadarCrossSectionSignatureRepresentationIndex) + +
      +           
      + voidsetVectoringSystemData(java.util.List<VectoringNozzleSystemData> pVectoringSystemData) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.DistributedEmissionsFamilyPdu
      equals
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +orginatingEntityID

      +
      +protected EntityID orginatingEntityID
      +
      +
      Originating entity ID +

      +

      +
      +
      +
      + +

      +infraredSignatureRepresentationIndex

      +
      +protected int infraredSignatureRepresentationIndex
      +
      +
      IR Signature representation index +

      +

      +
      +
      +
      + +

      +acousticSignatureRepresentationIndex

      +
      +protected int acousticSignatureRepresentationIndex
      +
      +
      acoustic Signature representation index +

      +

      +
      +
      +
      + +

      +radarCrossSectionSignatureRepresentationIndex

      +
      +protected int radarCrossSectionSignatureRepresentationIndex
      +
      +
      radar cross section representation index +

      +

      +
      +
      +
      + +

      +numberOfPropulsionSystems

      +
      +protected int numberOfPropulsionSystems
      +
      +
      how many propulsion systems +

      +

      +
      +
      +
      + +

      +numberOfVectoringNozzleSystems

      +
      +protected int numberOfVectoringNozzleSystems
      +
      +
      how many vectoring nozzle systems +

      +

      +
      +
      +
      + +

      +propulsionSystemData

      +
      +protected java.util.List<PropulsionSystemData> propulsionSystemData
      +
      +
      variable length list of propulsion system data +

      +

      +
      +
      +
      + +

      +vectoringSystemData

      +
      +protected java.util.List<VectoringNozzleSystemData> vectoringSystemData
      +
      +
      variable length list of vectoring system data +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +SeesPdu

      +
      +public SeesPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class DistributedEmissionsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setOrginatingEntityID

      +
      +public void setOrginatingEntityID(EntityID pOrginatingEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getOrginatingEntityID

      +
      +public EntityID getOrginatingEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setInfraredSignatureRepresentationIndex

      +
      +public void setInfraredSignatureRepresentationIndex(int pInfraredSignatureRepresentationIndex)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getInfraredSignatureRepresentationIndex

      +
      +public int getInfraredSignatureRepresentationIndex()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setAcousticSignatureRepresentationIndex

      +
      +public void setAcousticSignatureRepresentationIndex(int pAcousticSignatureRepresentationIndex)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAcousticSignatureRepresentationIndex

      +
      +public int getAcousticSignatureRepresentationIndex()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRadarCrossSectionSignatureRepresentationIndex

      +
      +public void setRadarCrossSectionSignatureRepresentationIndex(int pRadarCrossSectionSignatureRepresentationIndex)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRadarCrossSectionSignatureRepresentationIndex

      +
      +public int getRadarCrossSectionSignatureRepresentationIndex()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfPropulsionSystems

      +
      +public int getNumberOfPropulsionSystems()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfPropulsionSystems

      +
      +public void setNumberOfPropulsionSystems(int pNumberOfPropulsionSystems)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfPropulsionSystems method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfVectoringNozzleSystems

      +
      +public int getNumberOfVectoringNozzleSystems()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfVectoringNozzleSystems

      +
      +public void setNumberOfVectoringNozzleSystems(int pNumberOfVectoringNozzleSystems)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfVectoringNozzleSystems method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setPropulsionSystemData

      +
      +public void setPropulsionSystemData(java.util.List<PropulsionSystemData> pPropulsionSystemData)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPropulsionSystemData

      +
      +public java.util.List<PropulsionSystemData> getPropulsionSystemData()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setVectoringSystemData

      +
      +public void setVectoringSystemData(java.util.List<VectoringNozzleSystemData> pVectoringSystemData)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getVectoringSystemData

      +
      +public java.util.List<VectoringNozzleSystemData> getVectoringSystemData()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class DistributedEmissionsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class DistributedEmissionsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class DistributedEmissionsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class DistributedEmissionsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(SeesPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/ServiceRequestPdu.html b/docs/edu/nps/moves/dis/ServiceRequestPdu.html new file mode 100644 index 00000000..db0269c1 --- /dev/null +++ b/docs/edu/nps/moves/dis/ServiceRequestPdu.html @@ -0,0 +1,824 @@ + + + + + + +ServiceRequestPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class ServiceRequestPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.LogisticsFamilyPdu
      +          extended by edu.nps.moves.dis.ServiceRequestPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class ServiceRequestPdu
      extends LogisticsFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.5.1. Information about a request for supplies. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortnumberOfSupplyTypes + +
      +          How many requested
      +protected  EntityIDrequestingEntityID + +
      +          Entity that is requesting service
      +protected  shortserviceRequestPadding + +
      +          padding
      +protected  shortserviceTypeRequested + +
      +          type of service requested
      +protected  EntityIDservicingEntityID + +
      +          Entity that is providing the service
      +protected  java.util.List<SupplyQuantity>supplies + +
      +           
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      ServiceRequestPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(ServiceRequestPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + shortgetNumberOfSupplyTypes() + +
      +           
      + EntityIDgetRequestingEntityID() + +
      +           
      + shortgetServiceRequestPadding() + +
      +           
      + shortgetServiceTypeRequested() + +
      +           
      + EntityIDgetServicingEntityID() + +
      +           
      + java.util.List<SupplyQuantity>getSupplies() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetNumberOfSupplyTypes(short pNumberOfSupplyTypes) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetRequestingEntityID(EntityID pRequestingEntityID) + +
      +           
      + voidsetServiceRequestPadding(short pServiceRequestPadding) + +
      +           
      + voidsetServiceTypeRequested(short pServiceTypeRequested) + +
      +           
      + voidsetServicingEntityID(EntityID pServicingEntityID) + +
      +           
      + voidsetSupplies(java.util.List<SupplyQuantity> pSupplies) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.LogisticsFamilyPdu
      equals
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +requestingEntityID

      +
      +protected EntityID requestingEntityID
      +
      +
      Entity that is requesting service +

      +

      +
      +
      +
      + +

      +servicingEntityID

      +
      +protected EntityID servicingEntityID
      +
      +
      Entity that is providing the service +

      +

      +
      +
      +
      + +

      +serviceTypeRequested

      +
      +protected short serviceTypeRequested
      +
      +
      type of service requested +

      +

      +
      +
      +
      + +

      +numberOfSupplyTypes

      +
      +protected short numberOfSupplyTypes
      +
      +
      How many requested +

      +

      +
      +
      +
      + +

      +serviceRequestPadding

      +
      +protected short serviceRequestPadding
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +supplies

      +
      +protected java.util.List<SupplyQuantity> supplies
      +
      +
      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +ServiceRequestPdu

      +
      +public ServiceRequestPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class LogisticsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setRequestingEntityID

      +
      +public void setRequestingEntityID(EntityID pRequestingEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestingEntityID

      +
      +public EntityID getRequestingEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setServicingEntityID

      +
      +public void setServicingEntityID(EntityID pServicingEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getServicingEntityID

      +
      +public EntityID getServicingEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setServiceTypeRequested

      +
      +public void setServiceTypeRequested(short pServiceTypeRequested)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getServiceTypeRequested

      +
      +public short getServiceTypeRequested()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfSupplyTypes

      +
      +public short getNumberOfSupplyTypes()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfSupplyTypes

      +
      +public void setNumberOfSupplyTypes(short pNumberOfSupplyTypes)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfSupplyTypes method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setServiceRequestPadding

      +
      +public void setServiceRequestPadding(short pServiceRequestPadding)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getServiceRequestPadding

      +
      +public short getServiceRequestPadding()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSupplies

      +
      +public void setSupplies(java.util.List<SupplyQuantity> pSupplies)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSupplies

      +
      +public java.util.List<SupplyQuantity> getSupplies()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class LogisticsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class LogisticsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class LogisticsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class LogisticsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(ServiceRequestPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/SetDataPdu.html b/docs/edu/nps/moves/dis/SetDataPdu.html new file mode 100644 index 00000000..276c0a85 --- /dev/null +++ b/docs/edu/nps/moves/dis/SetDataPdu.html @@ -0,0 +1,839 @@ + + + + + + +SetDataPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class SetDataPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SimulationManagementFamilyPdu
      +          extended by edu.nps.moves.dis.SetDataPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class SetDataPdu
      extends SimulationManagementFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.6.9. Change state information with the data contained in this. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  java.util.List<FixedDatum>fixedDatums + +
      +          variable length list of fixed datums
      +protected  longnumberOfFixedDatumRecords + +
      +          Number of fixed datum records
      +protected  longnumberOfVariableDatumRecords + +
      +          Number of variable datum records
      +protected  longpadding1 + +
      +          padding
      +protected  longrequestID + +
      +          ID of request
      +protected  java.util.List<VariableDatum>variableDatums + +
      +          variable length list of variable length datums
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.SimulationManagementFamilyPdu
      originatingEntityID, receivingEntityID
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      SetDataPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(SetDataPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + java.util.List<FixedDatum>getFixedDatums() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + longgetNumberOfFixedDatumRecords() + +
      +           
      + longgetNumberOfVariableDatumRecords() + +
      +           
      + longgetPadding1() + +
      +           
      + longgetRequestID() + +
      +           
      + java.util.List<VariableDatum>getVariableDatums() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetFixedDatums(java.util.List<FixedDatum> pFixedDatums) + +
      +           
      + voidsetNumberOfFixedDatumRecords(long pNumberOfFixedDatumRecords) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetNumberOfVariableDatumRecords(long pNumberOfVariableDatumRecords) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetPadding1(long pPadding1) + +
      +           
      + voidsetRequestID(long pRequestID) + +
      +           
      + voidsetVariableDatums(java.util.List<VariableDatum> pVariableDatums) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.SimulationManagementFamilyPdu
      equals, getOriginatingEntityID, getReceivingEntityID, setOriginatingEntityID, setReceivingEntityID
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +requestID

      +
      +protected long requestID
      +
      +
      ID of request +

      +

      +
      +
      +
      + +

      +padding1

      +
      +protected long padding1
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +numberOfFixedDatumRecords

      +
      +protected long numberOfFixedDatumRecords
      +
      +
      Number of fixed datum records +

      +

      +
      +
      +
      + +

      +numberOfVariableDatumRecords

      +
      +protected long numberOfVariableDatumRecords
      +
      +
      Number of variable datum records +

      +

      +
      +
      +
      + +

      +fixedDatums

      +
      +protected java.util.List<FixedDatum> fixedDatums
      +
      +
      variable length list of fixed datums +

      +

      +
      +
      +
      + +

      +variableDatums

      +
      +protected java.util.List<VariableDatum> variableDatums
      +
      +
      variable length list of variable length datums +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +SetDataPdu

      +
      +public SetDataPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setRequestID

      +
      +public void setRequestID(long pRequestID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestID

      +
      +public long getRequestID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPadding1

      +
      +public void setPadding1(long pPadding1)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPadding1

      +
      +public long getPadding1()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfFixedDatumRecords

      +
      +public long getNumberOfFixedDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfFixedDatumRecords

      +
      +public void setNumberOfFixedDatumRecords(long pNumberOfFixedDatumRecords)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfFixedDatumRecords method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfVariableDatumRecords

      +
      +public long getNumberOfVariableDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfVariableDatumRecords

      +
      +public void setNumberOfVariableDatumRecords(long pNumberOfVariableDatumRecords)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfVariableDatumRecords method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setFixedDatums

      +
      +public void setFixedDatums(java.util.List<FixedDatum> pFixedDatums)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFixedDatums

      +
      +public java.util.List<FixedDatum> getFixedDatums()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setVariableDatums

      +
      +public void setVariableDatums(java.util.List<VariableDatum> pVariableDatums)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getVariableDatums

      +
      +public java.util.List<VariableDatum> getVariableDatums()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class SimulationManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class SimulationManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(SetDataPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/SetDataReliablePdu.html b/docs/edu/nps/moves/dis/SetDataReliablePdu.html new file mode 100644 index 00000000..384132d5 --- /dev/null +++ b/docs/edu/nps/moves/dis/SetDataReliablePdu.html @@ -0,0 +1,967 @@ + + + + + + +SetDataReliablePdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class SetDataReliablePdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      +          extended by edu.nps.moves.dis.SetDataReliablePdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class SetDataReliablePdu
      extends SimulationManagementWithReliabilityFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.12.9: initializing or chaning internal state information, reliable. Needs manual intervention to fix padding on variable datums. UNFINISHED + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  java.util.List<FixedDatum>fixedDatumRecords + +
      +          Fixed datum records
      +protected  longnumberOfFixedDatumRecords + +
      +          Fixed datum record count
      +protected  longnumberOfVariableDatumRecords + +
      +          variable datum record count
      +protected  intpad1 + +
      +          padding
      +protected  shortpad2 + +
      +          padding
      +protected  longrequestID + +
      +          Request ID
      +protected  shortrequiredReliabilityService + +
      +          level of reliability service used for this transaction
      +protected  java.util.List<VariableDatum>variableDatumRecords + +
      +          Variable datum records
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      originatingEntityID, receivingEntityID
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      SetDataReliablePdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(SetDataReliablePdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + java.util.List<FixedDatum>getFixedDatumRecords() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + longgetNumberOfFixedDatumRecords() + +
      +           
      + longgetNumberOfVariableDatumRecords() + +
      +           
      + intgetPad1() + +
      +           
      + shortgetPad2() + +
      +           
      + longgetRequestID() + +
      +           
      + shortgetRequiredReliabilityService() + +
      +           
      + java.util.List<VariableDatum>getVariableDatumRecords() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetFixedDatumRecords(java.util.List<FixedDatum> pFixedDatumRecords) + +
      +           
      + voidsetNumberOfFixedDatumRecords(long pNumberOfFixedDatumRecords) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetNumberOfVariableDatumRecords(long pNumberOfVariableDatumRecords) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetPad1(int pPad1) + +
      +           
      + voidsetPad2(short pPad2) + +
      +           
      + voidsetRequestID(long pRequestID) + +
      +           
      + voidsetRequiredReliabilityService(short pRequiredReliabilityService) + +
      +           
      + voidsetVariableDatumRecords(java.util.List<VariableDatum> pVariableDatumRecords) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      equals, getOriginatingEntityID, getReceivingEntityID, setOriginatingEntityID, setReceivingEntityID
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +requiredReliabilityService

      +
      +protected short requiredReliabilityService
      +
      +
      level of reliability service used for this transaction +

      +

      +
      +
      +
      + +

      +pad1

      +
      +protected int pad1
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +pad2

      +
      +protected short pad2
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +requestID

      +
      +protected long requestID
      +
      +
      Request ID +

      +

      +
      +
      +
      + +

      +numberOfFixedDatumRecords

      +
      +protected long numberOfFixedDatumRecords
      +
      +
      Fixed datum record count +

      +

      +
      +
      +
      + +

      +numberOfVariableDatumRecords

      +
      +protected long numberOfVariableDatumRecords
      +
      +
      variable datum record count +

      +

      +
      +
      +
      + +

      +fixedDatumRecords

      +
      +protected java.util.List<FixedDatum> fixedDatumRecords
      +
      +
      Fixed datum records +

      +

      +
      +
      +
      + +

      +variableDatumRecords

      +
      +protected java.util.List<VariableDatum> variableDatumRecords
      +
      +
      Variable datum records +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +SetDataReliablePdu

      +
      +public SetDataReliablePdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setRequiredReliabilityService

      +
      +public void setRequiredReliabilityService(short pRequiredReliabilityService)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequiredReliabilityService

      +
      +public short getRequiredReliabilityService()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad1

      +
      +public void setPad1(int pPad1)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad1

      +
      +public int getPad1()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad2

      +
      +public void setPad2(short pPad2)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad2

      +
      +public short getPad2()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRequestID

      +
      +public void setRequestID(long pRequestID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestID

      +
      +public long getRequestID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfFixedDatumRecords

      +
      +public long getNumberOfFixedDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfFixedDatumRecords

      +
      +public void setNumberOfFixedDatumRecords(long pNumberOfFixedDatumRecords)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfFixedDatumRecords method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfVariableDatumRecords

      +
      +public long getNumberOfVariableDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfVariableDatumRecords

      +
      +public void setNumberOfVariableDatumRecords(long pNumberOfVariableDatumRecords)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfVariableDatumRecords method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setFixedDatumRecords

      +
      +public void setFixedDatumRecords(java.util.List<FixedDatum> pFixedDatumRecords)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFixedDatumRecords

      +
      +public java.util.List<FixedDatum> getFixedDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setVariableDatumRecords

      +
      +public void setVariableDatumRecords(java.util.List<VariableDatum> pVariableDatumRecords)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getVariableDatumRecords

      +
      +public java.util.List<VariableDatum> getVariableDatumRecords()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(SetDataReliablePdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/SetRecordReliablePdu.html b/docs/edu/nps/moves/dis/SetRecordReliablePdu.html new file mode 100644 index 00000000..0aeb6a46 --- /dev/null +++ b/docs/edu/nps/moves/dis/SetRecordReliablePdu.html @@ -0,0 +1,835 @@ + + + + + + +SetRecordReliablePdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class SetRecordReliablePdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      +          extended by edu.nps.moves.dis.SetRecordReliablePdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class SetRecordReliablePdu
      extends SimulationManagementWithReliabilityFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.12.14: Initializing or changing internal parameter info. Needs manual intervention to fix padding in recrod set PDUs. UNFINISHED + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  longnumberOfRecordSets + +
      +          Number of record sets in list
      +protected  intpad1 + +
      +          padding.
      +protected  shortpad2 + +
      +          padding
      +protected  java.util.List<RecordSet>recordSets + +
      +          record sets
      +protected  longrequestID + +
      +          request ID
      +protected  shortrequiredReliabilityService + +
      +          level of reliability service used for this transaction
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      originatingEntityID, receivingEntityID
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      SetRecordReliablePdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(SetRecordReliablePdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + longgetNumberOfRecordSets() + +
      +           
      + intgetPad1() + +
      +           
      + shortgetPad2() + +
      +           
      + java.util.List<RecordSet>getRecordSets() + +
      +           
      + longgetRequestID() + +
      +           
      + shortgetRequiredReliabilityService() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetNumberOfRecordSets(long pNumberOfRecordSets) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetPad1(int pPad1) + +
      +           
      + voidsetPad2(short pPad2) + +
      +           
      + voidsetRecordSets(java.util.List<RecordSet> pRecordSets) + +
      +           
      + voidsetRequestID(long pRequestID) + +
      +           
      + voidsetRequiredReliabilityService(short pRequiredReliabilityService) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      equals, getOriginatingEntityID, getReceivingEntityID, setOriginatingEntityID, setReceivingEntityID
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +requestID

      +
      +protected long requestID
      +
      +
      request ID +

      +

      +
      +
      +
      + +

      +requiredReliabilityService

      +
      +protected short requiredReliabilityService
      +
      +
      level of reliability service used for this transaction +

      +

      +
      +
      +
      + +

      +pad1

      +
      +protected int pad1
      +
      +
      padding. The spec is unclear and contradictory here. +

      +

      +
      +
      +
      + +

      +pad2

      +
      +protected short pad2
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +numberOfRecordSets

      +
      +protected long numberOfRecordSets
      +
      +
      Number of record sets in list +

      +

      +
      +
      +
      + +

      +recordSets

      +
      +protected java.util.List<RecordSet> recordSets
      +
      +
      record sets +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +SetRecordReliablePdu

      +
      +public SetRecordReliablePdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setRequestID

      +
      +public void setRequestID(long pRequestID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestID

      +
      +public long getRequestID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRequiredReliabilityService

      +
      +public void setRequiredReliabilityService(short pRequiredReliabilityService)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequiredReliabilityService

      +
      +public short getRequiredReliabilityService()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad1

      +
      +public void setPad1(int pPad1)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad1

      +
      +public int getPad1()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad2

      +
      +public void setPad2(short pPad2)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad2

      +
      +public short getPad2()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfRecordSets

      +
      +public long getNumberOfRecordSets()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfRecordSets

      +
      +public void setNumberOfRecordSets(long pNumberOfRecordSets)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfRecordSets method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setRecordSets

      +
      +public void setRecordSets(java.util.List<RecordSet> pRecordSets)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRecordSets

      +
      +public java.util.List<RecordSet> getRecordSets()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(SetRecordReliablePdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/ShaftRPMs.html b/docs/edu/nps/moves/dis/ShaftRPMs.html new file mode 100644 index 00000000..63939df4 --- /dev/null +++ b/docs/edu/nps/moves/dis/ShaftRPMs.html @@ -0,0 +1,601 @@ + + + + + + +ShaftRPMs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class ShaftRPMs

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.ShaftRPMs
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class ShaftRPMs
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Shaft RPMs, used in underwater acoustic clacluations. + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortcurrentShaftRPMs + +
      +          Current shaft RPMs
      +protected  shortorderedShaftRPMs + +
      +          ordered shaft rpms
      +protected  floatshaftRPMRateOfChange + +
      +          rate of change of shaft RPMs
      +  + + + + + + + + + + +
      +Constructor Summary
      ShaftRPMs() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(ShaftRPMs rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + shortgetCurrentShaftRPMs() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + shortgetOrderedShaftRPMs() + +
      +           
      + floatgetShaftRPMRateOfChange() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetCurrentShaftRPMs(short pCurrentShaftRPMs) + +
      +           
      + voidsetOrderedShaftRPMs(short pOrderedShaftRPMs) + +
      +           
      + voidsetShaftRPMRateOfChange(float pShaftRPMRateOfChange) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +currentShaftRPMs

      +
      +protected short currentShaftRPMs
      +
      +
      Current shaft RPMs +

      +

      +
      +
      +
      + +

      +orderedShaftRPMs

      +
      +protected short orderedShaftRPMs
      +
      +
      ordered shaft rpms +

      +

      +
      +
      +
      + +

      +shaftRPMRateOfChange

      +
      +protected float shaftRPMRateOfChange
      +
      +
      rate of change of shaft RPMs +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +ShaftRPMs

      +
      +public ShaftRPMs()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCurrentShaftRPMs

      +
      +public void setCurrentShaftRPMs(short pCurrentShaftRPMs)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCurrentShaftRPMs

      +
      +public short getCurrentShaftRPMs()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setOrderedShaftRPMs

      +
      +public void setOrderedShaftRPMs(short pOrderedShaftRPMs)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getOrderedShaftRPMs

      +
      +public short getOrderedShaftRPMs()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setShaftRPMRateOfChange

      +
      +public void setShaftRPMRateOfChange(float pShaftRPMRateOfChange)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getShaftRPMRateOfChange

      +
      +public float getShaftRPMRateOfChange()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(ShaftRPMs rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/SignalPdu.html b/docs/edu/nps/moves/dis/SignalPdu.html new file mode 100644 index 00000000..e8914c54 --- /dev/null +++ b/docs/edu/nps/moves/dis/SignalPdu.html @@ -0,0 +1,835 @@ + + + + + + +SignalPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class SignalPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.RadioCommunicationsFamilyPdu
      +          extended by edu.nps.moves.dis.SignalPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class SignalPdu
      extends RadioCommunicationsFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.8.2. Detailed information about a radio transmitter. This PDU requires manually written code to complete. The encodingScheme field can be used in multiple ways, which requires hand-written code to finish. UNFINISHED + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  java.util.List<OneByteChunk>data + +
      +          list of eight bit values
      +protected  shortdataLength + +
      +          length od data
      +protected  intencodingScheme + +
      +          encoding scheme used, and enumeration
      +protected  intsampleRate + +
      +          sample rate
      +protected  shortsamples + +
      +          number of samples
      +protected  inttdlType + +
      +          tdl type
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.RadioCommunicationsFamilyPdu
      entityId, radioId
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      SignalPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(SignalPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + java.util.List<OneByteChunk>getData() + +
      +           
      + shortgetDataLength() + +
      +           
      + intgetEncodingScheme() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + intgetSampleRate() + +
      +           
      + shortgetSamples() + +
      +           
      + intgetTdlType() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetData(java.util.List<OneByteChunk> pData) + +
      +           
      + voidsetDataLength(short pDataLength) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetEncodingScheme(int pEncodingScheme) + +
      +           
      + voidsetSampleRate(int pSampleRate) + +
      +           
      + voidsetSamples(short pSamples) + +
      +           
      + voidsetTdlType(int pTdlType) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.RadioCommunicationsFamilyPdu
      equals, getEntityId, getRadioId, setEntityId, setRadioId
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +encodingScheme

      +
      +protected int encodingScheme
      +
      +
      encoding scheme used, and enumeration +

      +

      +
      +
      +
      + +

      +tdlType

      +
      +protected int tdlType
      +
      +
      tdl type +

      +

      +
      +
      +
      + +

      +sampleRate

      +
      +protected int sampleRate
      +
      +
      sample rate +

      +

      +
      +
      +
      + +

      +dataLength

      +
      +protected short dataLength
      +
      +
      length od data +

      +

      +
      +
      +
      + +

      +samples

      +
      +protected short samples
      +
      +
      number of samples +

      +

      +
      +
      +
      + +

      +data

      +
      +protected java.util.List<OneByteChunk> data
      +
      +
      list of eight bit values +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +SignalPdu

      +
      +public SignalPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class RadioCommunicationsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setEncodingScheme

      +
      +public void setEncodingScheme(int pEncodingScheme)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEncodingScheme

      +
      +public int getEncodingScheme()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setTdlType

      +
      +public void setTdlType(int pTdlType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getTdlType

      +
      +public int getTdlType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSampleRate

      +
      +public void setSampleRate(int pSampleRate)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSampleRate

      +
      +public int getSampleRate()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getDataLength

      +
      +public short getDataLength()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setDataLength

      +
      +public void setDataLength(short pDataLength)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getdataLength method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setSamples

      +
      +public void setSamples(short pSamples)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSamples

      +
      +public short getSamples()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setData

      +
      +public void setData(java.util.List<OneByteChunk> pData)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getData

      +
      +public java.util.List<OneByteChunk> getData()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class RadioCommunicationsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class RadioCommunicationsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class RadioCommunicationsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class RadioCommunicationsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(SignalPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/SimulationAddress.html b/docs/edu/nps/moves/dis/SimulationAddress.html new file mode 100644 index 00000000..bcd6bd9a --- /dev/null +++ b/docs/edu/nps/moves/dis/SimulationAddress.html @@ -0,0 +1,537 @@ + + + + + + +SimulationAddress + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class SimulationAddress

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.SimulationAddress
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class SimulationAddress
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Section 5.2.14.1. A Simulation Address record shall consist of the Site Identification number and the Application Identification number. + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  intapplication + +
      +          The application ID
      +protected  intsite + +
      +          The site ID
      +  + + + + + + + + + + +
      +Constructor Summary
      SimulationAddress() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(SimulationAddress rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetApplication() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + intgetSite() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetApplication(int pApplication) + +
      +           
      + voidsetSite(int pSite) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +site

      +
      +protected int site
      +
      +
      The site ID +

      +

      +
      +
      +
      + +

      +application

      +
      +protected int application
      +
      +
      The application ID +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +SimulationAddress

      +
      +public SimulationAddress()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSite

      +
      +public void setSite(int pSite)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSite

      +
      +public int getSite()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setApplication

      +
      +public void setApplication(int pApplication)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getApplication

      +
      +public int getApplication()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(SimulationAddress rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/SimulationManagementFamilyPdu.html b/docs/edu/nps/moves/dis/SimulationManagementFamilyPdu.html new file mode 100644 index 00000000..3cd1680c --- /dev/null +++ b/docs/edu/nps/moves/dis/SimulationManagementFamilyPdu.html @@ -0,0 +1,559 @@ + + + + + + +SimulationManagementFamilyPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class SimulationManagementFamilyPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SimulationManagementFamilyPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      Direct Known Subclasses:
      AcknowledgePdu, ActionRequestPdu, ActionResponsePdu, CommentPdu, CreateEntityPdu, DataPdu, DataQueryPdu, EventReportPdu, RemoveEntityPdu, SetDataPdu, StartResumePdu, StopFreezePdu
      +
      +
      +
      +
      public class SimulationManagementFamilyPdu
      extends Pdu
      implements java.io.Serializable
      + + +

      +Section 5.3.6. Abstract superclass for PDUs relating to the simulation itself. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  EntityIDoriginatingEntityID + +
      +          Entity that is sending message
      +protected  EntityIDreceivingEntityID + +
      +          Entity that is intended to receive message
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      SimulationManagementFamilyPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(SimulationManagementFamilyPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + EntityIDgetOriginatingEntityID() + +
      +           
      + EntityIDgetReceivingEntityID() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetOriginatingEntityID(EntityID pOriginatingEntityID) + +
      +           
      + voidsetReceivingEntityID(EntityID pReceivingEntityID) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +originatingEntityID

      +
      +protected EntityID originatingEntityID
      +
      +
      Entity that is sending message +

      +

      +
      +
      +
      + +

      +receivingEntityID

      +
      +protected EntityID receivingEntityID
      +
      +
      Entity that is intended to receive message +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +SimulationManagementFamilyPdu

      +
      +public SimulationManagementFamilyPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +setOriginatingEntityID

      +
      +public void setOriginatingEntityID(EntityID pOriginatingEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getOriginatingEntityID

      +
      +public EntityID getOriginatingEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setReceivingEntityID

      +
      +public void setReceivingEntityID(EntityID pReceivingEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getReceivingEntityID

      +
      +public EntityID getReceivingEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class Pdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class Pdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(SimulationManagementFamilyPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/SimulationManagementWithReliabilityFamilyPdu.html b/docs/edu/nps/moves/dis/SimulationManagementWithReliabilityFamilyPdu.html new file mode 100644 index 00000000..c7885935 --- /dev/null +++ b/docs/edu/nps/moves/dis/SimulationManagementWithReliabilityFamilyPdu.html @@ -0,0 +1,559 @@ + + + + + + +SimulationManagementWithReliabilityFamilyPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class SimulationManagementWithReliabilityFamilyPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      Direct Known Subclasses:
      AcknowledgeReliablePdu, ActionRequestReliablePdu, ActionResponseReliablePdu, CommentReliablePdu, CreateEntityReliablePdu, DataQueryReliablePdu, DataReliablePdu, EventReportReliablePdu, RecordQueryReliablePdu, RemoveEntityReliablePdu, SetDataReliablePdu, SetRecordReliablePdu, StartResumeReliablePdu, StopFreezeReliablePdu
      +
      +
      +
      +
      public class SimulationManagementWithReliabilityFamilyPdu
      extends Pdu
      implements java.io.Serializable
      + + +

      +Section 5.3.12: Abstract superclass for reliable simulation management PDUs + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  EntityIDoriginatingEntityID + +
      +          Object originatig the request
      +protected  EntityIDreceivingEntityID + +
      +          Object with which this point object is associated
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      SimulationManagementWithReliabilityFamilyPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(SimulationManagementWithReliabilityFamilyPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + EntityIDgetOriginatingEntityID() + +
      +           
      + EntityIDgetReceivingEntityID() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetOriginatingEntityID(EntityID pOriginatingEntityID) + +
      +           
      + voidsetReceivingEntityID(EntityID pReceivingEntityID) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +originatingEntityID

      +
      +protected EntityID originatingEntityID
      +
      +
      Object originatig the request +

      +

      +
      +
      +
      + +

      +receivingEntityID

      +
      +protected EntityID receivingEntityID
      +
      +
      Object with which this point object is associated +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +SimulationManagementWithReliabilityFamilyPdu

      +
      +public SimulationManagementWithReliabilityFamilyPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +setOriginatingEntityID

      +
      +public void setOriginatingEntityID(EntityID pOriginatingEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getOriginatingEntityID

      +
      +public EntityID getOriginatingEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setReceivingEntityID

      +
      +public void setReceivingEntityID(EntityID pReceivingEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getReceivingEntityID

      +
      +public EntityID getReceivingEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class Pdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class Pdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(SimulationManagementWithReliabilityFamilyPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/SixByteChunk.html b/docs/edu/nps/moves/dis/SixByteChunk.html new file mode 100644 index 00000000..cb18544b --- /dev/null +++ b/docs/edu/nps/moves/dis/SixByteChunk.html @@ -0,0 +1,473 @@ + + + + + + +SixByteChunk + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class SixByteChunk

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.SixByteChunk
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class SixByteChunk
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +48 bit piece of data + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + +
      +Field Summary
      +protected  byte[]otherParameters + +
      +          six bytes of arbitrary data
      +  + + + + + + + + + + +
      +Constructor Summary
      SixByteChunk() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(SixByteChunk rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + byte[]getOtherParameters() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetOtherParameters(byte[] pOtherParameters) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +otherParameters

      +
      +protected byte[] otherParameters
      +
      +
      six bytes of arbitrary data +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +SixByteChunk

      +
      +public SixByteChunk()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setOtherParameters

      +
      +public void setOtherParameters(byte[] pOtherParameters)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getOtherParameters

      +
      +public byte[] getOtherParameters()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(SixByteChunk rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/SphericalHarmonicAntennaPattern.html b/docs/edu/nps/moves/dis/SphericalHarmonicAntennaPattern.html new file mode 100644 index 00000000..c01b1b87 --- /dev/null +++ b/docs/edu/nps/moves/dis/SphericalHarmonicAntennaPattern.html @@ -0,0 +1,471 @@ + + + + + + +SphericalHarmonicAntennaPattern + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class SphericalHarmonicAntennaPattern

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.SphericalHarmonicAntennaPattern
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class SphericalHarmonicAntennaPattern
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Section 5.2.4.3. Used when the antenna pattern type in the transmitter pdu is of value 2. Specified the direction and radiation pattern from a radio transmitter's antenna. NOTE: this class must be hand-coded to clean up some implementation details. + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + +
      +Field Summary
      +protected  byteorder + +
      +           
      +  + + + + + + + + + + +
      +Constructor Summary
      SphericalHarmonicAntennaPattern() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(SphericalHarmonicAntennaPattern rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + bytegetOrder() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetOrder(byte pOrder) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +order

      +
      +protected byte order
      +
      +
      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +SphericalHarmonicAntennaPattern

      +
      +public SphericalHarmonicAntennaPattern()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setOrder

      +
      +public void setOrder(byte pOrder)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getOrder

      +
      +public byte getOrder()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(SphericalHarmonicAntennaPattern rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/StartResumePdu.html b/docs/edu/nps/moves/dis/StartResumePdu.html new file mode 100644 index 00000000..4758da1b --- /dev/null +++ b/docs/edu/nps/moves/dis/StartResumePdu.html @@ -0,0 +1,639 @@ + + + + + + +StartResumePdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class StartResumePdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SimulationManagementFamilyPdu
      +          extended by edu.nps.moves.dis.StartResumePdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class StartResumePdu
      extends SimulationManagementFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.2.6.3. Start or resume an exercise. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  ClockTimerealWorldTime + +
      +          UTC time at which the simulation shall start or resume
      +protected  longrequestID + +
      +          Identifier for the request
      +protected  ClockTimesimulationTime + +
      +          Simulation clock time at which the simulation shall start or resume
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.SimulationManagementFamilyPdu
      originatingEntityID, receivingEntityID
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      StartResumePdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(StartResumePdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + ClockTimegetRealWorldTime() + +
      +           
      + longgetRequestID() + +
      +           
      + ClockTimegetSimulationTime() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetRealWorldTime(ClockTime pRealWorldTime) + +
      +           
      + voidsetRequestID(long pRequestID) + +
      +           
      + voidsetSimulationTime(ClockTime pSimulationTime) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.SimulationManagementFamilyPdu
      equals, getOriginatingEntityID, getReceivingEntityID, setOriginatingEntityID, setReceivingEntityID
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +realWorldTime

      +
      +protected ClockTime realWorldTime
      +
      +
      UTC time at which the simulation shall start or resume +

      +

      +
      +
      +
      + +

      +simulationTime

      +
      +protected ClockTime simulationTime
      +
      +
      Simulation clock time at which the simulation shall start or resume +

      +

      +
      +
      +
      + +

      +requestID

      +
      +protected long requestID
      +
      +
      Identifier for the request +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +StartResumePdu

      +
      +public StartResumePdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setRealWorldTime

      +
      +public void setRealWorldTime(ClockTime pRealWorldTime)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRealWorldTime

      +
      +public ClockTime getRealWorldTime()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSimulationTime

      +
      +public void setSimulationTime(ClockTime pSimulationTime)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSimulationTime

      +
      +public ClockTime getSimulationTime()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRequestID

      +
      +public void setRequestID(long pRequestID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestID

      +
      +public long getRequestID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class SimulationManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class SimulationManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(StartResumePdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/StartResumeReliablePdu.html b/docs/edu/nps/moves/dis/StartResumeReliablePdu.html new file mode 100644 index 00000000..280d2767 --- /dev/null +++ b/docs/edu/nps/moves/dis/StartResumeReliablePdu.html @@ -0,0 +1,831 @@ + + + + + + +StartResumeReliablePdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class StartResumeReliablePdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      +          extended by edu.nps.moves.dis.StartResumeReliablePdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class StartResumeReliablePdu
      extends SimulationManagementWithReliabilityFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.12.3: Start resume simulation, relaible. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  intpad1 + +
      +          padding
      +protected  shortpad2 + +
      +          padding
      +protected  ClockTimerealWorldTime + +
      +          time in real world for this operation to happen
      +protected  longrequestID + +
      +          Request ID
      +protected  shortrequiredReliabilityService + +
      +          level of reliability service used for this transaction
      +protected  ClockTimesimulationTime + +
      +          time in simulation for the simulation to resume
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      originatingEntityID, receivingEntityID
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      StartResumeReliablePdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(StartResumeReliablePdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + intgetPad1() + +
      +           
      + shortgetPad2() + +
      +           
      + ClockTimegetRealWorldTime() + +
      +           
      + longgetRequestID() + +
      +           
      + shortgetRequiredReliabilityService() + +
      +           
      + ClockTimegetSimulationTime() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetPad1(int pPad1) + +
      +           
      + voidsetPad2(short pPad2) + +
      +           
      + voidsetRealWorldTime(ClockTime pRealWorldTime) + +
      +           
      + voidsetRequestID(long pRequestID) + +
      +           
      + voidsetRequiredReliabilityService(short pRequiredReliabilityService) + +
      +           
      + voidsetSimulationTime(ClockTime pSimulationTime) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      equals, getOriginatingEntityID, getReceivingEntityID, setOriginatingEntityID, setReceivingEntityID
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +realWorldTime

      +
      +protected ClockTime realWorldTime
      +
      +
      time in real world for this operation to happen +

      +

      +
      +
      +
      + +

      +simulationTime

      +
      +protected ClockTime simulationTime
      +
      +
      time in simulation for the simulation to resume +

      +

      +
      +
      +
      + +

      +requiredReliabilityService

      +
      +protected short requiredReliabilityService
      +
      +
      level of reliability service used for this transaction +

      +

      +
      +
      +
      + +

      +pad1

      +
      +protected int pad1
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +pad2

      +
      +protected short pad2
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +requestID

      +
      +protected long requestID
      +
      +
      Request ID +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +StartResumeReliablePdu

      +
      +public StartResumeReliablePdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setRealWorldTime

      +
      +public void setRealWorldTime(ClockTime pRealWorldTime)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRealWorldTime

      +
      +public ClockTime getRealWorldTime()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSimulationTime

      +
      +public void setSimulationTime(ClockTime pSimulationTime)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSimulationTime

      +
      +public ClockTime getSimulationTime()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRequiredReliabilityService

      +
      +public void setRequiredReliabilityService(short pRequiredReliabilityService)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequiredReliabilityService

      +
      +public short getRequiredReliabilityService()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad1

      +
      +public void setPad1(int pPad1)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad1

      +
      +public int getPad1()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad2

      +
      +public void setPad2(short pPad2)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad2

      +
      +public short getPad2()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRequestID

      +
      +public void setRequestID(long pRequestID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestID

      +
      +public long getRequestID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(StartResumeReliablePdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/StopFreezePdu.html b/docs/edu/nps/moves/dis/StopFreezePdu.html new file mode 100644 index 00000000..71015c5b --- /dev/null +++ b/docs/edu/nps/moves/dis/StopFreezePdu.html @@ -0,0 +1,767 @@ + + + + + + +StopFreezePdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class StopFreezePdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SimulationManagementFamilyPdu
      +          extended by edu.nps.moves.dis.StopFreezePdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class StopFreezePdu
      extends SimulationManagementFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.2.3.4. Stop or freeze an exercise. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortfrozenBehavior + +
      +          Internal behavior of the simulation and its appearance while frozento the other participants
      +protected  shortpadding1 + +
      +          padding
      +protected  ClockTimerealWorldTime + +
      +          UTC time at which the simulation shall stop or freeze
      +protected  shortreason + +
      +          Reason the simulation was stopped or frozen
      +protected  longrequestID + +
      +          Request ID that is unique
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.SimulationManagementFamilyPdu
      originatingEntityID, receivingEntityID
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      StopFreezePdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(StopFreezePdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + shortgetFrozenBehavior() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + shortgetPadding1() + +
      +           
      + ClockTimegetRealWorldTime() + +
      +           
      + shortgetReason() + +
      +           
      + longgetRequestID() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetFrozenBehavior(short pFrozenBehavior) + +
      +           
      + voidsetPadding1(short pPadding1) + +
      +           
      + voidsetRealWorldTime(ClockTime pRealWorldTime) + +
      +           
      + voidsetReason(short pReason) + +
      +           
      + voidsetRequestID(long pRequestID) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.SimulationManagementFamilyPdu
      equals, getOriginatingEntityID, getReceivingEntityID, setOriginatingEntityID, setReceivingEntityID
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +realWorldTime

      +
      +protected ClockTime realWorldTime
      +
      +
      UTC time at which the simulation shall stop or freeze +

      +

      +
      +
      +
      + +

      +reason

      +
      +protected short reason
      +
      +
      Reason the simulation was stopped or frozen +

      +

      +
      +
      +
      + +

      +frozenBehavior

      +
      +protected short frozenBehavior
      +
      +
      Internal behavior of the simulation and its appearance while frozento the other participants +

      +

      +
      +
      +
      + +

      +padding1

      +
      +protected short padding1
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +requestID

      +
      +protected long requestID
      +
      +
      Request ID that is unique +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +StopFreezePdu

      +
      +public StopFreezePdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setRealWorldTime

      +
      +public void setRealWorldTime(ClockTime pRealWorldTime)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRealWorldTime

      +
      +public ClockTime getRealWorldTime()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setReason

      +
      +public void setReason(short pReason)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getReason

      +
      +public short getReason()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setFrozenBehavior

      +
      +public void setFrozenBehavior(short pFrozenBehavior)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFrozenBehavior

      +
      +public short getFrozenBehavior()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPadding1

      +
      +public void setPadding1(short pPadding1)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPadding1

      +
      +public short getPadding1()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRequestID

      +
      +public void setRequestID(long pRequestID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestID

      +
      +public long getRequestID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class SimulationManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class SimulationManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class SimulationManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(StopFreezePdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/StopFreezeReliablePdu.html b/docs/edu/nps/moves/dis/StopFreezeReliablePdu.html new file mode 100644 index 00000000..58af7575 --- /dev/null +++ b/docs/edu/nps/moves/dis/StopFreezeReliablePdu.html @@ -0,0 +1,831 @@ + + + + + + +StopFreezeReliablePdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class StopFreezeReliablePdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      +          extended by edu.nps.moves.dis.StopFreezeReliablePdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class StopFreezeReliablePdu
      extends SimulationManagementWithReliabilityFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.12.4: Stop freeze simulation, relaible. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortfrozenBehavior + +
      +          internal behvior of the simulation while frozen
      +protected  shortpad1 + +
      +          padding
      +protected  ClockTimerealWorldTime + +
      +          time in real world for this operation to happen
      +protected  shortreason + +
      +          Reason for stopping/freezing simulation
      +protected  longrequestID + +
      +          Request ID
      +protected  shortrequiredReliablityService + +
      +          reliablity level
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      originatingEntityID, receivingEntityID
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      StopFreezeReliablePdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(StopFreezeReliablePdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + shortgetFrozenBehavior() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + shortgetPad1() + +
      +           
      + ClockTimegetRealWorldTime() + +
      +           
      + shortgetReason() + +
      +           
      + longgetRequestID() + +
      +           
      + shortgetRequiredReliablityService() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetFrozenBehavior(short pFrozenBehavior) + +
      +           
      + voidsetPad1(short pPad1) + +
      +           
      + voidsetRealWorldTime(ClockTime pRealWorldTime) + +
      +           
      + voidsetReason(short pReason) + +
      +           
      + voidsetRequestID(long pRequestID) + +
      +           
      + voidsetRequiredReliablityService(short pRequiredReliablityService) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu
      equals, getOriginatingEntityID, getReceivingEntityID, setOriginatingEntityID, setReceivingEntityID
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +realWorldTime

      +
      +protected ClockTime realWorldTime
      +
      +
      time in real world for this operation to happen +

      +

      +
      +
      +
      + +

      +reason

      +
      +protected short reason
      +
      +
      Reason for stopping/freezing simulation +

      +

      +
      +
      +
      + +

      +frozenBehavior

      +
      +protected short frozenBehavior
      +
      +
      internal behvior of the simulation while frozen +

      +

      +
      +
      +
      + +

      +requiredReliablityService

      +
      +protected short requiredReliablityService
      +
      +
      reliablity level +

      +

      +
      +
      +
      + +

      +pad1

      +
      +protected short pad1
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +requestID

      +
      +protected long requestID
      +
      +
      Request ID +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +StopFreezeReliablePdu

      +
      +public StopFreezeReliablePdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setRealWorldTime

      +
      +public void setRealWorldTime(ClockTime pRealWorldTime)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRealWorldTime

      +
      +public ClockTime getRealWorldTime()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setReason

      +
      +public void setReason(short pReason)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getReason

      +
      +public short getReason()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setFrozenBehavior

      +
      +public void setFrozenBehavior(short pFrozenBehavior)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFrozenBehavior

      +
      +public short getFrozenBehavior()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRequiredReliablityService

      +
      +public void setRequiredReliablityService(short pRequiredReliablityService)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequiredReliablityService

      +
      +public short getRequiredReliablityService()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad1

      +
      +public void setPad1(short pPad1)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad1

      +
      +public short getPad1()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRequestID

      +
      +public void setRequestID(long pRequestID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestID

      +
      +public long getRequestID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class SimulationManagementWithReliabilityFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(StopFreezeReliablePdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/SupplyQuantity.html b/docs/edu/nps/moves/dis/SupplyQuantity.html new file mode 100644 index 00000000..c6818be8 --- /dev/null +++ b/docs/edu/nps/moves/dis/SupplyQuantity.html @@ -0,0 +1,537 @@ + + + + + + +SupplyQuantity + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class SupplyQuantity

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.SupplyQuantity
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class SupplyQuantity
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Section 5.2.30. A supply, and the amount of that supply. Similar to an entity kind but with the addition of a quantity. + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortquantity + +
      +          quantity to be supplied
      +protected  EntityTypesupplyType + +
      +          Type of supply
      +  + + + + + + + + + + +
      +Constructor Summary
      SupplyQuantity() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(SupplyQuantity rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + shortgetQuantity() + +
      +           
      + EntityTypegetSupplyType() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetQuantity(short pQuantity) + +
      +           
      + voidsetSupplyType(EntityType pSupplyType) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +supplyType

      +
      +protected EntityType supplyType
      +
      +
      Type of supply +

      +

      +
      +
      +
      + +

      +quantity

      +
      +protected short quantity
      +
      +
      quantity to be supplied +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +SupplyQuantity

      +
      +public SupplyQuantity()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSupplyType

      +
      +public void setSupplyType(EntityType pSupplyType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSupplyType

      +
      +public EntityType getSupplyType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setQuantity

      +
      +public void setQuantity(short pQuantity)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getQuantity

      +
      +public short getQuantity()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(SupplyQuantity rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/SyntheticEnvironmentFamilyPdu.html b/docs/edu/nps/moves/dis/SyntheticEnvironmentFamilyPdu.html new file mode 100644 index 00000000..ce28a5ce --- /dev/null +++ b/docs/edu/nps/moves/dis/SyntheticEnvironmentFamilyPdu.html @@ -0,0 +1,422 @@ + + + + + + +SyntheticEnvironmentFamilyPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class SyntheticEnvironmentFamilyPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.SyntheticEnvironmentFamilyPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      Direct Known Subclasses:
      ArealObjectStatePdu, EnvironmentalProcessPdu, GriddedDataPdu, LinearObjectStatePdu, PointObjectStatePdu
      +
      +
      +
      +
      public class SyntheticEnvironmentFamilyPdu
      extends Pdu
      implements java.io.Serializable
      + + +

      +Section 5.3.11: Abstract superclass for synthetic environment PDUs + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + +
      +Field Summary
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      SyntheticEnvironmentFamilyPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(SyntheticEnvironmentFamilyPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Constructor Detail
      + +

      +SyntheticEnvironmentFamilyPdu

      +
      +public SyntheticEnvironmentFamilyPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class Pdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class Pdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(SyntheticEnvironmentFamilyPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/SystemID.html b/docs/edu/nps/moves/dis/SystemID.html new file mode 100644 index 00000000..e4059f67 --- /dev/null +++ b/docs/edu/nps/moves/dis/SystemID.html @@ -0,0 +1,665 @@ + + + + + + +SystemID + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class SystemID

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.SystemID
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class SystemID
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +5.2.58. Used in IFF ATC PDU + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortchangeOptions + +
      +          Change Options
      +protected  shortsystemMode + +
      +          System mode
      +protected  intsystemName + +
      +          System name, an enumeration
      +protected  intsystemType + +
      +          System Type
      +  + + + + + + + + + + +
      +Constructor Summary
      SystemID() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(SystemID rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + shortgetChangeOptions() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + shortgetSystemMode() + +
      +           
      + intgetSystemName() + +
      +           
      + intgetSystemType() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetChangeOptions(short pChangeOptions) + +
      +           
      + voidsetSystemMode(short pSystemMode) + +
      +           
      + voidsetSystemName(int pSystemName) + +
      +           
      + voidsetSystemType(int pSystemType) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +systemType

      +
      +protected int systemType
      +
      +
      System Type +

      +

      +
      +
      +
      + +

      +systemName

      +
      +protected int systemName
      +
      +
      System name, an enumeration +

      +

      +
      +
      +
      + +

      +systemMode

      +
      +protected short systemMode
      +
      +
      System mode +

      +

      +
      +
      +
      + +

      +changeOptions

      +
      +protected short changeOptions
      +
      +
      Change Options +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +SystemID

      +
      +public SystemID()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSystemType

      +
      +public void setSystemType(int pSystemType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSystemType

      +
      +public int getSystemType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSystemName

      +
      +public void setSystemName(int pSystemName)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSystemName

      +
      +public int getSystemName()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setSystemMode

      +
      +public void setSystemMode(short pSystemMode)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getSystemMode

      +
      +public short getSystemMode()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setChangeOptions

      +
      +public void setChangeOptions(short pChangeOptions)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getChangeOptions

      +
      +public short getChangeOptions()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(SystemID rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/TrackJamTarget.html b/docs/edu/nps/moves/dis/TrackJamTarget.html new file mode 100644 index 00000000..da6f8e6e --- /dev/null +++ b/docs/edu/nps/moves/dis/TrackJamTarget.html @@ -0,0 +1,601 @@ + + + + + + +TrackJamTarget + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class TrackJamTarget

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.TrackJamTarget
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class TrackJamTarget
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +One track/jam target + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortbeamID + +
      +          beam ID
      +protected  shortemitterID + +
      +          Emitter ID
      +protected  EntityIDtrackJam + +
      +          track/jam target
      +  + + + + + + + + + + +
      +Constructor Summary
      TrackJamTarget() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(TrackJamTarget rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + shortgetBeamID() + +
      +           
      + shortgetEmitterID() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + EntityIDgetTrackJam() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetBeamID(short pBeamID) + +
      +           
      + voidsetEmitterID(short pEmitterID) + +
      +           
      + voidsetTrackJam(EntityID pTrackJam) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +trackJam

      +
      +protected EntityID trackJam
      +
      +
      track/jam target +

      +

      +
      +
      +
      + +

      +emitterID

      +
      +protected short emitterID
      +
      +
      Emitter ID +

      +

      +
      +
      +
      + +

      +beamID

      +
      +protected short beamID
      +
      +
      beam ID +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +TrackJamTarget

      +
      +public TrackJamTarget()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setTrackJam

      +
      +public void setTrackJam(EntityID pTrackJam)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getTrackJam

      +
      +public EntityID getTrackJam()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEmitterID

      +
      +public void setEmitterID(short pEmitterID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEmitterID

      +
      +public short getEmitterID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setBeamID

      +
      +public void setBeamID(short pBeamID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getBeamID

      +
      +public short getBeamID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(TrackJamTarget rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/TransferControlRequestPdu.html b/docs/edu/nps/moves/dis/TransferControlRequestPdu.html new file mode 100644 index 00000000..35c05e4f --- /dev/null +++ b/docs/edu/nps/moves/dis/TransferControlRequestPdu.html @@ -0,0 +1,952 @@ + + + + + + +TransferControlRequestPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class TransferControlRequestPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.EntityManagementFamilyPdu
      +          extended by edu.nps.moves.dis.TransferControlRequestPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class TransferControlRequestPdu
      extends EntityManagementFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.9.3 Information initiating the dyanic allocation and control of simulation entities between two simulation applications. Requires manual cleanup. The padding between record sets is variable. UNFINISHED + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  shortnumberOfRecordSets + +
      +          number of record sets to transfer
      +protected  EntityIDorginatingEntityID + +
      +          ID of entity originating request
      +protected  EntityIDrecevingEntityID + +
      +          ID of entity receiving request
      +protected  java.util.List<RecordSet>recordSets + +
      +           
      +protected  longrequestID + +
      +          ID ofrequest
      +protected  shortrequiredReliabilityService + +
      +          required level of reliabliity service.
      +protected  shorttranferType + +
      +          type of transfer desired
      +protected  EntityIDtransferEntityID + +
      +          The entity for which control is being requested to transfer
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      TransferControlRequestPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(TransferControlRequestPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + shortgetNumberOfRecordSets() + +
      +           
      + EntityIDgetOrginatingEntityID() + +
      +           
      + EntityIDgetRecevingEntityID() + +
      +           
      + java.util.List<RecordSet>getRecordSets() + +
      +           
      + longgetRequestID() + +
      +           
      + shortgetRequiredReliabilityService() + +
      +           
      + shortgetTranferType() + +
      +           
      + EntityIDgetTransferEntityID() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetNumberOfRecordSets(short pNumberOfRecordSets) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetOrginatingEntityID(EntityID pOrginatingEntityID) + +
      +           
      + voidsetRecevingEntityID(EntityID pRecevingEntityID) + +
      +           
      + voidsetRecordSets(java.util.List<RecordSet> pRecordSets) + +
      +           
      + voidsetRequestID(long pRequestID) + +
      +           
      + voidsetRequiredReliabilityService(short pRequiredReliabilityService) + +
      +           
      + voidsetTranferType(short pTranferType) + +
      +           
      + voidsetTransferEntityID(EntityID pTransferEntityID) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.EntityManagementFamilyPdu
      equals
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +orginatingEntityID

      +
      +protected EntityID orginatingEntityID
      +
      +
      ID of entity originating request +

      +

      +
      +
      +
      + +

      +recevingEntityID

      +
      +protected EntityID recevingEntityID
      +
      +
      ID of entity receiving request +

      +

      +
      +
      +
      + +

      +requestID

      +
      +protected long requestID
      +
      +
      ID ofrequest +

      +

      +
      +
      +
      + +

      +requiredReliabilityService

      +
      +protected short requiredReliabilityService
      +
      +
      required level of reliabliity service. +

      +

      +
      +
      +
      + +

      +tranferType

      +
      +protected short tranferType
      +
      +
      type of transfer desired +

      +

      +
      +
      +
      + +

      +transferEntityID

      +
      +protected EntityID transferEntityID
      +
      +
      The entity for which control is being requested to transfer +

      +

      +
      +
      +
      + +

      +numberOfRecordSets

      +
      +protected short numberOfRecordSets
      +
      +
      number of record sets to transfer +

      +

      +
      +
      +
      + +

      +recordSets

      +
      +protected java.util.List<RecordSet> recordSets
      +
      +
      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +TransferControlRequestPdu

      +
      +public TransferControlRequestPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class EntityManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setOrginatingEntityID

      +
      +public void setOrginatingEntityID(EntityID pOrginatingEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getOrginatingEntityID

      +
      +public EntityID getOrginatingEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRecevingEntityID

      +
      +public void setRecevingEntityID(EntityID pRecevingEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRecevingEntityID

      +
      +public EntityID getRecevingEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRequestID

      +
      +public void setRequestID(long pRequestID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequestID

      +
      +public long getRequestID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRequiredReliabilityService

      +
      +public void setRequiredReliabilityService(short pRequiredReliabilityService)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRequiredReliabilityService

      +
      +public short getRequiredReliabilityService()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setTranferType

      +
      +public void setTranferType(short pTranferType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getTranferType

      +
      +public short getTranferType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setTransferEntityID

      +
      +public void setTransferEntityID(EntityID pTransferEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getTransferEntityID

      +
      +public EntityID getTransferEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfRecordSets

      +
      +public short getNumberOfRecordSets()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfRecordSets

      +
      +public void setNumberOfRecordSets(short pNumberOfRecordSets)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfRecordSets method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setRecordSets

      +
      +public void setRecordSets(java.util.List<RecordSet> pRecordSets)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRecordSets

      +
      +public java.util.List<RecordSet> getRecordSets()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class EntityManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class EntityManagementFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class EntityManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class EntityManagementFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(TransferControlRequestPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/TransmitterPdu.html b/docs/edu/nps/moves/dis/TransmitterPdu.html new file mode 100644 index 00000000..3b050de5 --- /dev/null +++ b/docs/edu/nps/moves/dis/TransmitterPdu.html @@ -0,0 +1,1671 @@ + + + + + + +TransmitterPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class TransmitterPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.RadioCommunicationsFamilyPdu
      +          extended by edu.nps.moves.dis.TransmitterPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class TransmitterPdu
      extends RadioCommunicationsFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.8.1. Detailed information about a radio transmitter. This PDU requires manually written code to complete, since the modulation parameters are of variable length. UNFINISHED + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  Vector3DoubleantennaLocation + +
      +          Location of antenna
      +protected  intantennaPatternCount + +
      +          atenna pattern length
      +protected  java.util.List<Vector3Float>antennaPatternList + +
      +          variable length list of antenna pattern records
      +protected  intantennaPatternType + +
      +          antenna pattern type
      +protected  intcryptoKeyId + +
      +          crypto system key identifer
      +protected  intcryptoSystem + +
      +          crypto system enumeration
      +protected  doublefrequency + +
      +          frequency
      +protected  shortinputSource + +
      +          input source
      +protected  shortmodulationParameterCount + +
      +          how many modulation parameters we have
      +protected  java.util.List<Vector3Float>modulationParametersList + +
      +          variable length list of modulation parameters
      +protected  ModulationTypemodulationType + +
      +          modulation
      +protected  intpadding1 + +
      +          padding
      +protected  intpadding2 + +
      +          padding2
      +protected  shortpadding3 + +
      +          padding3
      +protected  floatpower + +
      +          transmission power
      +protected  RadioEntityTyperadioEntityType + +
      +          linear accelleration of entity
      +protected  Vector3FloatrelativeAntennaLocation + +
      +          relative location of antenna
      +protected  floattransmitFrequencyBandwidth + +
      +          transmit frequency Bandwidth
      +protected  shorttransmitState + +
      +          transmit state
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.RadioCommunicationsFamilyPdu
      entityId, radioId
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      TransmitterPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(TransmitterPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + Vector3DoublegetAntennaLocation() + +
      +           
      + intgetAntennaPatternCount() + +
      +           
      + java.util.List<Vector3Float>getAntennaPatternList() + +
      +           
      + intgetAntennaPatternType() + +
      +           
      + intgetCryptoKeyId() + +
      +           
      + intgetCryptoSystem() + +
      +           
      + doublegetFrequency() + +
      +           
      + shortgetInputSource() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + shortgetModulationParameterCount() + +
      +           
      + java.util.List<Vector3Float>getModulationParametersList() + +
      +           
      + ModulationTypegetModulationType() + +
      +           
      + intgetPadding1() + +
      +           
      + intgetPadding2() + +
      +           
      + shortgetPadding3() + +
      +           
      + floatgetPower() + +
      +           
      + RadioEntityTypegetRadioEntityType() + +
      +           
      + Vector3FloatgetRelativeAntennaLocation() + +
      +           
      + floatgetTransmitFrequencyBandwidth() + +
      +           
      + shortgetTransmitState() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetAntennaLocation(Vector3Double pAntennaLocation) + +
      +           
      + voidsetAntennaPatternCount(int pAntennaPatternCount) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetAntennaPatternList(java.util.List<Vector3Float> pAntennaPatternList) + +
      +           
      + voidsetAntennaPatternType(int pAntennaPatternType) + +
      +           
      + voidsetCryptoKeyId(int pCryptoKeyId) + +
      +           
      + voidsetCryptoSystem(int pCryptoSystem) + +
      +           
      + voidsetFrequency(double pFrequency) + +
      +           
      + voidsetInputSource(short pInputSource) + +
      +           
      + voidsetModulationParameterCount(short pModulationParameterCount) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetModulationParametersList(java.util.List<Vector3Float> pModulationParametersList) + +
      +           
      + voidsetModulationType(ModulationType pModulationType) + +
      +           
      + voidsetPadding1(int pPadding1) + +
      +           
      + voidsetPadding2(int pPadding2) + +
      +           
      + voidsetPadding3(short pPadding3) + +
      +           
      + voidsetPower(float pPower) + +
      +           
      + voidsetRadioEntityType(RadioEntityType pRadioEntityType) + +
      +           
      + voidsetRelativeAntennaLocation(Vector3Float pRelativeAntennaLocation) + +
      +           
      + voidsetTransmitFrequencyBandwidth(float pTransmitFrequencyBandwidth) + +
      +           
      + voidsetTransmitState(short pTransmitState) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.RadioCommunicationsFamilyPdu
      equals, getEntityId, getRadioId, setEntityId, setRadioId
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +radioEntityType

      +
      +protected RadioEntityType radioEntityType
      +
      +
      linear accelleration of entity +

      +

      +
      +
      +
      + +

      +transmitState

      +
      +protected short transmitState
      +
      +
      transmit state +

      +

      +
      +
      +
      + +

      +inputSource

      +
      +protected short inputSource
      +
      +
      input source +

      +

      +
      +
      +
      + +

      +padding1

      +
      +protected int padding1
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +antennaLocation

      +
      +protected Vector3Double antennaLocation
      +
      +
      Location of antenna +

      +

      +
      +
      +
      + +

      +relativeAntennaLocation

      +
      +protected Vector3Float relativeAntennaLocation
      +
      +
      relative location of antenna +

      +

      +
      +
      +
      + +

      +antennaPatternType

      +
      +protected int antennaPatternType
      +
      +
      antenna pattern type +

      +

      +
      +
      +
      + +

      +antennaPatternCount

      +
      +protected int antennaPatternCount
      +
      +
      atenna pattern length +

      +

      +
      +
      +
      + +

      +frequency

      +
      +protected double frequency
      +
      +
      frequency +

      +

      +
      +
      +
      + +

      +transmitFrequencyBandwidth

      +
      +protected float transmitFrequencyBandwidth
      +
      +
      transmit frequency Bandwidth +

      +

      +
      +
      +
      + +

      +power

      +
      +protected float power
      +
      +
      transmission power +

      +

      +
      +
      +
      + +

      +modulationType

      +
      +protected ModulationType modulationType
      +
      +
      modulation +

      +

      +
      +
      +
      + +

      +cryptoSystem

      +
      +protected int cryptoSystem
      +
      +
      crypto system enumeration +

      +

      +
      +
      +
      + +

      +cryptoKeyId

      +
      +protected int cryptoKeyId
      +
      +
      crypto system key identifer +

      +

      +
      +
      +
      + +

      +modulationParameterCount

      +
      +protected short modulationParameterCount
      +
      +
      how many modulation parameters we have +

      +

      +
      +
      +
      + +

      +padding2

      +
      +protected int padding2
      +
      +
      padding2 +

      +

      +
      +
      +
      + +

      +padding3

      +
      +protected short padding3
      +
      +
      padding3 +

      +

      +
      +
      +
      + +

      +modulationParametersList

      +
      +protected java.util.List<Vector3Float> modulationParametersList
      +
      +
      variable length list of modulation parameters +

      +

      +
      +
      +
      + +

      +antennaPatternList

      +
      +protected java.util.List<Vector3Float> antennaPatternList
      +
      +
      variable length list of antenna pattern records +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +TransmitterPdu

      +
      +public TransmitterPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class RadioCommunicationsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setRadioEntityType

      +
      +public void setRadioEntityType(RadioEntityType pRadioEntityType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRadioEntityType

      +
      +public RadioEntityType getRadioEntityType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setTransmitState

      +
      +public void setTransmitState(short pTransmitState)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getTransmitState

      +
      +public short getTransmitState()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setInputSource

      +
      +public void setInputSource(short pInputSource)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getInputSource

      +
      +public short getInputSource()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPadding1

      +
      +public void setPadding1(int pPadding1)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPadding1

      +
      +public int getPadding1()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setAntennaLocation

      +
      +public void setAntennaLocation(Vector3Double pAntennaLocation)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAntennaLocation

      +
      +public Vector3Double getAntennaLocation()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setRelativeAntennaLocation

      +
      +public void setRelativeAntennaLocation(Vector3Float pRelativeAntennaLocation)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getRelativeAntennaLocation

      +
      +public Vector3Float getRelativeAntennaLocation()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setAntennaPatternType

      +
      +public void setAntennaPatternType(int pAntennaPatternType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAntennaPatternType

      +
      +public int getAntennaPatternType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAntennaPatternCount

      +
      +public int getAntennaPatternCount()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setAntennaPatternCount

      +
      +public void setAntennaPatternCount(int pAntennaPatternCount)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getantennaPatternCount method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setFrequency

      +
      +public void setFrequency(double pFrequency)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFrequency

      +
      +public double getFrequency()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setTransmitFrequencyBandwidth

      +
      +public void setTransmitFrequencyBandwidth(float pTransmitFrequencyBandwidth)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getTransmitFrequencyBandwidth

      +
      +public float getTransmitFrequencyBandwidth()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPower

      +
      +public void setPower(float pPower)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPower

      +
      +public float getPower()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setModulationType

      +
      +public void setModulationType(ModulationType pModulationType)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getModulationType

      +
      +public ModulationType getModulationType()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCryptoSystem

      +
      +public void setCryptoSystem(int pCryptoSystem)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCryptoSystem

      +
      +public int getCryptoSystem()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setCryptoKeyId

      +
      +public void setCryptoKeyId(int pCryptoKeyId)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getCryptoKeyId

      +
      +public int getCryptoKeyId()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getModulationParameterCount

      +
      +public short getModulationParameterCount()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setModulationParameterCount

      +
      +public void setModulationParameterCount(short pModulationParameterCount)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getmodulationParameterCount method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setPadding2

      +
      +public void setPadding2(int pPadding2)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPadding2

      +
      +public int getPadding2()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPadding3

      +
      +public void setPadding3(short pPadding3)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPadding3

      +
      +public short getPadding3()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setModulationParametersList

      +
      +public void setModulationParametersList(java.util.List<Vector3Float> pModulationParametersList)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getModulationParametersList

      +
      +public java.util.List<Vector3Float> getModulationParametersList()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setAntennaPatternList

      +
      +public void setAntennaPatternList(java.util.List<Vector3Float> pAntennaPatternList)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getAntennaPatternList

      +
      +public java.util.List<Vector3Float> getAntennaPatternList()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class RadioCommunicationsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class RadioCommunicationsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class RadioCommunicationsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class RadioCommunicationsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(TransmitterPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/TwoByteChunk.html b/docs/edu/nps/moves/dis/TwoByteChunk.html new file mode 100644 index 00000000..57d314cd --- /dev/null +++ b/docs/edu/nps/moves/dis/TwoByteChunk.html @@ -0,0 +1,473 @@ + + + + + + +TwoByteChunk + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class TwoByteChunk

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.TwoByteChunk
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class TwoByteChunk
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +16 bit piece of data + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + +
      +Field Summary
      +protected  byte[]otherParameters + +
      +          two bytes of arbitrary data
      +  + + + + + + + + + + +
      +Constructor Summary
      TwoByteChunk() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(TwoByteChunk rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + byte[]getOtherParameters() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetOtherParameters(byte[] pOtherParameters) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +otherParameters

      +
      +protected byte[] otherParameters
      +
      +
      two bytes of arbitrary data +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +TwoByteChunk

      +
      +public TwoByteChunk()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setOtherParameters

      +
      +public void setOtherParameters(byte[] pOtherParameters)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getOtherParameters

      +
      +public byte[] getOtherParameters()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(TwoByteChunk rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/UaPdu.html b/docs/edu/nps/moves/dis/UaPdu.html new file mode 100644 index 00000000..b78cd90c --- /dev/null +++ b/docs/edu/nps/moves/dis/UaPdu.html @@ -0,0 +1,1216 @@ + + + + + + +UaPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class UaPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.DistributedEmissionsFamilyPdu
      +          extended by edu.nps.moves.dis.UaPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class UaPdu
      extends DistributedEmissionsFamilyPdu
      implements java.io.Serializable
      + + +

      +Section 5.3.7.3. Information about underwater acoustic emmissions. This requires manual cleanup. The beam data records should ALL be a the finish, rather than attached to each emitter system. UNFINISHED + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  java.util.List<ApaData>apaData + +
      +          apaData
      +protected  java.util.List<AcousticEmitterSystemData>emitterSystems + +
      +           
      +protected  EntityIDemittingEntityID + +
      +          ID of the entity that is the source of the emission
      +protected  EventIDeventID + +
      +          ID of event
      +protected  shortnumberOfAPAs + +
      +          This field shall indicate the number of APAs described in the current UA PDU
      +protected  shortnumberOfShafts + +
      +          This field shall represent the number of shafts on a platform
      +protected  shortnumberOfUAEmitterSystems + +
      +          This field shall specify the number of UA emitter systems being described in the current UA PDU
      +protected  bytepad + +
      +          padding
      +protected  intpassiveParameterIndex + +
      +          This field indicates which database record (or file) shall be used in the definition of passive signature (unintentional) emissions of the entity.
      +protected  shortpropulsionPlantConfiguration + +
      +          This field shall specify the entity propulsion plant configuration.
      +protected  java.util.List<ShaftRPMs>shaftRPMs + +
      +          shaft RPM values
      +protected  bytestateChangeIndicator + +
      +          This field shall be used to indicate whether the data in the UA PDU represent a state update or data that have changed since issuance of the last UA PDU
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      UaPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(UaPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + java.util.List<ApaData>getApaData() + +
      +           
      + java.util.List<AcousticEmitterSystemData>getEmitterSystems() + +
      +           
      + EntityIDgetEmittingEntityID() + +
      +           
      + EventIDgetEventID() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + shortgetNumberOfAPAs() + +
      +           
      + shortgetNumberOfShafts() + +
      +           
      + shortgetNumberOfUAEmitterSystems() + +
      +           
      + bytegetPad() + +
      +           
      + intgetPassiveParameterIndex() + +
      +           
      + shortgetPropulsionPlantConfiguration() + +
      +           
      + java.util.List<ShaftRPMs>getShaftRPMs() + +
      +           
      + bytegetStateChangeIndicator() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetApaData(java.util.List<ApaData> pApaData) + +
      +           
      + voidsetEmitterSystems(java.util.List<AcousticEmitterSystemData> pEmitterSystems) + +
      +           
      + voidsetEmittingEntityID(EntityID pEmittingEntityID) + +
      +           
      + voidsetEventID(EventID pEventID) + +
      +           
      + voidsetNumberOfAPAs(short pNumberOfAPAs) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetNumberOfShafts(short pNumberOfShafts) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetNumberOfUAEmitterSystems(short pNumberOfUAEmitterSystems) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetPad(byte pPad) + +
      +           
      + voidsetPassiveParameterIndex(int pPassiveParameterIndex) + +
      +           
      + voidsetPropulsionPlantConfiguration(short pPropulsionPlantConfiguration) + +
      +           
      + voidsetShaftRPMs(java.util.List<ShaftRPMs> pShaftRPMs) + +
      +           
      + voidsetStateChangeIndicator(byte pStateChangeIndicator) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.DistributedEmissionsFamilyPdu
      equals
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +emittingEntityID

      +
      +protected EntityID emittingEntityID
      +
      +
      ID of the entity that is the source of the emission +

      +

      +
      +
      +
      + +

      +eventID

      +
      +protected EventID eventID
      +
      +
      ID of event +

      +

      +
      +
      +
      + +

      +stateChangeIndicator

      +
      +protected byte stateChangeIndicator
      +
      +
      This field shall be used to indicate whether the data in the UA PDU represent a state update or data that have changed since issuance of the last UA PDU +

      +

      +
      +
      +
      + +

      +pad

      +
      +protected byte pad
      +
      +
      padding +

      +

      +
      +
      +
      + +

      +passiveParameterIndex

      +
      +protected int passiveParameterIndex
      +
      +
      This field indicates which database record (or file) shall be used in the definition of passive signature (unintentional) emissions of the entity. The indicated database record (or file) shall define all noise generated as a function of propulsion plant configurations and associated auxiliaries. +

      +

      +
      +
      +
      + +

      +propulsionPlantConfiguration

      +
      +protected short propulsionPlantConfiguration
      +
      +
      This field shall specify the entity propulsion plant configuration. This field is used to determine the passive signature characteristics of an entity. +

      +

      +
      +
      +
      + +

      +numberOfShafts

      +
      +protected short numberOfShafts
      +
      +
      This field shall represent the number of shafts on a platform +

      +

      +
      +
      +
      + +

      +numberOfAPAs

      +
      +protected short numberOfAPAs
      +
      +
      This field shall indicate the number of APAs described in the current UA PDU +

      +

      +
      +
      +
      + +

      +numberOfUAEmitterSystems

      +
      +protected short numberOfUAEmitterSystems
      +
      +
      This field shall specify the number of UA emitter systems being described in the current UA PDU +

      +

      +
      +
      +
      + +

      +shaftRPMs

      +
      +protected java.util.List<ShaftRPMs> shaftRPMs
      +
      +
      shaft RPM values +

      +

      +
      +
      +
      + +

      +apaData

      +
      +protected java.util.List<ApaData> apaData
      +
      +
      apaData +

      +

      +
      +
      +
      + +

      +emitterSystems

      +
      +protected java.util.List<AcousticEmitterSystemData> emitterSystems
      +
      +
      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +UaPdu

      +
      +public UaPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class DistributedEmissionsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +setEmittingEntityID

      +
      +public void setEmittingEntityID(EntityID pEmittingEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEmittingEntityID

      +
      +public EntityID getEmittingEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEventID

      +
      +public void setEventID(EventID pEventID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEventID

      +
      +public EventID getEventID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setStateChangeIndicator

      +
      +public void setStateChangeIndicator(byte pStateChangeIndicator)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getStateChangeIndicator

      +
      +public byte getStateChangeIndicator()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPad

      +
      +public void setPad(byte pPad)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPad

      +
      +public byte getPad()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPassiveParameterIndex

      +
      +public void setPassiveParameterIndex(int pPassiveParameterIndex)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPassiveParameterIndex

      +
      +public int getPassiveParameterIndex()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setPropulsionPlantConfiguration

      +
      +public void setPropulsionPlantConfiguration(short pPropulsionPlantConfiguration)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getPropulsionPlantConfiguration

      +
      +public short getPropulsionPlantConfiguration()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfShafts

      +
      +public short getNumberOfShafts()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfShafts

      +
      +public void setNumberOfShafts(short pNumberOfShafts)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfShafts method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfAPAs

      +
      +public short getNumberOfAPAs()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfAPAs

      +
      +public void setNumberOfAPAs(short pNumberOfAPAs)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfAPAs method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +getNumberOfUAEmitterSystems

      +
      +public short getNumberOfUAEmitterSystems()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setNumberOfUAEmitterSystems

      +
      +public void setNumberOfUAEmitterSystems(short pNumberOfUAEmitterSystems)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getnumberOfUAEmitterSystems method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setShaftRPMs

      +
      +public void setShaftRPMs(java.util.List<ShaftRPMs> pShaftRPMs)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getShaftRPMs

      +
      +public java.util.List<ShaftRPMs> getShaftRPMs()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setApaData

      +
      +public void setApaData(java.util.List<ApaData> pApaData)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getApaData

      +
      +public java.util.List<ApaData> getApaData()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setEmitterSystems

      +
      +public void setEmitterSystems(java.util.List<AcousticEmitterSystemData> pEmitterSystems)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getEmitterSystems

      +
      +public java.util.List<AcousticEmitterSystemData> getEmitterSystems()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class DistributedEmissionsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class DistributedEmissionsFamilyPdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class DistributedEmissionsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class DistributedEmissionsFamilyPdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(UaPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/VariableDatum.html b/docs/edu/nps/moves/dis/VariableDatum.html new file mode 100644 index 00000000..1592827b --- /dev/null +++ b/docs/edu/nps/moves/dis/VariableDatum.html @@ -0,0 +1,608 @@ + + + + + + +VariableDatum + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class VariableDatum

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.VariableDatum
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class VariableDatum
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Section 5.2.32. Variable Datum Record + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html + + post-generation patches have been applied to this file from the patches directory. See that directory + for details. +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  longvariableDatumID + +
      +          ID of the variable datum
      +protected  longvariableDatumLength + +
      +          length of the variable datums
      +protected  java.util.List<EightByteChunk>variableDatums + +
      +          variable length list of 64-bit datums
      +  + + + + + + + + + + +
      +Constructor Summary
      VariableDatum() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(VariableDatum rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + longgetVariableDatumID() + +
      +           
      + longgetVariableDatumLength() + +
      +           
      + java.util.List<EightByteChunk>getVariableDatums() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetVariableDatumID(long pVariableDatumID) + +
      +           
      + voidsetVariableDatumLength(long pVariableDatumLength) + +
      +          Note that setting this value will not change the marshalled value.
      + voidsetVariableDatums(java.util.List<EightByteChunk> pVariableDatums) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +variableDatumID

      +
      +protected long variableDatumID
      +
      +
      ID of the variable datum +

      +

      +
      +
      +
      + +

      +variableDatumLength

      +
      +protected long variableDatumLength
      +
      +
      length of the variable datums +

      +

      +
      +
      +
      + +

      +variableDatums

      +
      +protected java.util.List<EightByteChunk> variableDatums
      +
      +
      variable length list of 64-bit datums +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +VariableDatum

      +
      +public VariableDatum()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setVariableDatumID

      +
      +public void setVariableDatumID(long pVariableDatumID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getVariableDatumID

      +
      +public long getVariableDatumID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getVariableDatumLength

      +
      +public long getVariableDatumLength()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setVariableDatumLength

      +
      +public void setVariableDatumLength(long pVariableDatumLength)
      +
      +
      Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. + The getvariableDatumLength method will also be based on the actual list length rather than this value. + The method is simply here for java bean completeness. +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +setVariableDatums

      +
      +public void setVariableDatums(java.util.List<EightByteChunk> pVariableDatums)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getVariableDatums

      +
      +public java.util.List<EightByteChunk> getVariableDatums()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(VariableDatum rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/Vector3Double.html b/docs/edu/nps/moves/dis/Vector3Double.html new file mode 100644 index 00000000..71fe5df5 --- /dev/null +++ b/docs/edu/nps/moves/dis/Vector3Double.html @@ -0,0 +1,601 @@ + + + + + + +Vector3Double + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class Vector3Double

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Vector3Double
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class Vector3Double
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Section 5.3.34. Three double precision floating point values, x, y, and z + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  doublex + +
      +          X value
      +protected  doubley + +
      +          Y value
      +protected  doublez + +
      +          Z value
      +  + + + + + + + + + + +
      +Constructor Summary
      Vector3Double() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(Vector3Double rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + doublegetX() + +
      +           
      + doublegetY() + +
      +           
      + doublegetZ() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetX(double pX) + +
      +           
      + voidsetY(double pY) + +
      +           
      + voidsetZ(double pZ) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +x

      +
      +protected double x
      +
      +
      X value +

      +

      +
      +
      +
      + +

      +y

      +
      +protected double y
      +
      +
      Y value +

      +

      +
      +
      +
      + +

      +z

      +
      +protected double z
      +
      +
      Z value +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +Vector3Double

      +
      +public Vector3Double()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setX

      +
      +public void setX(double pX)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getX

      +
      +public double getX()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setY

      +
      +public void setY(double pY)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getY

      +
      +public double getY()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setZ

      +
      +public void setZ(double pZ)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getZ

      +
      +public double getZ()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(Vector3Double rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/Vector3Float.html b/docs/edu/nps/moves/dis/Vector3Float.html new file mode 100644 index 00000000..c650df02 --- /dev/null +++ b/docs/edu/nps/moves/dis/Vector3Float.html @@ -0,0 +1,601 @@ + + + + + + +Vector3Float + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class Vector3Float

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Vector3Float
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class Vector3Float
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Section 5.2.33. Three floating point values, x, y, and z + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  floatx + +
      +          X value
      +protected  floaty + +
      +          y Value
      +protected  floatz + +
      +          Z value
      +  + + + + + + + + + + +
      +Constructor Summary
      Vector3Float() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(Vector3Float rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + intgetMarshalledSize() + +
      +           
      + floatgetX() + +
      +           
      + floatgetY() + +
      +           
      + floatgetZ() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetX(float pX) + +
      +           
      + voidsetY(float pY) + +
      +           
      + voidsetZ(float pZ) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +x

      +
      +protected float x
      +
      +
      X value +

      +

      +
      +
      +
      + +

      +y

      +
      +protected float y
      +
      +
      y Value +

      +

      +
      +
      +
      + +

      +z

      +
      +protected float z
      +
      +
      Z value +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +Vector3Float

      +
      +public Vector3Float()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setX

      +
      +public void setX(float pX)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getX

      +
      +public float getX()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setY

      +
      +public void setY(float pY)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getY

      +
      +public float getY()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setZ

      +
      +public void setZ(float pZ)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getZ

      +
      +public float getZ()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(Vector3Float rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/VectoringNozzleSystemData.html b/docs/edu/nps/moves/dis/VectoringNozzleSystemData.html new file mode 100644 index 00000000..a237e9a7 --- /dev/null +++ b/docs/edu/nps/moves/dis/VectoringNozzleSystemData.html @@ -0,0 +1,537 @@ + + + + + + +VectoringNozzleSystemData + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class VectoringNozzleSystemData

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.VectoringNozzleSystemData
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      +
      public class VectoringNozzleSystemData
      extends java.lang.Object
      implements java.io.Serializable
      + + +

      +Data about a vectoring nozzle system + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  floathorizontalDeflectionAngle + +
      +          horizontal deflection angle
      +protected  floatverticalDeflectionAngle + +
      +          vertical deflection angle
      +  + + + + + + + + + + +
      +Constructor Summary
      VectoringNozzleSystemData() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(VectoringNozzleSystemData rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + floatgetHorizontalDeflectionAngle() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + floatgetVerticalDeflectionAngle() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetHorizontalDeflectionAngle(float pHorizontalDeflectionAngle) + +
      +           
      + voidsetVerticalDeflectionAngle(float pVerticalDeflectionAngle) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +horizontalDeflectionAngle

      +
      +protected float horizontalDeflectionAngle
      +
      +
      horizontal deflection angle +

      +

      +
      +
      +
      + +

      +verticalDeflectionAngle

      +
      +protected float verticalDeflectionAngle
      +
      +
      vertical deflection angle +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +VectoringNozzleSystemData

      +
      +public VectoringNozzleSystemData()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setHorizontalDeflectionAngle

      +
      +public void setHorizontalDeflectionAngle(float pHorizontalDeflectionAngle)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getHorizontalDeflectionAngle

      +
      +public float getHorizontalDeflectionAngle()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setVerticalDeflectionAngle

      +
      +public void setVerticalDeflectionAngle(float pVerticalDeflectionAngle)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getVerticalDeflectionAngle

      +
      +public float getVerticalDeflectionAngle()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(VectoringNozzleSystemData rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/WarfareFamilyPdu.html b/docs/edu/nps/moves/dis/WarfareFamilyPdu.html new file mode 100644 index 00000000..bf61e4e0 --- /dev/null +++ b/docs/edu/nps/moves/dis/WarfareFamilyPdu.html @@ -0,0 +1,559 @@ + + + + + + +WarfareFamilyPdu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.dis +
      +Class WarfareFamilyPdu

      +
      +java.lang.Object
      +  extended by edu.nps.moves.dis.Pdu
      +      extended by edu.nps.moves.dis.WarfareFamilyPdu
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      Direct Known Subclasses:
      DetonationPdu, FirePdu
      +
      +
      +
      +
      public class WarfareFamilyPdu
      extends Pdu
      implements java.io.Serializable
      + + +

      +Section 5.3.4. abstract superclass for fire and detonation pdus that have shared information. COMPLETE + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School. All rights reserved. + This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + + + + + + + + + +
      +Field Summary
      +protected  EntityIDfiringEntityID + +
      +          ID of the entity that shot
      +protected  EntityIDtargetEntityID + +
      +          ID of the entity that is being shot at
      + + + + + + + +
      Fields inherited from class edu.nps.moves.dis.Pdu
      ABSOLUTE_TIMESTAMP_MASK, exerciseID, length, padding, pduType, protocolFamily, protocolVersion, RELATIVE_TIMESTAMP_MASK, timestamp
      +  + + + + + + + + + + +
      +Constructor Summary
      WarfareFamilyPdu() + +
      +          Constructor
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanequals(WarfareFamilyPdu rhs) + +
      +          The equals method doesn't always work--mostly it works only on classes that consist only of primitives.
      + EntityIDgetFiringEntityID() + +
      +           
      + intgetMarshalledSize() + +
      +           
      + EntityIDgetTargetEntityID() + +
      +           
      + voidmarshal(java.nio.ByteBuffer buff) + +
      +          Packs a Pdu into the ByteBuffer.
      + voidmarshal(java.io.DataOutputStream dos) + +
      +           
      + voidsetFiringEntityID(EntityID pFiringEntityID) + +
      +           
      + voidsetTargetEntityID(EntityID pTargetEntityID) + +
      +           
      + voidunmarshal(java.nio.ByteBuffer buff) + +
      +          Unpacks a Pdu from the underlying data.
      + voidunmarshal(java.io.DataInputStream dis) + +
      +           
      + + + + + + + +
      Methods inherited from class edu.nps.moves.dis.Pdu
      equals, getExerciseID, getLength, getPadding, getPduType, getPduTypeEnum, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, setExerciseID, setLength, setPadding, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +firingEntityID

      +
      +protected EntityID firingEntityID
      +
      +
      ID of the entity that shot +

      +

      +
      +
      +
      + +

      +targetEntityID

      +
      +protected EntityID targetEntityID
      +
      +
      ID of the entity that is being shot at +

      +

      +
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +WarfareFamilyPdu

      +
      +public WarfareFamilyPdu()
      +
      +
      Constructor +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getMarshalledSize

      +
      +public int getMarshalledSize()
      +
      +
      +
      Overrides:
      getMarshalledSize in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +setFiringEntityID

      +
      +public void setFiringEntityID(EntityID pFiringEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getFiringEntityID

      +
      +public EntityID getFiringEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +setTargetEntityID

      +
      +public void setTargetEntityID(EntityID pTargetEntityID)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +getTargetEntityID

      +
      +public EntityID getTargetEntityID()
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.io.DataOutputStream dos)
      +
      +
      +
      Overrides:
      marshal in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.io.DataInputStream dis)
      +
      +
      +
      Overrides:
      unmarshal in class Pdu
      +
      +
      +
      +
      +
      +
      + +

      +marshal

      +
      +public void marshal(java.nio.ByteBuffer buff)
      +
      +
      Packs a Pdu into the ByteBuffer. +

      +

      +
      Overrides:
      marshal in class Pdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin writing +
      Throws: +
      java.nio.BufferOverflowException - if buff is too small +
      java.nio.ReadOnlyBufferException - if buff is read only
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +unmarshal

      +
      +public void unmarshal(java.nio.ByteBuffer buff)
      +
      +
      Unpacks a Pdu from the underlying data. +

      +

      +
      Overrides:
      unmarshal in class Pdu
      +
      +
      +
      Parameters:
      buff - The ByteBuffer at the position to begin reading +
      Throws: +
      java.nio.BufferUnderflowException - if buff is too small
      Since:
      +
      ??
      +
      See Also:
      ByteBuffer
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(WarfareFamilyPdu rhs)
      +
      +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful. +

      +

      +
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/package-frame.html b/docs/edu/nps/moves/dis/package-frame.html new file mode 100644 index 00000000..b6438010 --- /dev/null +++ b/docs/edu/nps/moves/dis/package-frame.html @@ -0,0 +1,302 @@ + + + + + + +edu.nps.moves.dis + + + + + + + + + + + +edu.nps.moves.dis + + + + +
      +Classes  + +
      +AcknowledgePdu +
      +AcknowledgeReliablePdu +
      +AcousticBeamData +
      +AcousticBeamFundamentalParameter +
      +AcousticEmitter +
      +AcousticEmitterSystem +
      +AcousticEmitterSystemData +
      +ActionRequestPdu +
      +ActionRequestReliablePdu +
      +ActionResponsePdu +
      +ActionResponseReliablePdu +
      +AggregateID +
      +AggregateMarking +
      +AggregateStatePdu +
      +AggregateType +
      +AngularVelocityVector +
      +AntennaLocation +
      +ApaData +
      +ArealObjectStatePdu +
      +ArticulationParameter +
      +BeamAntennaPattern +
      +BeamData +
      +BurstDescriptor +
      +ClockTime +
      +CollisionElasticPdu +
      +CollisionPdu +
      +CommentPdu +
      +CommentReliablePdu +
      +CreateEntityPdu +
      +CreateEntityReliablePdu +
      +DataPdu +
      +DataQueryPdu +
      +DataQueryReliablePdu +
      +DataReliablePdu +
      +DeadReckoningParameter +
      +DesignatorPdu +
      +DetonationPdu +
      +DistributedEmissionsFamilyPdu +
      +EightByteChunk +
      +ElectronicEmissionBeamData +
      +ElectronicEmissionsPdu +
      +ElectronicEmissionSystemData +
      +EmitterSystem +
      +EntityID +
      +EntityInformationFamilyPdu +
      +EntityManagementFamilyPdu +
      +EntityStatePdu +
      +EntityStateUpdatePdu +
      +EntityType +
      +Environment +
      +EnvironmentalProcessPdu +
      +EventID +
      +EventReportPdu +
      +EventReportReliablePdu +
      +FastEntityStatePdu +
      +FirePdu +
      +FixedDatum +
      +FourByteChunk +
      +FundamentalParameterData +
      +FundamentalParameterDataIff +
      +GridAxisRecord +
      +GridAxisRecordRepresentation0 +
      +GridAxisRecordRepresentation1 +
      +GridAxisRecordRepresentation2 +
      +GriddedDataPdu +
      +IffAtcNavAidsLayer1Pdu +
      +IffAtcNavAidsLayer2Pdu +
      +IffFundamentalData +
      +IntercomCommunicationsParameters +
      +IntercomControlPdu +
      +IntercomSignalPdu +
      +IsGroupOfPdu +
      +IsPartOfPdu +
      +LayerHeader +
      +LinearObjectStatePdu +
      +LinearSegmentParameter +
      +LogisticsFamilyPdu +
      +Marking +
      +MinefieldDataPdu +
      +MinefieldFamilyPdu +
      +MinefieldQueryPdu +
      +MinefieldResponseNackPdu +
      +MinefieldStatePdu +
      +ModulationType +
      +NamedLocation +
      +ObjectType +
      +OneByteChunk +
      +Orientation +
      +Pdu +
      +PduCollection +
      +PduContainer +
      +Point +
      +PointObjectStatePdu +
      +PropulsionSystemData +
      +RadioCommunicationsFamilyPdu +
      +RadioEntityType +
      +ReceiverPdu +
      +RecordQueryReliablePdu +
      +RecordSet +
      +Relationship +
      +RemoveEntityPdu +
      +RemoveEntityReliablePdu +
      +RepairCompletePdu +
      +RepairResponsePdu +
      +ResupplyCancelPdu +
      +ResupplyOfferPdu +
      +ResupplyReceivedPdu +
      +SeesPdu +
      +ServiceRequestPdu +
      +SetDataPdu +
      +SetDataReliablePdu +
      +SetRecordReliablePdu +
      +ShaftRPMs +
      +SignalPdu +
      +SimulationAddress +
      +SimulationManagementFamilyPdu +
      +SimulationManagementWithReliabilityFamilyPdu +
      +SixByteChunk +
      +SphericalHarmonicAntennaPattern +
      +StartResumePdu +
      +StartResumeReliablePdu +
      +StopFreezePdu +
      +StopFreezeReliablePdu +
      +SupplyQuantity +
      +SyntheticEnvironmentFamilyPdu +
      +SystemID +
      +TrackJamTarget +
      +TransferControlRequestPdu +
      +TransmitterPdu +
      +TwoByteChunk +
      +UaPdu +
      +VariableDatum +
      +Vector3Double +
      +Vector3Float +
      +VectoringNozzleSystemData +
      +WarfareFamilyPdu
      + + + + diff --git a/docs/edu/nps/moves/dis/package-summary.html b/docs/edu/nps/moves/dis/package-summary.html new file mode 100644 index 00000000..757eae07 --- /dev/null +++ b/docs/edu/nps/moves/dis/package-summary.html @@ -0,0 +1,744 @@ + + + + + + +edu.nps.moves.dis + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      +

      +Package edu.nps.moves.dis +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Class Summary
      AcknowledgePduSection 5.3.6.5.
      AcknowledgeReliablePduSection 5.3.12.5: Ack receipt of a start-resume, stop-freeze, create-entity or remove enitty (reliable) pdus.
      AcousticBeamDataUsed in UA PDU + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      AcousticBeamFundamentalParameterUsed in UaPdu + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      AcousticEmitterSection 5.2.35.
      AcousticEmitterSystem5.3.35: Information about a particular UA emitter shall be represented using an Acoustic Emitter System record.
      AcousticEmitterSystemDataUsed in the UA pdu; ties together an emmitter and a location.
      ActionRequestPduSection 5.3.6.6.
      ActionRequestReliablePduSection 5.3.12.6: request from a simulation manager to a managed entity to perform a specified action.
      ActionResponsePduSection 5.3.6.7.
      ActionResponseReliablePduSection 5.3.12.7: Response from an entity to an action request PDU.
      AggregateIDSection 5.2.36.
      AggregateMarkingSection 5.2.37.
      AggregateStatePduSection 5.3.9.1 informationa bout aggregating entities anc communicating information about the aggregated entities.
      AggregateTypeSection 5.2.38.
      AngularVelocityVector5.2.2: angular velocity measured in radians per second out each of the entity's own coordinate axes.
      AntennaLocation5.2.3: location of the radiating portion of the antenna, specified in world coordinates and entity coordinates.
      ApaDataUsed in UA PDU + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      ArealObjectStatePduSection 5.3.11.5: Information about the addition/modification of an oobject that is geometrically achored to the terrain with a set of three or more points that come to a closure.
      ArticulationParameterSection 5.2.5.
      BeamAntennaPatternSection 5.2.4.2.
      BeamDataSection 5.2.39.
      BurstDescriptorSection 5.2.7.
      ClockTimeSection 5.2.8.
      CollisionElasticPdu5.3.3.3.
      CollisionPduSection 5.3.3.2.
      CommentPduSection 5.3.6.12.
      CommentReliablePduSection 5.3.12.12: Arbitrary messages.
      CreateEntityPduSection 5.3.6.1.
      CreateEntityReliablePduSection 5.3.12.1: creation of an entity , reliable.
      DataPduSection 5.3.6.10.
      DataQueryPduSection 5.3.6.8.
      DataQueryReliablePduSection 5.3.12.8: request for data from an entity.
      DataReliablePduSection 5.3.12.10: issued in response to a data query R or set dataR pdu.
      DeadReckoningParameterrepresents values used in dead reckoning algorithms + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      DesignatorPduSection 5.3.7.2.
      DetonationPduSection 5.3.4.2.
      DistributedEmissionsFamilyPduSection 5.3.7.
      EightByteChunk64 bit piece of data + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      ElectronicEmissionBeamDataDescription of one electronic emission beam + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      ElectronicEmissionsPduSection 5.3.7.1.
      ElectronicEmissionSystemDataData about one electronic system + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      EmitterSystemSection 5.2.11.
      EntityIDEach entity in a given DIS simulation application shall be given an entity identifier number unique to all other entities in that application.
      EntityInformationFamilyPduSection 5.3.3.
      EntityManagementFamilyPduSection 5.3.9.
      EntityStatePduSection 5.3.3.1.
      EntityStateUpdatePdu5.3.3.4.
      EntityTypeSection 5.2.16.
      EnvironmentSection 5.2.40.
      EnvironmentalProcessPduSection 5.3.11.1: Information about environmental effects and processes.
      EventIDSection 5.2.18.
      EventReportPduSection 5.3.6.11.
      EventReportReliablePduSection 5.3.12.11: reports the occurance of a significatnt event to the simulation manager.
      FastEntityStatePduSection 5.3.3.1.
      FirePduSectioin 5.3.4.1.
      FixedDatumSection 5.2.18.
      FourByteChunk32 bit piece of data + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      FundamentalParameterDataSection 5.2.22.
      FundamentalParameterDataIff5.2.45.
      GridAxisRecord5.2.44: Grid data record, a common abstract superclass for several subtypes + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      GridAxisRecordRepresentation05.2.44: Grid data record, representation 0 + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      GridAxisRecordRepresentation15.2.44: Grid data record, representation 1 + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      GridAxisRecordRepresentation25.2.44: Grid data record, representation 1 + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      GriddedDataPduSection 5.3.11.2: Information about globat, spatially varying enviornmental effects.
      IffAtcNavAidsLayer1Pdu5.3.7.4.1: Navigational and IFF PDU.
      IffAtcNavAidsLayer2PduSection 5.3.7.4.2 When present, layer 2 should follow layer 1 and have the following fields.
      IffFundamentalData5.2.42.
      IntercomCommunicationsParameters5.2.46.
      IntercomControlPduSection 5.3.8.5.
      IntercomSignalPduSection 5.3.8.4.
      IsGroupOfPduSection 5.3.9.2 Information about a particular group of entities grouped together for the purposes of netowrk bandwidth reduction or aggregation.
      IsPartOfPduSection 5.3.9.4 The joining of two or more simulation entities is communicated by this PDU.
      LayerHeader5.2.47.
      LinearObjectStatePduSection 5.3.11.4: Information abut the addition or modification of a synthecic enviroment object that is anchored to the terrain with a single point and has size or orientation.
      LinearSegmentParameter5.2.48: Linear segment parameters + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      LogisticsFamilyPduSection 5.3.5.
      MarkingSection 5.2.15.
      MinefieldDataPduSection 5.3.10.3 Information about individual mines within a minefield.
      MinefieldFamilyPduSection 5.3.10.1 Abstract superclass for PDUs relating to minefields + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      MinefieldQueryPduSection 5.3.10.2 Query a minefield for information about individual mines.
      MinefieldResponseNackPduSection 5.3.10.4 proivde the means to request a retransmit of a minefield data pdu.
      MinefieldStatePduSection 5.3.10.1 Abstract superclass for PDUs relating to minefields.
      ModulationTypeRadio modulation + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      NamedLocationdiscrete ostional relationsihip + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      ObjectTypeIdentifies type of object.
      OneByteChunk8 bit piece of data + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      OrientationSection 5.2.17.
      PduThe superclass for all PDUs.
      PduCollection 
      PduContainerUsed for XML compatability.
      Pointx,y point + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      PointObjectStatePduSection 5.3.11.3: Inormation abut the addition or modification of a synthecic enviroment object that is anchored to the terrain with a single point.
      PropulsionSystemDataData about a propulsion system + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      RadioCommunicationsFamilyPduSection 5.3.8.
      RadioEntityTypeSection 5.2.25.
      ReceiverPduSection 5.3.8.3.
      RecordQueryReliablePduSection 5.3.12.13: A request for one or more records of data from an entity.
      RecordSetRecord sets, used in transfer control request PDU + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      Relationship5.2.56.
      RemoveEntityPduSection 5.3.6.2.
      RemoveEntityReliablePduSection 5.3.12.2: Removal of an entity , reliable.
      RepairCompletePduSection 5.2.5.5.
      RepairResponsePduSection 5.2.5.6.
      ResupplyCancelPduSection 5.2.5.4.
      ResupplyOfferPduSection 5.3.5.2.
      ResupplyReceivedPduSection 5.3.5.3.
      SeesPduSection 5.3.7.5.
      ServiceRequestPduSection 5.3.5.1.
      SetDataPduSection 5.3.6.9.
      SetDataReliablePduSection 5.3.12.9: initializing or chaning internal state information, reliable.
      SetRecordReliablePduSection 5.3.12.14: Initializing or changing internal parameter info.
      ShaftRPMsShaft RPMs, used in underwater acoustic clacluations.
      SignalPduSection 5.3.8.2.
      SimulationAddressSection 5.2.14.1.
      SimulationManagementFamilyPduSection 5.3.6.
      SimulationManagementWithReliabilityFamilyPduSection 5.3.12: Abstract superclass for reliable simulation management PDUs + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      SixByteChunk48 bit piece of data + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      SphericalHarmonicAntennaPatternSection 5.2.4.3.
      StartResumePduSection 5.2.6.3.
      StartResumeReliablePduSection 5.3.12.3: Start resume simulation, relaible.
      StopFreezePduSection 5.2.3.4.
      StopFreezeReliablePduSection 5.3.12.4: Stop freeze simulation, relaible.
      SupplyQuantitySection 5.2.30.
      SyntheticEnvironmentFamilyPduSection 5.3.11: Abstract superclass for synthetic environment PDUs + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      SystemID5.2.58.
      TrackJamTargetOne track/jam target + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      TransferControlRequestPduSection 5.3.9.3 Information initiating the dyanic allocation and control of simulation entities between two simulation applications.
      TransmitterPduSection 5.3.8.1.
      TwoByteChunk16 bit piece of data + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      UaPduSection 5.3.7.3.
      VariableDatumSection 5.2.32.
      Vector3DoubleSection 5.3.34.
      Vector3FloatSection 5.2.33.
      VectoringNozzleSystemDataData about a vectoring nozzle system + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      WarfareFamilyPduSection 5.3.4.
      +  + +

      +

      +
      +
      + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/dis/package-tree.html b/docs/edu/nps/moves/dis/package-tree.html new file mode 100644 index 00000000..fca33ace --- /dev/null +++ b/docs/edu/nps/moves/dis/package-tree.html @@ -0,0 +1,308 @@ + + + + + + +edu.nps.moves.dis Class Hierarchy + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      +
      +

      +Hierarchy For Package edu.nps.moves.dis +

      +
      +
      +
      Package Hierarchies:
      All Packages
      +
      +

      +Class Hierarchy +

      + +
      + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/disutil/NioServer.Adapter.html b/docs/edu/nps/moves/disutil/NioServer.Adapter.html new file mode 100644 index 00000000..2e4de51a --- /dev/null +++ b/docs/edu/nps/moves/disutil/NioServer.Adapter.html @@ -0,0 +1,352 @@ + + + + + + +NioServer.Adapter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.disutil +
      +Class NioServer.Adapter

      +
      +java.lang.Object
      +  extended by edu.nps.moves.disutil.NioServer.Adapter
      +
      +
      +
      All Implemented Interfaces:
      NioServer.Listener, java.util.EventListener
      +
      +
      +
      Enclosing class:
      NioServer
      +
      +
      +
      +
      public class NioServer.Adapter
      extends java.lang.Object
      implements NioServer.Listener
      + + +

      +A helper class that implements all methods of the + NioServer.Listener interface with empty methods. + +

      This code is released into the Public Domain. + Since this is Public Domain, you don't need to worry about + licensing, and you can simply copy this NioServer.java file + to your own package and use it as you like. Enjoy. + Please consider leaving the following statement here in this code:

      + +

      This NioServer class was copied to this project from its source as + found at iHarder.net.

      +

      + +

      +

      +
      Version:
      +
      0.1
      +
      Author:
      +
      Robert Harder, rharder@users.sourceforge.net
      +
      See Also:
      NioServer, +NioServer.Listener, +NioServer.Event
      +
      + +

      + + + + + + + + + + + +
      +Constructor Summary
      NioServer.Adapter() + +
      +           
      +  + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + voidnioServerConnectionClosed(NioServer.Event evt) + +
      +          Empty method.
      + voidnioServerNewConnectionReceived(NioServer.Event evt) + +
      +          Empty method.
      + voidnioServerTcpDataReceived(NioServer.Event evt) + +
      +          Empty method.
      + voidnioServerUdpDataReceived(NioServer.Event evt) + +
      +          Empty method.
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Constructor Detail
      + +

      +NioServer.Adapter

      +
      +public NioServer.Adapter()
      +
      +
      + + + + + + + + +
      +Method Detail
      + +

      +nioServerTcpDataReceived

      +
      +public void nioServerTcpDataReceived(NioServer.Event evt)
      +
      +
      Empty method. +

      +

      +
      Specified by:
      nioServerTcpDataReceived in interface NioServer.Listener
      +
      +
      +
      Parameters:
      evt - the shared event
      See Also:
      NioServer.Listener
      +
      +
      +
      + +

      +nioServerUdpDataReceived

      +
      +public void nioServerUdpDataReceived(NioServer.Event evt)
      +
      +
      Empty method. +

      +

      +
      Specified by:
      nioServerUdpDataReceived in interface NioServer.Listener
      +
      +
      +
      Parameters:
      evt - the shared event
      See Also:
      NioServer.Listener
      +
      +
      +
      + +

      +nioServerNewConnectionReceived

      +
      +public void nioServerNewConnectionReceived(NioServer.Event evt)
      +
      +
      Empty method. +

      +

      +
      Specified by:
      nioServerNewConnectionReceived in interface NioServer.Listener
      +
      +
      +
      Parameters:
      evt - the shared event
      See Also:
      NioServer.Listener
      +
      +
      +
      + +

      +nioServerConnectionClosed

      +
      +public void nioServerConnectionClosed(NioServer.Event evt)
      +
      +
      Empty method. +

      +

      +
      Specified by:
      nioServerConnectionClosed in interface NioServer.Listener
      +
      +
      +
      Parameters:
      evt - the shared event
      See Also:
      NioServer.Listener
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/disutil/NioServer.Event.html b/docs/edu/nps/moves/disutil/NioServer.Event.html new file mode 100644 index 00000000..97ee1c05 --- /dev/null +++ b/docs/edu/nps/moves/disutil/NioServer.Event.html @@ -0,0 +1,523 @@ + + + + + + +NioServer.Event + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.disutil +
      +Class NioServer.Event

      +
      +java.lang.Object
      +  extended by java.util.EventObject
      +      extended by edu.nps.moves.disutil.NioServer.Event
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      Enclosing class:
      NioServer
      +
      +
      +
      +
      public static class NioServer.Event
      extends java.util.EventObject
      + + +

      +An event representing activity by a NioServer. + +

      This code is released into the Public Domain. + Since this is Public Domain, you don't need to worry about + licensing, and you can simply copy this NioServer.java file + to your own package and use it as you like. Enjoy. + Please consider leaving the following statement here in this code:

      + +

      This NioServer class was copied to this project from its source as + found at iHarder.net.

      +

      + +

      +

      +
      Version:
      +
      0.1
      +
      Author:
      +
      Robert Harder, rharder@users.sourceforge.net
      +
      See Also:
      NioServer, +NioServer.Adapter, +NioServer.Listener, +Serialized Form
      +
      + +

      + + + + + + + +
      +Field Summary
      + + + + + + + +
      Fields inherited from class java.util.EventObject
      source
      +  + + + + + + + + + + +
      +Constructor Summary
      NioServer.Event(NioServer src) + +
      +          Creates a Event based on the given NioServer.
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + java.nio.ByteBuffergetBuffer() + +
      +          Returns the ByteBuffer that contains + the data for this connection.
      + java.nio.channels.SelectionKeygetKey() + +
      +          Returns the SelectionKey associated with this event.
      + java.net.SocketAddressgetLocalSocketAddress() + +
      +          Returns the local address/port to which this connection + is bound.
      + NioServergetNioServer() + +
      +          Returns the source of the event, a NioServer.
      + java.net.SocketAddressgetRemoteSocketAddress() + +
      +          Returns the address of the endpoint this socket is + connected to, or null if it is unconnected.
      + NioServer.StategetState() + +
      +          Shorthand for getNioServer().getState().
      + booleanisTcp() + +
      +          Convenience method for checking + getKey().channel() instanceof SocketChannel.
      + booleanisUdp() + +
      +          Convenience method for checking + getKey().channel() instanceof DatagramChannel.
      +protected  voidreset(java.nio.channels.SelectionKey key, + java.nio.ByteBuffer buffer, + java.net.SocketAddress remoteUdp) + +
      +          Resets an event between firings by updating the parameters + that change.
      + + + + + + + +
      Methods inherited from class java.util.EventObject
      getSource, toString
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      +  +

      + + + + + + + + +
      +Constructor Detail
      + +

      +NioServer.Event

      +
      +public NioServer.Event(NioServer src)
      +
      +
      Creates a Event based on the given NioServer. +

      +

      +
      Parameters:
      src - the source of the event
      +
      + + + + + + + + +
      +Method Detail
      + +

      +getNioServer

      +
      +public NioServer getNioServer()
      +
      +
      Returns the source of the event, a NioServer. + Shorthand for (NioServer)getSource(). +

      +

      + +
      Returns:
      the server
      +
      +
      +
      + +

      +getState

      +
      +public NioServer.State getState()
      +
      +
      Shorthand for getNioServer().getState(). +

      +

      + +
      Returns:
      the state of the server
      See Also:
      NioServer.State
      +
      +
      +
      + +

      +getKey

      +
      +public java.nio.channels.SelectionKey getKey()
      +
      +
      Returns the SelectionKey associated with this event. +

      +

      + +
      Returns:
      the SelectionKey
      +
      +
      +
      + +

      +reset

      +
      +protected void reset(java.nio.channels.SelectionKey key,
      +                     java.nio.ByteBuffer buffer,
      +                     java.net.SocketAddress remoteUdp)
      +
      +
      Resets an event between firings by updating the parameters + that change. +

      +

      +
      Parameters:
      key - The SelectionKey for the event
      remoteUdp - the remote UDP source or null for TCP
      +
      +
      +
      + +

      +getBuffer

      +
      +public java.nio.ByteBuffer getBuffer()
      +
      +

      Returns the ByteBuffer that contains + the data for this connection. Read from it as much as + you can. Any data that remains on or after the value + of position() will be saved for the next + time an event is fired. In this way, you can defer + processing incomplete data until everything arrives.

      + +

      Example: You are receiving lines of text. The ByteBuffer + returned here contains one and a half lines of text. + When you realize this, you process the first line as you + like, but you leave this buffer's position at the beginning + of the second line. In this way, The beginning of the second + line will be the start of the buffer the next time around.

      +

      +

      + +
      Returns:
      buffer with the data
      +
      +
      +
      + +

      +getLocalSocketAddress

      +
      +public java.net.SocketAddress getLocalSocketAddress()
      +
      +

      Returns the local address/port to which this connection + is bound. That is, if you are listening on port 80, then + this might return something like an InetSocketAddress + (probably) that indicated /127.0.0.1:80.

      +

      This is + essentially a convenience method for returning the same-name + methods from the key's channel after checking the type + of channel (SocketChannel or DatagramChannel).

      +

      +

      + +
      Returns:
      local address that server is bound to for this connection
      +
      +
      +
      + +

      +getRemoteSocketAddress

      +
      +public java.net.SocketAddress getRemoteSocketAddress()
      +
      +

      Returns the address of the endpoint this socket is + connected to, or null if it is unconnected.

      +

      This is + essentially a convenience method for returning the same-name + methods from the key's channel after checking the type + of channel (SocketChannel or DatagramChannel).

      +

      +

      + +
      Returns:
      remote address from which connection came
      +
      +
      +
      + +

      +isTcp

      +
      +public boolean isTcp()
      +
      +
      Convenience method for checking + getKey().channel() instanceof SocketChannel. +

      +

      + +
      Returns:
      true if a TCP connection
      +
      +
      +
      + +

      +isUdp

      +
      +public boolean isUdp()
      +
      +
      Convenience method for checking + getKey().channel() instanceof DatagramChannel. +

      +

      + +
      Returns:
      true if a UDP connection
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/disutil/NioServer.Listener.html b/docs/edu/nps/moves/disutil/NioServer.Listener.html new file mode 100644 index 00000000..74218e12 --- /dev/null +++ b/docs/edu/nps/moves/disutil/NioServer.Listener.html @@ -0,0 +1,359 @@ + + + + + + +NioServer.Listener + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.disutil +
      +Interface NioServer.Listener

      +
      +
      All Superinterfaces:
      java.util.EventListener
      +
      +
      +
      All Known Implementing Classes:
      NioServer.Adapter
      +
      +
      +
      Enclosing class:
      NioServer
      +
      +
      +
      +
      public static interface NioServer.Listener
      extends java.util.EventListener
      + + +

      +An interface for listening to events from a NioServer. + A single NioServer.Event is shared for all invocations + of these methods. + +

      This code is released into the Public Domain. + Since this is Public Domain, you don't need to worry about + licensing, and you can simply copy this NioServer.java file + to your own package and use it as you like. Enjoy. + Please consider leaving the following statement here in this code:

      + +

      This NioServer class was copied to this project from its source as + found at iHarder.net.

      +

      + +

      +

      +
      Version:
      +
      0.1
      +
      Author:
      +
      Robert Harder, rharder@users.sourceforge.net
      +
      See Also:
      NioServer, +NioServer.Adapter, +NioServer.Event
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + voidnioServerConnectionClosed(NioServer.Event evt) + +
      +          Called when a connection is closed remotely.
      + voidnioServerNewConnectionReceived(NioServer.Event evt) + +
      +          Called when a new connection is received.
      + voidnioServerTcpDataReceived(NioServer.Event evt) + +
      +          Called when TCP data is received.
      + voidnioServerUdpDataReceived(NioServer.Event evt) + +
      +          Called when UDP data is received.
      +  +

      + + + + + + + + +
      +Method Detail
      + +

      +nioServerNewConnectionReceived

      +
      +void nioServerNewConnectionReceived(NioServer.Event evt)
      +
      +

      Called when a new connection is received. The SelectionKey associated + with the event (an OP_READ key), is the key that will be + used with the data received event. In this way, you can seed a + Map or other data structure and associate this very + key with the connection. You will only get new connection + events for TCP connections (not UDP).

      + +

      The key's attachment mechanism is unused by NioServer and is + available for you to store whatever you like.

      + +

      If your protocol requires the server to respond to a client + upon connection, this sample code demonstrates such an arrangement:

      + +
      +   public void nioServerNewConnectionReceived(NioServer.Event evt) {
      +       SocketChannel ch = (SocketChannel) evt.getKey().channel();
      +       try {
      +           ch.write(ByteBuffer.wrap("Greetings\r\n".getBytes()));
      +       } catch (IOException ex) {
      +           ex.printStackTrace(); // Please don't do printStackTrace in production code
      +       }
      +   }
      + 
      +

      +

      +
      +
      +
      +
      Parameters:
      evt - the shared event
      +
      +
      +
      + +

      +nioServerTcpDataReceived

      +
      +void nioServerTcpDataReceived(NioServer.Event evt)
      +
      +

      Called when TCP data is received. Retrieve the associated ByteBuffer + with evt.getBuffer(). This is the source ByteBuffer + used by the server directly to receive the data. It is a + "direct" ByteBuffer (created with ByteBuffer.allocateDirect(..)). + Read from it as much as + you can. Any data that remains on or after the value + of position() will be saved for the next + time an event is fired. In this way, you can defer + processing incomplete data until everything arrives. + Be careful that you don't leave the buffer full + or you won't be able to receive anything next time around + (unless you call NioServer.setBufferSize(int) to resize buffer).

      + +

      The key's attachment mechanism is unused by NioServer and is + available for you to store whatever you like.

      + +

      Example: You are receiving lines of text. The ByteBuffer + returned here contains one and a half lines of text. + When you realize this, you process the first line as you + like, but you leave this buffer's position at the beginning + of the second line. In this way, The beginning of the second + line will be the start of the buffer the next time around.

      +

      +

      +
      +
      +
      +
      Parameters:
      evt - the shared event
      +
      +
      +
      + +

      +nioServerUdpDataReceived

      +
      +void nioServerUdpDataReceived(NioServer.Event evt)
      +
      +

      Called when UDP data is received. Retrieve the associated ByteBuffer + with evt.getBuffer(). This is the source ByteBuffer + used by the server directly to receive the data. It is a + "direct" ByteBuffer (created with ByteBuffer.allocateDirect(..)). + The contents of the ByteBuffer will be the entire contents + received from the UDP datagram.

      +

      +

      +
      +
      +
      +
      Parameters:
      evt - the shared event
      +
      +
      +
      + +

      +nioServerConnectionClosed

      +
      +void nioServerConnectionClosed(NioServer.Event evt)
      +
      +
      Called when a connection is closed remotely. If you close the connection + somewhere in your own code, this event probably won't be fired. +

      +

      +
      +
      +
      +
      Parameters:
      evt - the shared event
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/disutil/NioServer.State.html b/docs/edu/nps/moves/disutil/NioServer.State.html new file mode 100644 index 00000000..f22e0149 --- /dev/null +++ b/docs/edu/nps/moves/disutil/NioServer.State.html @@ -0,0 +1,362 @@ + + + + + + +NioServer.State + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.disutil +
      +Enum NioServer.State

      +
      +java.lang.Object
      +  extended by java.lang.Enum<NioServer.State>
      +      extended by edu.nps.moves.disutil.NioServer.State
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable, java.lang.Comparable<NioServer.State>
      +
      +
      +
      Enclosing class:
      NioServer
      +
      +
      +
      +
      public static enum NioServer.State
      extends java.lang.Enum<NioServer.State>
      + + +

      +

      One of four possible states for the server to be in:

      + +
        +
      • STARTING
      • +
      • STARTED
      • +
      • STOPPING
      • +
      • STOPPED
      • +
      +

      + +

      +


      + +

      + + + + + + + + + + + + + + + + + + + +
      +Enum Constant Summary
      STARTED + +
      +           
      STARTING + +
      +           
      STOPPED + +
      +           
      STOPPING + +
      +           
      +  + + + + + + + + + + + + + + + +
      +Method Summary
      +static NioServer.StatevalueOf(java.lang.String name) + +
      +          Returns the enum constant of this type with the specified name.
      +static NioServer.State[]values() + +
      +          Returns an array containing the constants of this enum type, in +the order they're declared.
      + + + + + + + +
      Methods inherited from class java.lang.Enum
      clone, compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      + + + + + + + +
      Methods inherited from class java.lang.Object
      finalize, getClass, notify, notifyAll, wait, wait, wait
      +  +

      + + + + + + + + +
      +Enum Constant Detail
      + +

      +STARTING

      +
      +public static final NioServer.State STARTING
      +
      +
      +
      +
      +
      + +

      +STARTED

      +
      +public static final NioServer.State STARTED
      +
      +
      +
      +
      +
      + +

      +STOPPING

      +
      +public static final NioServer.State STOPPING
      +
      +
      +
      +
      +
      + +

      +STOPPED

      +
      +public static final NioServer.State STOPPED
      +
      +
      +
      +
      + + + + + + + + +
      +Method Detail
      + +

      +values

      +
      +public static final NioServer.State[] values()
      +
      +
      Returns an array containing the constants of this enum type, in +the order they're declared. This method may be used to iterate +over the constants as follows: +
      +for(NioServer.State c : NioServer.State.values())
      +        System.out.println(c);
      +
      +

      +

      + +
      Returns:
      an array containing the constants of this enum type, in +the order they're declared
      +
      +
      +
      + +

      +valueOf

      +
      +public static NioServer.State valueOf(java.lang.String name)
      +
      +
      Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.) +

      +

      +
      Parameters:
      name - the name of the enum constant to be returned. +
      Returns:
      the enum constant with the specified name +
      Throws: +
      java.lang.IllegalArgumentException - if this enum type has no constant +with the specified name
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/disutil/NioServer.html b/docs/edu/nps/moves/disutil/NioServer.html new file mode 100644 index 00000000..df87ffeb --- /dev/null +++ b/docs/edu/nps/moves/disutil/NioServer.html @@ -0,0 +1,1494 @@ + + + + + + +NioServer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.disutil +
      +Class NioServer

      +
      +java.lang.Object
      +  extended by edu.nps.moves.disutil.NioServer
      +
      +
      +
      Direct Known Subclasses:
      PduNioMulticastReceiver
      +
      +
      +
      +
      public class NioServer
      extends java.lang.Object
      + + +

      +

      A robust class for establishing simultaneous TCP and UDP servers and manipulating + their listening ports. + The NioServer.Events and property change events make + it an appropriate tool in a threaded, GUI application. + It is almost identical in design to the UdpServer and TcpServer classes that + should have accompanied this class when you downloaded it.

      + +

      To start a server, create a new NioServer and call start():

      + +
       NioServer server = new NioServer();
      + server.start();
      + +

      You'll want to bind to a port or two:

      + +
       server.addTcpBinding( new InetSocketAddress( 80 ) );
      + server.addUdpBinding( new InetSocketAddress( 80 ) );
      + +

      Of course it won't be much help unless you register as a listener + so you'll know when data has come in:

      + +
       server.addNioServerListener( new NioServer.Adapter(){
      +     public void nioServerTcpDataReceived( NioServer.Event evt ){
      +         ByteBuffer buff = evt.getBuffer();
      +         ...
      +     }   // end data received
      +
      +     public void nioServerUdpDataReceived( NioServer.Event evt ){
      +         ByteBuffer buff = evt.getBuffer();
      +         ...
      +     }   // end data received
      + });
      + +

      The server runs on one thread, and all events are fired on that thread. + Consider offloading heavy processing to another thread. Be aware that + you can register multiple listeners to respond to incoming data + so be mindful of more than one listener being around to makes calls + on the data.

      + +

      The public methods are all synchronized on this, and great + care has been taken to avoid deadlocks and race conditions. That being said, + there may still be bugs (please contact the author if you find any), and + you certainly still have the power to introduce these problems yourself.

      + +

      It's often handy to have your own class extend this one rather than + making an instance field to hold a NioServer where you'd have to + pass along all the setPort(...) methods and so forth.

      + +

      The supporting NioServer.Event, NioServer.Listener, and NioServer.Adapter + classes are static inner classes in this file so that you have only one + file to copy to your project. You're welcome.

      + +

      Since the TcpServer.java, UdpServer.java, and NioServer.java are + so similar, and since lots of copying and pasting was going on among them, + you may find some comments that refer to TCP instead of UDP or vice versa. + Please feel free to let me know, so I can correct that.

      + +

      This code is released into the Public Domain. + Since this is Public Domain, you don't need to worry about + licensing, and you can simply copy this NioServer.java file + to your own package and use it as you like. Enjoy. + Please consider leaving the following statement here in this code:

      + +

      This NioServer class was copied to this project from its source as + found at iHarder.net.

      +

      + +

      +

      +
      Version:
      +
      0.1
      +
      Author:
      +
      Robert Harder, rharder@users.sourceforge.net
      +
      See Also:
      NioServer, +NioServer.Adapter, +NioServer.Event, +NioServer.Listener
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + +
      +Nested Class Summary
      + classNioServer.Adapter + +
      +          A helper class that implements all methods of the + NioServer.Listener interface with empty methods.
      +static classNioServer.Event + +
      +          An event representing activity by a NioServer.
      +static interfaceNioServer.Listener + +
      +          An interface for listening to events from a NioServer.
      +static classNioServer.State + +
      +          One of four possible states for the server to be in:
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +static java.lang.StringBUFFER_SIZE_PROP + +
      +          The buffer size property.
      +static java.lang.StringLAST_EXCEPTION_PROP + +
      +           
      +static java.lang.StringSINGLE_TCP_PORT_PROP + +
      +           
      +static java.lang.StringSINGLE_UDP_PORT_PROP + +
      +           
      +static java.lang.StringSTATE_PROP + +
      +           
      +static java.lang.StringTCP_BINDINGS_PROP + +
      +           
      +static java.lang.StringUDP_BINDINGS_PROP + +
      +           
      +  + + + + + + + + + + + + + +
      +Constructor Summary
      NioServer() + +
      +          Constructs a new NioServer, listening to nothing, and not started.
      NioServer(java.util.concurrent.ThreadFactory factory) + +
      +          Constructs a new NioServer, listening to nothing, and not started.
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + voidaddNioServerListener(NioServer.Listener l) + +
      +          Adds a NioServer.Listener.
      + voidaddPropertyChangeListener(java.beans.PropertyChangeListener listener) + +
      +          Add a property listener.
      + voidaddPropertyChangeListener(java.lang.String property, + java.beans.PropertyChangeListener listener) + +
      +          Add a property listener for the named property.
      + NioServeraddTcpBinding(java.net.SocketAddress addr) + +
      +          Adds a TCP binding to the server.
      + NioServeraddUdpBinding(java.net.SocketAddress addr) + +
      +          Adds a UDP binding to the server.
      + NioServeraddUdpBinding(java.net.SocketAddress addr, + java.lang.String group) + +
      +          Experimental Hack - Adds a UDP binding to the server + and joins the given multicast group (if group + is not null and is a valid multicast group).
      + NioServerclearTcpBindings() + +
      +          Clears all TCP bindings.
      + NioServerclearUdpBindings() + +
      +          Clears all UDP bindings.
      +protected  voidfireConnectionClosed(java.nio.channels.SelectionKey key) + +
      +          Fire when a connection is closed remotely.
      +protected  voidfireExceptionNotification(java.lang.Throwable t) + +
      +          Fires a property change event with the new exception.
      +protected  voidfireNewConnection(java.nio.channels.SelectionKey key) + +
      +          Fire when a new connection is established.
      + voidfireProperties() + +
      +          Fires property chagne events for all current values + setting the old value to null and new value to the current.
      +protected  voidfirePropertyChange(java.lang.String prop, + java.lang.Object oldVal, + java.lang.Object newVal) + +
      +          Fire a property change event on the current thread.
      +protected  voidfireTcpDataReceived(java.nio.channels.SelectionKey key, + java.nio.ByteBuffer buffer) + +
      +          Fire when data is received.
      +protected  voidfireUdpDataReceived(java.nio.channels.SelectionKey key, + java.nio.ByteBuffer buffer, + java.net.SocketAddress remote) + +
      +          Fire when data is received.
      + intgetBufferSize() + +
      +          Returns the size of the ByteBuffer used to read + from the connections.
      + java.lang.ThrowablegetLastException() + +
      +          Returns the last exception (Throwable, actually) + that the server encountered.
      +static java.util.logging.LevelgetLoggingLevel() + +
      +          Static method returning the logging level using Java's + java.util.logging package.
      + intgetSingleTcpPort() + +
      +          Returns the port for the single TCP binding in effect, + or -1 (minus one) if there are no or multiple TCP + bindings or some other error.
      + intgetSingleUdpPort() + +
      +          Returns the port for the single UDP binding in effect, + or -1 (minus one) if there are no or multiple UDP + bindings or some other error.
      + NioServer.StategetState() + +
      +          Returns the current state of the server, one of + STOPPED, STARTING, or STARTED.
      + java.util.Set<java.net.SocketAddress>getTcpBindings() + +
      +          Returns a set of socket addresses that the server is (or will + be when started) bound to/listening on.
      + java.util.Map<java.net.SocketAddress,java.lang.String>getUdpBindings() + +
      +          Returns a map of socket addresses and multicast groups + that the server is (or will + be when started) bound to/listening on.
      + voidremoveNioServerListener(NioServer.Listener l) + +
      +          Removes a NioServer.Listener.
      + voidremovePropertyChangeListener(java.beans.PropertyChangeListener listener) + +
      +          Remove a property listener.
      + voidremovePropertyChangeListener(java.lang.String property, + java.beans.PropertyChangeListener listener) + +
      +          Remove a property listener for the named property.
      + NioServerremoveTcpBinding(java.net.SocketAddress addr) + +
      +          Removes a TCP binding.
      + NioServerremoveUdpBinding(java.net.SocketAddress addr) + +
      +          Removes a UDP binding.
      + voidreset() + +
      +          Resets the server, if it is running, otherwise does nothing.
      +protected  voidrunServer() + +
      +          This method starts up and listens indefinitely + for TCP packets.
      + voidsetBufferSize(int size) + +
      +          Sets the size of the ByteBuffer used to read + from the connections.
      +static voidsetLoggingLevel(java.util.logging.Level level) + +
      +          Static method to set the logging level using Java's + java.util.logging package.
      + NioServersetSingleTcpPort(int port) + +
      +          Convenience method for clearing all bindings and + setting up listening for TCP on the given port.
      + NioServersetSingleUdpPort(int port) + +
      +          Convenience method for clearing all bindings and + setting up listening for UDP on the given port.
      + NioServersetSingleUdpPort(int port, + java.lang.String group) + +
      +          Convenience method for clearing all bindings and + setting up listening for UDP on the given port + and joining the provided multicast group.
      +protected  voidsetState(NioServer.State state) + +
      +          Sets the state and fires an event.
      + NioServersetTcpBindings(java.util.Set<java.net.SocketAddress> newSet) + +
      +          Sets the TCP bindings that the server should use.
      + NioServersetUdpBindings(java.util.Map<java.net.SocketAddress,java.lang.String> newMap) + +
      +          Sets the UDP bindings that the server should use.
      + voidstart() + +
      +          Attempts to start the server listening and returns immediately.
      + voidstop() + +
      +          Attempts to stop the server, if the server is in + the STARTED state, and returns immediately.
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +BUFFER_SIZE_PROP

      +
      +public static final java.lang.String BUFFER_SIZE_PROP
      +
      +
      The buffer size property. +

      +

      +
      See Also:
      Constant Field Values
      +
      +
      + +

      +STATE_PROP

      +
      +public static final java.lang.String STATE_PROP
      +
      +
      +
      See Also:
      Constant Field Values
      +
      +
      + +

      +LAST_EXCEPTION_PROP

      +
      +public static final java.lang.String LAST_EXCEPTION_PROP
      +
      +
      +
      See Also:
      Constant Field Values
      +
      +
      + +

      +TCP_BINDINGS_PROP

      +
      +public static final java.lang.String TCP_BINDINGS_PROP
      +
      +
      +
      See Also:
      Constant Field Values
      +
      +
      + +

      +UDP_BINDINGS_PROP

      +
      +public static final java.lang.String UDP_BINDINGS_PROP
      +
      +
      +
      See Also:
      Constant Field Values
      +
      +
      + +

      +SINGLE_TCP_PORT_PROP

      +
      +public static final java.lang.String SINGLE_TCP_PORT_PROP
      +
      +
      +
      See Also:
      Constant Field Values
      +
      +
      + +

      +SINGLE_UDP_PORT_PROP

      +
      +public static final java.lang.String SINGLE_UDP_PORT_PROP
      +
      +
      +
      See Also:
      Constant Field Values
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +NioServer

      +
      +public NioServer()
      +
      +
      Constructs a new NioServer, listening to nothing, and not started. +

      +

      +
      + +

      +NioServer

      +
      +public NioServer(java.util.concurrent.ThreadFactory factory)
      +
      +
      Constructs a new NioServer, listening to nothing, and not started. + The provided + ThreadFactory will be used when starting and running the server. +

      +

      +
      Parameters:
      factory - the ThreadFactory to use when starting the server
      +
      + + + + + + + + +
      +Method Detail
      + +

      +start

      +
      +public void start()
      +
      +
      Attempts to start the server listening and returns immediately. + Listen for start events to know if the server was + successfully started. +

      +

      +
      See Also:
      NioServer.Listener
      +
      +
      +
      + +

      +stop

      +
      +public void stop()
      +
      +
      Attempts to stop the server, if the server is in + the STARTED state, and returns immediately. + Be sure to listen for stop events to know if the server was + successfully stopped. +

      +

      +
      See Also:
      NioServer.Listener
      +
      +
      +
      + +

      +getState

      +
      +public NioServer.State getState()
      +
      +
      Returns the current state of the server, one of + STOPPED, STARTING, or STARTED. +

      +

      + +
      Returns:
      state of the server
      +
      +
      +
      + +

      +setState

      +
      +protected void setState(NioServer.State state)
      +
      +
      Sets the state and fires an event. This method + does not change what the server is doing, only + what is reflected by the currentState variable. +

      +

      +
      Parameters:
      state - the new state of the server
      +
      +
      +
      + +

      +reset

      +
      +public void reset()
      +
      +
      Resets the server, if it is running, otherwise does nothing. + This is accomplished by registering as a listener, stopping + the server, detecting the stop, unregistering, and starting + the server again. It's a useful design pattern, and you may + want to look at the source code for this method to check it out. +

      +

      +
      +
      +
      +
      + +

      +runServer

      +
      +protected void runServer()
      +
      +
      This method starts up and listens indefinitely + for TCP packets. On entering this method, + the state is assumed to be STARTING. Upon exiting + this method, the state will be STOPPING. +

      +

      +
      +
      +
      +
      + +

      +getBufferSize

      +
      +public int getBufferSize()
      +
      +
      Returns the size of the ByteBuffer used to read + from the connections. This refers to the buffer + that will be passed along with NioServer.Event + objects as data is received and so forth. +

      +

      + +
      Returns:
      The size of the ByteBuffer
      +
      +
      +
      + +

      +setBufferSize

      +
      +public void setBufferSize(int size)
      +
      +
      Sets the size of the ByteBuffer used to read + from the connections. This refers to the buffer + that will be passed along with NioServer.Event + objects as data is received and so forth. +

      +

      +
      Parameters:
      size - The size of the ByteBuffer +
      Throws: +
      java.lang.IllegalArgumentException - if size is not positive
      +
      +
      +
      + +

      +addTcpBinding

      +
      +public NioServer addTcpBinding(java.net.SocketAddress addr)
      +
      +
      Adds a TCP binding to the server. Effectively this is how you + set which ports and on which interfaces you want the server + to listen. In the simplest case, you might do the following + to listen generically on port 80: + addTcpBinding( new InetAddress(80) );. + The server can listen on multiple ports at once. +

      +

      +
      Parameters:
      addr - The address on which to listen +
      Returns:
      "this" to aid in chaining commands
      +
      +
      +
      + +

      +removeTcpBinding

      +
      +public NioServer removeTcpBinding(java.net.SocketAddress addr)
      +
      +
      Removes a TCP binding. Effectively stops the server from + listening to this or that port. +

      +

      +
      Parameters:
      addr - The address to stop listening to +
      Returns:
      "this" to aid in chaining commands
      +
      +
      +
      + +

      +getTcpBindings

      +
      +public java.util.Set<java.net.SocketAddress> getTcpBindings()
      +
      +
      Returns a set of socket addresses that the server is (or will + be when started) bound to/listening on. This set is not + backed by the actual data structures. Changes to this returned + set have no effect on the server. +

      +

      + +
      Returns:
      set of tcp listening points
      +
      +
      +
      + +

      +setTcpBindings

      +
      +public NioServer setTcpBindings(java.util.Set<java.net.SocketAddress> newSet)
      +
      +

      Sets the TCP bindings that the server should use. + The expression setTcpBindings( getTcpBindings() ) + should result in no change to the server.

      +

      +

      +
      Parameters:
      newSet - +
      Returns:
      "this" to aid in chaining commands
      +
      +
      +
      + +

      +clearTcpBindings

      +
      +public NioServer clearTcpBindings()
      +
      +
      Clears all TCP bindings. +

      +

      + +
      Returns:
      "this" to aid in chaining commands
      +
      +
      +
      + +

      +addUdpBinding

      +
      +public NioServer addUdpBinding(java.net.SocketAddress addr)
      +
      +
      Adds a UDP binding to the server. Effectively this is how you + set which ports and on which interfaces you want the server + to listen. In the simplest case, you might do the following + to listen generically on port 6997: + addUdpBinding( new InetAddress(6997) );. + The server can listen on multiple ports at once. +

      +

      +
      Parameters:
      addr - The address on which to listen +
      Returns:
      "this" to aid in chaining commands
      +
      +
      +
      + +

      +addUdpBinding

      +
      +public NioServer addUdpBinding(java.net.SocketAddress addr,
      +                               java.lang.String group)
      +
      +

      Experimental Hack - Adds a UDP binding to the server + and joins the given multicast group (if group + is not null and is a valid multicast group). + In the simplest case, you might do the following + to listen on port 16000 and multicast group 239.0.0.1: + addUdpBinding( new InetAddress(16000), "239.0.0.1" );. + The server can listen on multiple ports at once.

      + +

      As of Java 6, the java.nio "New IO" packages + don't support multicast groups ("annoyed grunt"), however I + found a clever hack at this gentleman's website + (http://www.mernst.org/blog/archives/12-01-2006_12-31-2006.html) + that makes multicast work -- for now.

      +

      +

      +
      Parameters:
      addr - The address on which to listen
      group - The multicast group to join +
      Returns:
      "this" to aid in chaining commands
      +
      +
      +
      + +

      +removeUdpBinding

      +
      +public NioServer removeUdpBinding(java.net.SocketAddress addr)
      +
      +
      Removes a UDP binding. Effectively stops the server from + listening to this or that port. +

      +

      +
      Parameters:
      addr - The address to stop listening to +
      Returns:
      "this" to aid in chaining commands
      +
      +
      +
      + +

      +getUdpBindings

      +
      +public java.util.Map<java.net.SocketAddress,java.lang.String> getUdpBindings()
      +
      +
      Returns a map of socket addresses and multicast groups + that the server is (or will + be when started) bound to/listening on. This set is not + backed by the actual data structures. Changes to this returned + set have no effect on the server. + The map's value portion will be null if not multicast group + is joined for that port or it may have a String which would + be the requested multicast group. +

      +

      + +
      Returns:
      map of udp listening points
      +
      +
      +
      + +

      +setUdpBindings

      +
      +public NioServer setUdpBindings(java.util.Map<java.net.SocketAddress,java.lang.String> newMap)
      +
      +

      Sets the UDP bindings that the server should use. + The expression setTcpBindings( getTcpBindings() ) + should result in no change to the server.

      + +

      The map consists of socket addresses (probably InetSocketAddress) + and multicast addresses (the String value).

      +

      +

      +
      Parameters:
      newMap - +
      Returns:
      "this" to aid in chaining commands
      +
      +
      +
      + +

      +clearUdpBindings

      +
      +public NioServer clearUdpBindings()
      +
      +
      Clears all UDP bindings. +

      +

      + +
      Returns:
      "this" to aid in chaining commands
      +
      +
      +
      + +

      +setSingleTcpPort

      +
      +public NioServer setSingleTcpPort(int port)
      +
      +
      Convenience method for clearing all bindings and + setting up listening for TCP on the given port. +

      +

      +
      Parameters:
      port - the port to listen to +
      Returns:
      this to aid in chaining
      +
      +
      +
      + +

      +setSingleUdpPort

      +
      +public NioServer setSingleUdpPort(int port)
      +
      +
      Convenience method for clearing all bindings and + setting up listening for UDP on the given port. +

      +

      +
      Parameters:
      port - the port to listen to +
      Returns:
      this to aid in chaining
      +
      +
      +
      + +

      +setSingleUdpPort

      +
      +public NioServer setSingleUdpPort(int port,
      +                                  java.lang.String group)
      +
      +
      Convenience method for clearing all bindings and + setting up listening for UDP on the given port + and joining the provided multicast group. +

      +

      +
      Parameters:
      port - the port to listen to +
      Returns:
      this to aid in chaining
      +
      +
      +
      + +

      +getSingleTcpPort

      +
      +public int getSingleTcpPort()
      +
      +
      Returns the port for the single TCP binding in effect, + or -1 (minus one) if there are no or multiple TCP + bindings or some other error. +

      +

      + +
      Returns:
      TCP listening port or -1
      +
      +
      +
      + +

      +getSingleUdpPort

      +
      +public int getSingleUdpPort()
      +
      +
      Returns the port for the single UDP binding in effect, + or -1 (minus one) if there are no or multiple UDP + bindings or some other error. +

      +

      + +
      Returns:
      UDP listening port or -1
      +
      +
      +
      + +

      +addNioServerListener

      +
      +public void addNioServerListener(NioServer.Listener l)
      +
      +
      Adds a NioServer.Listener. +

      +

      +
      Parameters:
      l - the listener
      +
      +
      +
      + +

      +removeNioServerListener

      +
      +public void removeNioServerListener(NioServer.Listener l)
      +
      +
      Removes a NioServer.Listener. +

      +

      +
      Parameters:
      l - the listener
      +
      +
      +
      + +

      +fireTcpDataReceived

      +
      +protected void fireTcpDataReceived(java.nio.channels.SelectionKey key,
      +                                   java.nio.ByteBuffer buffer)
      +
      +
      Fire when data is received. +

      +

      +
      Parameters:
      key - the SelectionKey associated with the data
      buffer - the buffer containing the new (and possibly leftover) data
      +
      +
      +
      + +

      +fireUdpDataReceived

      +
      +protected void fireUdpDataReceived(java.nio.channels.SelectionKey key,
      +                                   java.nio.ByteBuffer buffer,
      +                                   java.net.SocketAddress remote)
      +
      +
      Fire when data is received. +

      +

      +
      Parameters:
      key - the SelectionKey associated with the data
      buffer - the buffer containing the data
      remote - the source address of the datagram or null if not available
      buffer - the buffer containing the data
      +
      +
      +
      + +

      +fireConnectionClosed

      +
      +protected void fireConnectionClosed(java.nio.channels.SelectionKey key)
      +
      +
      Fire when a connection is closed remotely. +

      +

      +
      Parameters:
      key - The key for the closed connection.
      +
      +
      +
      + +

      +fireNewConnection

      +
      +protected void fireNewConnection(java.nio.channels.SelectionKey key)
      +
      +
      Fire when a new connection is established. +

      +

      +
      Parameters:
      key - the SelectionKey associated with the connection
      +
      +
      +
      + +

      +fireProperties

      +
      +public void fireProperties()
      +
      +
      Fires property chagne events for all current values + setting the old value to null and new value to the current. +

      +

      +
      +
      +
      +
      + +

      +firePropertyChange

      +
      +protected void firePropertyChange(java.lang.String prop,
      +                                  java.lang.Object oldVal,
      +                                  java.lang.Object newVal)
      +
      +
      Fire a property change event on the current thread. +

      +

      +
      Parameters:
      prop - name of property
      oldVal - old value
      newVal - new value
      +
      +
      +
      + +

      +addPropertyChangeListener

      +
      +public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
      +
      +
      Add a property listener. +

      +

      +
      Parameters:
      listener - the listener
      +
      +
      +
      + +

      +addPropertyChangeListener

      +
      +public void addPropertyChangeListener(java.lang.String property,
      +                                      java.beans.PropertyChangeListener listener)
      +
      +
      Add a property listener for the named property. +

      +

      +
      Parameters:
      property - the property name
      listener - the listener
      +
      +
      +
      + +

      +removePropertyChangeListener

      +
      +public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
      +
      +
      Remove a property listener. +

      +

      +
      Parameters:
      listener - the listener
      +
      +
      +
      + +

      +removePropertyChangeListener

      +
      +public void removePropertyChangeListener(java.lang.String property,
      +                                         java.beans.PropertyChangeListener listener)
      +
      +
      Remove a property listener for the named property. +

      +

      +
      Parameters:
      property - the property name
      listener - the listener
      +
      +
      +
      + +

      +getLastException

      +
      +public java.lang.Throwable getLastException()
      +
      +
      Returns the last exception (Throwable, actually) + that the server encountered. +

      +

      + +
      Returns:
      last exception
      +
      +
      +
      + +

      +fireExceptionNotification

      +
      +protected void fireExceptionNotification(java.lang.Throwable t)
      +
      +
      Fires a property change event with the new exception. +

      +

      +
      Parameters:
      t -
      +
      +
      +
      + +

      +setLoggingLevel

      +
      +public static void setLoggingLevel(java.util.logging.Level level)
      +
      +
      Static method to set the logging level using Java's + java.util.logging package. Example: + NioServer.setLoggingLevel(Level.OFF);. +

      +

      +
      Parameters:
      level - the new logging level
      +
      +
      +
      + +

      +getLoggingLevel

      +
      +public static java.util.logging.Level getLoggingLevel()
      +
      +
      Static method returning the logging level using Java's + java.util.logging package. +

      +

      + +
      Returns:
      the logging level
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/disutil/PduFactory.html b/docs/edu/nps/moves/disutil/PduFactory.html new file mode 100644 index 00000000..0eee53ee --- /dev/null +++ b/docs/edu/nps/moves/disutil/PduFactory.html @@ -0,0 +1,346 @@ + + + + + + +PduFactory + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.disutil +
      +Class PduFactory

      +
      +java.lang.Object
      +  extended by edu.nps.moves.disutil.PduFactory
      +
      +
      +
      +
      public class PduFactory
      extends java.lang.Object
      + + +

      +Simple factory for PDUs. When bytes are received on the wire, they're passed off to us + and the correct constructor called to return the correct PDU type.

      + + This should be reworked to use the separate enumerations package, which is generated + from the XML EBV file. That's included with the open-dis distribution, but it's still + a little new. +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      +
      + +

      + + + + + + + + + + + + + + +
      +Constructor Summary
      PduFactory() + +
      +          Creates a new instance of PduFactory
      PduFactory(boolean useFastPdu) + +
      +          Create a new PDU factory; if true is passed in, we use "fast PDUs", + which minimize the memory garbage generated at the cost of being + somewhat less pleasant to work with.
      +  + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + PducreatePdu(byte[] data) + +
      +          PDU factory.
      + PducreatePdu(java.nio.ByteBuffer buff) + +
      +          PDU factory.
      + booleangetUseFastPdu() + +
      +           
      + voidsetUseFastPdu(boolean use) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Constructor Detail
      + +

      +PduFactory

      +
      +public PduFactory()
      +
      +
      Creates a new instance of PduFactory +

      +

      +
      + +

      +PduFactory

      +
      +public PduFactory(boolean useFastPdu)
      +
      +
      Create a new PDU factory; if true is passed in, we use "fast PDUs", + which minimize the memory garbage generated at the cost of being + somewhat less pleasant to work with. +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +setUseFastPdu

      +
      +public void setUseFastPdu(boolean use)
      +
      +
      +
      +
      +
      +
      + +

      +getUseFastPdu

      +
      +public boolean getUseFastPdu()
      +
      +
      +
      +
      +
      +
      + +

      +createPdu

      +
      +public Pdu createPdu(byte[] data)
      +
      +
      PDU factory. Pass in an array of bytes, get the correct type of pdu back, + based on the PDU type field contained in the byte array. +

      +

      +
      +
      +
      +
      + +

      +createPdu

      +
      +public Pdu createPdu(java.nio.ByteBuffer buff)
      +
      +
      PDU factory. Pass in an array of bytes, get the correct type of pdu back, + based on the PDU type field contained in the byte buffer. +

      +

      + +
      Returns:
      null if there was an error creating the Pdu
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/disutil/PduMulticastReceiver.Event.html b/docs/edu/nps/moves/disutil/PduMulticastReceiver.Event.html new file mode 100644 index 00000000..a4f51542 --- /dev/null +++ b/docs/edu/nps/moves/disutil/PduMulticastReceiver.Event.html @@ -0,0 +1,292 @@ + + + + + + +PduMulticastReceiver.Event + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.disutil +
      +Class PduMulticastReceiver.Event

      +
      +java.lang.Object
      +  extended by java.util.EventObject
      +      extended by edu.nps.moves.disutil.PduMulticastReceiver.Event
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      Enclosing class:
      PduMulticastReceiver
      +
      +
      +
      +
      public static class PduMulticastReceiver.Event
      extends java.util.EventObject
      + + +

      +

      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + +
      +Field Summary
      + + + + + + + +
      Fields inherited from class java.util.EventObject
      source
      +  + + + + + + + + + + +
      +Constructor Summary
      PduMulticastReceiver.Event(PduMulticastReceiver src) + +
      +          Creates a Event based on the given PduMulticastReceiver.
      +  + + + + + + + + + + + +
      +Method Summary
      + PdugetPdu() + +
      +          Returns the Pdu for this event.
      + + + + + + + +
      Methods inherited from class java.util.EventObject
      getSource, toString
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      +  +

      + + + + + + + + +
      +Constructor Detail
      + +

      +PduMulticastReceiver.Event

      +
      +public PduMulticastReceiver.Event(PduMulticastReceiver src)
      +
      +
      Creates a Event based on the given PduMulticastReceiver. +

      +

      +
      Parameters:
      src - the source of the event
      +
      + + + + + + + + +
      +Method Detail
      + +

      +getPdu

      +
      +public Pdu getPdu()
      +
      +
      Returns the Pdu for this event. Since the server + runs on a single thread, this method is a shorthand + for ((PduMulticastReceiver)getSource()).getPdu(). +

      +

      + +
      Returns:
      the Pdu
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/disutil/PduMulticastReceiver.Listener.html b/docs/edu/nps/moves/disutil/PduMulticastReceiver.Listener.html new file mode 100644 index 00000000..96ca5c09 --- /dev/null +++ b/docs/edu/nps/moves/disutil/PduMulticastReceiver.Listener.html @@ -0,0 +1,215 @@ + + + + + + +PduMulticastReceiver.Listener + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.disutil +
      +Interface PduMulticastReceiver.Listener

      +
      +
      All Superinterfaces:
      java.util.EventListener
      +
      +
      +
      Enclosing class:
      PduMulticastReceiver
      +
      +
      +
      +
      public static interface PduMulticastReceiver.Listener
      extends java.util.EventListener
      + + +

      +


      + +

      + + + + + + + + + + + + +
      +Method Summary
      + voidpduReceived(PduMulticastReceiver.Event evt) + +
      +          Called when a packet is received.
      +  +

      + + + + + + + + +
      +Method Detail
      + +

      +pduReceived

      +
      +void pduReceived(PduMulticastReceiver.Event evt)
      +
      +
      Called when a packet is received. This is called on the IO thread, + so don't take too long, and if you want to offload the processing + to another thread, be sure to copy the data out of the datagram + since it will be clobbered the next time around. +

      +

      +
      +
      +
      +
      Parameters:
      evt - the event
      See Also:
      PduMulticastReceiver.Event.getPdu()
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/disutil/PduMulticastReceiver.html b/docs/edu/nps/moves/disutil/PduMulticastReceiver.html new file mode 100644 index 00000000..f23676ba --- /dev/null +++ b/docs/edu/nps/moves/disutil/PduMulticastReceiver.html @@ -0,0 +1,497 @@ + + + + + + +PduMulticastReceiver + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.disutil +
      +Class PduMulticastReceiver

      +
      +java.lang.Object
      +  extended by edu.nps.moves.disutil.UdpServer
      +      extended by edu.nps.moves.disutil.PduMulticastReceiver
      +
      +
      +
      +
      public class PduMulticastReceiver
      extends UdpServer
      + + +

      +

      A UDP server that receives DIS PDU packets and fires off events + to interested parties. The event firing is on the socket-processing + thread, so be quick about handling the events.

      + +

      Using the new ByteBuffer-based marshalling is + more efficient than the old IO Streams technique, and it also supports + receiving several DIS PDUs in a single UDP datagram. Each datagram + is scraped sequentially so that if one PDU is placed after another, + they will each be unmarshalled, and an event will be fired off for + each one in turn.

      +

      + +

      +

      +
      Since:
      +
      ??
      +
      Author:
      +
      Robert Harder
      +
      +
      + +

      + + + + + + + + + + + + + + + +
      +Nested Class Summary
      +static classPduMulticastReceiver.Event + +
      +           
      +static interfacePduMulticastReceiver.Listener + +
      +           
      + + + + + + + +
      Nested classes/interfaces inherited from class edu.nps.moves.disutil.UdpServer
      UdpServer.Adapter, UdpServer.State
      +  + + + + + + + +
      +Field Summary
      + + + + + + + +
      Fields inherited from class edu.nps.moves.disutil.UdpServer
      GROUPS_PROP, PORT_PROP
      +  + + + + + + + + + + +
      +Constructor Summary
      PduMulticastReceiver() + +
      +          Creates a new instance of PduMulticastReceiver that is + in the UdpServer.State.STOPPED state
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + voidaddPduMulticastReceiverListener(PduMulticastReceiver.Listener l) + +
      +          Adds a PduMulticastReceiver.Listener.
      +protected  voidfirePduReceived() + +
      +          Fires event on calling thread.
      + PdugetPdu() + +
      +          Returns the last parsed PDU.
      + booleangetUseByteBuffer() + +
      +          Returns whether or not the ByteBuffer marshalling + technique is being used (default).
      + booleangetUseFastPdu() + +
      +          Returns whether or not FastEspdu objects + are created which use less memory since + all their fields are flattened to primitives + instead of several objects.
      + voidremovePduMulticastReceiverListener(PduMulticastReceiver.Listener l) + +
      +          Removes a PduMulticastReceiver.Listener.
      + voidsetUseByteBuffer(boolean use) + +
      +          Sets whether or not to use the more efficient + ByteBuffer marshalling technique (default).
      + voidsetUseFastEspdu(boolean use) + +
      +          Sets whether or not to generate the + Fast Espdu packets (all primitive fields).
      + + + + + + + +
      Methods inherited from class edu.nps.moves.disutil.UdpServer
      addPropertyChangeListener, addPropertyChangeListener, addUdpServerListener, fireProperties, firePropertyChange, fireState, fireUdpServerPacketReceived, fireUdpServerStateChanged, getGroups, getLoggingLevel, getPacket, getPort, getReceiveBufferSize, getState, recordState, removePropertyChangeListener, removePropertyChangeListener, removeUdpServerListener, reset, runServer, setGroups, setLoggingLevel, setPort, setReceiveBufferSize, start, stop
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Constructor Detail
      + +

      +PduMulticastReceiver

      +
      +public PduMulticastReceiver()
      +
      +
      Creates a new instance of PduMulticastReceiver that is + in the UdpServer.State.STOPPED state +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getPdu

      +
      +public Pdu getPdu()
      +
      +
      Returns the last parsed PDU. +

      +

      + +
      Returns:
      +
      +
      +
      + +

      +getUseByteBuffer

      +
      +public boolean getUseByteBuffer()
      +
      +
      Returns whether or not the ByteBuffer marshalling + technique is being used (default). +

      +

      + +
      Returns:
      +
      +
      +
      + +

      +setUseByteBuffer

      +
      +public void setUseByteBuffer(boolean use)
      +
      +
      Sets whether or not to use the more efficient + ByteBuffer marshalling technique (default). +

      +

      +
      Parameters:
      use - whether or not to use it
      +
      +
      +
      + +

      +getUseFastPdu

      +
      +public boolean getUseFastPdu()
      +
      +
      Returns whether or not FastEspdu objects + are created which use less memory since + all their fields are flattened to primitives + instead of several objects. +

      +

      + +
      Returns:
      using or not using fast pdu
      +
      +
      +
      + +

      +setUseFastEspdu

      +
      +public void setUseFastEspdu(boolean use)
      +
      +
      Sets whether or not to generate the + Fast Espdu packets (all primitive fields). +

      +

      +
      Parameters:
      use -
      +
      +
      +
      + +

      +addPduMulticastReceiverListener

      +
      +public void addPduMulticastReceiverListener(PduMulticastReceiver.Listener l)
      +
      +
      Adds a PduMulticastReceiver.Listener. +

      +

      +
      Parameters:
      l - the UdpServer.Listener
      +
      +
      +
      + +

      +removePduMulticastReceiverListener

      +
      +public void removePduMulticastReceiverListener(PduMulticastReceiver.Listener l)
      +
      +
      Removes a PduMulticastReceiver.Listener. +

      +

      +
      Parameters:
      l - the UdpServer.Listener
      +
      +
      +
      + +

      +firePduReceived

      +
      +protected void firePduReceived()
      +
      +
      Fires event on calling thread. +

      +

      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/disutil/PduNioMulticastReceiver.Event.html b/docs/edu/nps/moves/disutil/PduNioMulticastReceiver.Event.html new file mode 100644 index 00000000..a363c897 --- /dev/null +++ b/docs/edu/nps/moves/disutil/PduNioMulticastReceiver.Event.html @@ -0,0 +1,292 @@ + + + + + + +PduNioMulticastReceiver.Event + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.disutil +
      +Class PduNioMulticastReceiver.Event

      +
      +java.lang.Object
      +  extended by java.util.EventObject
      +      extended by edu.nps.moves.disutil.PduNioMulticastReceiver.Event
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      Enclosing class:
      PduNioMulticastReceiver
      +
      +
      +
      +
      public static class PduNioMulticastReceiver.Event
      extends java.util.EventObject
      + + +

      +

      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + +
      +Field Summary
      + + + + + + + +
      Fields inherited from class java.util.EventObject
      source
      +  + + + + + + + + + + +
      +Constructor Summary
      PduNioMulticastReceiver.Event(PduNioMulticastReceiver src) + +
      +          Creates a Event based on the given PduMulticastReceiver.
      +  + + + + + + + + + + + +
      +Method Summary
      + PdugetPdu() + +
      +          Returns the Pdu for this event.
      + + + + + + + +
      Methods inherited from class java.util.EventObject
      getSource, toString
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      +  +

      + + + + + + + + +
      +Constructor Detail
      + +

      +PduNioMulticastReceiver.Event

      +
      +public PduNioMulticastReceiver.Event(PduNioMulticastReceiver src)
      +
      +
      Creates a Event based on the given PduMulticastReceiver. +

      +

      +
      Parameters:
      src - the source of the event
      +
      + + + + + + + + +
      +Method Detail
      + +

      +getPdu

      +
      +public Pdu getPdu()
      +
      +
      Returns the Pdu for this event. Since the server + runs on a single thread, this method is a shorthand + for ((PduMulticastReceiver)getSource()).getPdu(). +

      +

      + +
      Returns:
      the Pdu
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/disutil/PduNioMulticastReceiver.Listener.html b/docs/edu/nps/moves/disutil/PduNioMulticastReceiver.Listener.html new file mode 100644 index 00000000..8540c522 --- /dev/null +++ b/docs/edu/nps/moves/disutil/PduNioMulticastReceiver.Listener.html @@ -0,0 +1,215 @@ + + + + + + +PduNioMulticastReceiver.Listener + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.disutil +
      +Interface PduNioMulticastReceiver.Listener

      +
      +
      All Superinterfaces:
      java.util.EventListener
      +
      +
      +
      Enclosing class:
      PduNioMulticastReceiver
      +
      +
      +
      +
      public static interface PduNioMulticastReceiver.Listener
      extends java.util.EventListener
      + + +

      +


      + +

      + + + + + + + + + + + + +
      +Method Summary
      + voidpduReceived(PduNioMulticastReceiver.Event evt) + +
      +          Called when a packet is received.
      +  +

      + + + + + + + + +
      +Method Detail
      + +

      +pduReceived

      +
      +void pduReceived(PduNioMulticastReceiver.Event evt)
      +
      +
      Called when a packet is received. This is called on the IO thread, + so don't take too long, and if you want to offload the processing + to another thread, be sure to copy the data out of the datagram + since it will be clobbered the next time around. +

      +

      +
      +
      +
      +
      Parameters:
      evt - the event
      See Also:
      PduNioMulticastReceiver.Event.getPdu()
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/disutil/PduNioMulticastReceiver.html b/docs/edu/nps/moves/disutil/PduNioMulticastReceiver.html new file mode 100644 index 00000000..d98fbdaf --- /dev/null +++ b/docs/edu/nps/moves/disutil/PduNioMulticastReceiver.html @@ -0,0 +1,497 @@ + + + + + + +PduNioMulticastReceiver + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.disutil +
      +Class PduNioMulticastReceiver

      +
      +java.lang.Object
      +  extended by edu.nps.moves.disutil.NioServer
      +      extended by edu.nps.moves.disutil.PduNioMulticastReceiver
      +
      +
      +
      +
      public class PduNioMulticastReceiver
      extends NioServer
      + + +

      +

      A UDP server that receives DIS PDU packets and fires off events + to interested parties. The event firing is on the socket-processing + thread, so be quick about handling the events.

      + +

      Using the new ByteBuffer-based marshalling is + more efficient than the old IO Streams technique, and it also supports + receiving several DIS PDUs in a single UDP datagram. Each datagram + is scraped sequentially so that if one PDU is placed after another, + they will each be unmarshalled, and an event will be fired off for + each one in turn.

      +

      + +

      +

      +
      Since:
      +
      ??
      +
      Author:
      +
      Robert Harder
      +
      +
      + +

      + + + + + + + + + + + + + + + +
      +Nested Class Summary
      +static classPduNioMulticastReceiver.Event + +
      +           
      +static interfacePduNioMulticastReceiver.Listener + +
      +           
      + + + + + + + +
      Nested classes/interfaces inherited from class edu.nps.moves.disutil.NioServer
      NioServer.Adapter, NioServer.State
      +  + + + + + + + +
      +Field Summary
      + + + + + + + +
      Fields inherited from class edu.nps.moves.disutil.NioServer
      BUFFER_SIZE_PROP, LAST_EXCEPTION_PROP, SINGLE_TCP_PORT_PROP, SINGLE_UDP_PORT_PROP, STATE_PROP, TCP_BINDINGS_PROP, UDP_BINDINGS_PROP
      +  + + + + + + + + + + +
      +Constructor Summary
      PduNioMulticastReceiver() + +
      +          Creates a new instance of PduMulticastReceiver that is + in the UdpServer.State.STOPPED state
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + voidaddPduMulticastReceiverListener(PduNioMulticastReceiver.Listener l) + +
      +          Adds a PduNioMulticastReceiver.Listener.
      +protected  voidfirePduReceived(Pdu pdu) + +
      +          Fires event on calling thread.
      + PdugetPdu() + +
      +          Returns the last parsed PDU.
      + booleangetUseByteBuffer() + +
      +          Returns whether or not the ByteBuffer marshalling + technique is being used (default).
      + booleangetUseFastPdu() + +
      +          Returns whether or not FastEspdu objects + are created which use less memory since + all their fields are flattened to primitives + instead of several objects.
      + voidremovePduMulticastReceiverListener(PduNioMulticastReceiver.Listener l) + +
      +          Removes a PduNioMulticastReceiver.Listener.
      + voidsetUseByteBuffer(boolean use) + +
      +          Sets whether or not to use the more efficient + ByteBuffer marshalling technique (default).
      + voidsetUseFastEspdu(boolean use) + +
      +          Sets whether or not to generate the + Fast Espdu packets (all primitive fields).
      + + + + + + + +
      Methods inherited from class edu.nps.moves.disutil.NioServer
      addNioServerListener, addPropertyChangeListener, addPropertyChangeListener, addTcpBinding, addUdpBinding, addUdpBinding, clearTcpBindings, clearUdpBindings, fireConnectionClosed, fireExceptionNotification, fireNewConnection, fireProperties, firePropertyChange, fireTcpDataReceived, fireUdpDataReceived, getBufferSize, getLastException, getLoggingLevel, getSingleTcpPort, getSingleUdpPort, getState, getTcpBindings, getUdpBindings, removeNioServerListener, removePropertyChangeListener, removePropertyChangeListener, removeTcpBinding, removeUdpBinding, reset, runServer, setBufferSize, setLoggingLevel, setSingleTcpPort, setSingleUdpPort, setSingleUdpPort, setState, setTcpBindings, setUdpBindings, start, stop
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Constructor Detail
      + +

      +PduNioMulticastReceiver

      +
      +public PduNioMulticastReceiver()
      +
      +
      Creates a new instance of PduMulticastReceiver that is + in the UdpServer.State.STOPPED state +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +getPdu

      +
      +public Pdu getPdu()
      +
      +
      Returns the last parsed PDU. +

      +

      + +
      Returns:
      +
      +
      +
      + +

      +getUseByteBuffer

      +
      +public boolean getUseByteBuffer()
      +
      +
      Returns whether or not the ByteBuffer marshalling + technique is being used (default). +

      +

      + +
      Returns:
      +
      +
      +
      + +

      +setUseByteBuffer

      +
      +public void setUseByteBuffer(boolean use)
      +
      +
      Sets whether or not to use the more efficient + ByteBuffer marshalling technique (default). +

      +

      +
      Parameters:
      use - whether or not to use it
      +
      +
      +
      + +

      +getUseFastPdu

      +
      +public boolean getUseFastPdu()
      +
      +
      Returns whether or not FastEspdu objects + are created which use less memory since + all their fields are flattened to primitives + instead of several objects. +

      +

      + +
      Returns:
      using or not using fast pdu
      +
      +
      +
      + +

      +setUseFastEspdu

      +
      +public void setUseFastEspdu(boolean use)
      +
      +
      Sets whether or not to generate the + Fast Espdu packets (all primitive fields). +

      +

      +
      Parameters:
      use -
      +
      +
      +
      + +

      +addPduMulticastReceiverListener

      +
      +public void addPduMulticastReceiverListener(PduNioMulticastReceiver.Listener l)
      +
      +
      Adds a PduNioMulticastReceiver.Listener. +

      +

      +
      Parameters:
      l - the UdpServer.Listener
      +
      +
      +
      + +

      +removePduMulticastReceiverListener

      +
      +public void removePduMulticastReceiverListener(PduNioMulticastReceiver.Listener l)
      +
      +
      Removes a PduNioMulticastReceiver.Listener. +

      +

      +
      Parameters:
      l - the UdpServer.Listener
      +
      +
      +
      + +

      +firePduReceived

      +
      +protected void firePduReceived(Pdu pdu)
      +
      +
      Fires event on calling thread. +

      +

      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/disutil/UdpServer.Adapter.html b/docs/edu/nps/moves/disutil/UdpServer.Adapter.html new file mode 100644 index 00000000..1f944131 --- /dev/null +++ b/docs/edu/nps/moves/disutil/UdpServer.Adapter.html @@ -0,0 +1,304 @@ + + + + + + +UdpServer.Adapter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.disutil +
      +Class UdpServer.Adapter

      +
      +java.lang.Object
      +  extended by edu.nps.moves.disutil.UdpServer.Adapter
      +
      +
      +
      All Implemented Interfaces:
      UdpServer.Listener, java.util.EventListener
      +
      +
      +
      Enclosing class:
      UdpServer
      +
      +
      +
      +
      public class UdpServer.Adapter
      extends java.lang.Object
      implements UdpServer.Listener
      + + +

      +A helper class that implements all methods of the + UdpServer.Listener interface with empty methods. + +

      This code is released into the Public Domain. + Since this is Public Domain, you don't need to worry about + licensing, and you can simply copy this UdpServer.java file + to your own package and use it as you like. Enjoy. + Please consider leaving the following statement here in this code:

      + +

      This UdpServer class was copied to this project from its source as + found at iHarder.net.

      +

      + +

      +

      +
      Version:
      +
      0.1
      +
      Author:
      +
      Robert Harder, rharder@users.sourceforge.net
      +
      See Also:
      UdpServer, +UdpServer.Listener, +UdpServer.Event
      +
      + +

      + + + + + + + + + + + +
      +Constructor Summary
      UdpServer.Adapter() + +
      +           
      +  + + + + + + + + + + + + + + + +
      +Method Summary
      + voidudpServerPacketReceived(UdpServer.Event evt) + +
      +          Empty call for UdpServer.Listener.udpServerPacketReceived(edu.nps.moves.disutil.UdpServer.Event).
      + voidudpServerStateChanged(UdpServer.Event evt) + +
      +          Empty call for UdpServer.Listener.udpServerStateChanged(edu.nps.moves.disutil.UdpServer.Event).
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Constructor Detail
      + +

      +UdpServer.Adapter

      +
      +public UdpServer.Adapter()
      +
      +
      + + + + + + + + +
      +Method Detail
      + +

      +udpServerStateChanged

      +
      +public void udpServerStateChanged(UdpServer.Event evt)
      +
      +
      Empty call for UdpServer.Listener.udpServerStateChanged(edu.nps.moves.disutil.UdpServer.Event). +

      +

      +
      Specified by:
      udpServerStateChanged in interface UdpServer.Listener
      +
      +
      +
      Parameters:
      evt - the event
      See Also:
      UdpServer.State
      +
      +
      +
      + +

      +udpServerPacketReceived

      +
      +public void udpServerPacketReceived(UdpServer.Event evt)
      +
      +
      Empty call for UdpServer.Listener.udpServerPacketReceived(edu.nps.moves.disutil.UdpServer.Event). +

      +

      +
      Specified by:
      udpServerPacketReceived in interface UdpServer.Listener
      +
      +
      +
      Parameters:
      evt - the event
      See Also:
      UdpServer.Event.getPacket()
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/disutil/UdpServer.Event.html b/docs/edu/nps/moves/disutil/UdpServer.Event.html new file mode 100644 index 00000000..0e1293c5 --- /dev/null +++ b/docs/edu/nps/moves/disutil/UdpServer.Event.html @@ -0,0 +1,408 @@ + + + + + + +UdpServer.Event + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.disutil +
      +Class UdpServer.Event

      +
      +java.lang.Object
      +  extended by java.util.EventObject
      +      extended by edu.nps.moves.disutil.UdpServer.Event
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable
      +
      +
      +
      Enclosing class:
      UdpServer
      +
      +
      +
      +
      public static class UdpServer.Event
      extends java.util.EventObject
      + + +

      +An event representing activity by a UdpServer. + +

      This code is released into the Public Domain. + Since this is Public Domain, you don't need to worry about + licensing, and you can simply copy this UdpServer.java file + to your own package and use it as you like. Enjoy. + Please consider leaving the following statement here in this code:

      + +

      This UdpServer class was copied to this project from its source as + found at iHarder.net.

      +

      + +

      +

      +
      Version:
      +
      0.1
      +
      Author:
      +
      Robert Harder, rharder@users.sourceforge.net
      +
      See Also:
      UdpServer, +UdpServer.Adapter, +UdpServer.Listener, +Serialized Form
      +
      + +

      + + + + + + + +
      +Field Summary
      + + + + + + + +
      Fields inherited from class java.util.EventObject
      source
      +  + + + + + + + + + + +
      +Constructor Summary
      UdpServer.Event(UdpServer src) + +
      +          Creates a Event based on the given UdpServer.
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + java.net.DatagramPacketgetPacket() + +
      +          Returns the most recent datagram packet received + by the UdpServer.
      + byte[]getPacketAsBytes() + +
      +          Copies and returns the bytes in the most recently + received packet, or null if not available.
      + java.lang.StringgetPacketAsString() + +
      +          Returns the data in the most recently-received + packet as if it were a String + or null if not available.
      + UdpServer.StategetState() + +
      +          Shorthand for getUdpServer().getState().
      + UdpServergetUdpServer() + +
      +          Returns the source of the event, a UdpServer.
      + + + + + + + +
      Methods inherited from class java.util.EventObject
      getSource, toString
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      +  +

      + + + + + + + + +
      +Constructor Detail
      + +

      +UdpServer.Event

      +
      +public UdpServer.Event(UdpServer src)
      +
      +
      Creates a Event based on the given UdpServer. +

      +

      +
      Parameters:
      src - the source of the event
      +
      + + + + + + + + +
      +Method Detail
      + +

      +getUdpServer

      +
      +public UdpServer getUdpServer()
      +
      +
      Returns the source of the event, a UdpServer. + Shorthand for (UdpServer)getSource(). +

      +

      + +
      Returns:
      the server
      +
      +
      +
      + +

      +getState

      +
      +public UdpServer.State getState()
      +
      +
      Shorthand for getUdpServer().getState(). +

      +

      + +
      Returns:
      the state of the server
      See Also:
      UdpServer.State
      +
      +
      +
      + +

      +getPacket

      +
      +public java.net.DatagramPacket getPacket()
      +
      +
      Returns the most recent datagram packet received + by the UdpServer. Shorthand for + getUdpServer().getPacket(). +

      +

      + +
      Returns:
      the most recent datagram
      +
      +
      +
      + +

      +getPacketAsBytes

      +
      +public byte[] getPacketAsBytes()
      +
      +
      Copies and returns the bytes in the most recently + received packet, or null if not available. +

      +

      + +
      Returns:
      a copy of the datagram's byte array
      +
      +
      +
      + +

      +getPacketAsString

      +
      +public java.lang.String getPacketAsString()
      +
      +
      Returns the data in the most recently-received + packet as if it were a String + or null if not available. +

      +

      + +
      Returns:
      The datagram as a string
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/disutil/UdpServer.Listener.html b/docs/edu/nps/moves/disutil/UdpServer.Listener.html new file mode 100644 index 00000000..95f71e82 --- /dev/null +++ b/docs/edu/nps/moves/disutil/UdpServer.Listener.html @@ -0,0 +1,267 @@ + + + + + + +UdpServer.Listener + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.disutil +
      +Interface UdpServer.Listener

      +
      +
      All Superinterfaces:
      java.util.EventListener
      +
      +
      +
      All Known Implementing Classes:
      UdpServer.Adapter
      +
      +
      +
      Enclosing class:
      UdpServer
      +
      +
      +
      +
      public static interface UdpServer.Listener
      extends java.util.EventListener
      + + +

      +An interface for listening to events from a UdpServer. + A single UdpServer.Event is shared for all invocations + of these methods. + +

      This code is released into the Public Domain. + Since this is Public Domain, you don't need to worry about + licensing, and you can simply copy this UdpServer.java file + to your own package and use it as you like. Enjoy. + Please consider leaving the following statement here in this code:

      + +

      This UdpServer class was copied to this project from its source as + found at iHarder.net.

      +

      + +

      +

      +
      Version:
      +
      0.1
      +
      Author:
      +
      Robert Harder, rharder@users.sourceforge.net
      +
      See Also:
      UdpServer, +UdpServer.Adapter, +UdpServer.Event
      +
      + +

      + + + + + + + + + + + + + + + + +
      +Method Summary
      + voidudpServerPacketReceived(UdpServer.Event evt) + +
      +          Called when a packet is received.
      + voidudpServerStateChanged(UdpServer.Event evt) + +
      +          Called when the state of the server has changed, such as + "starting" or "stopped."
      +  +

      + + + + + + + + +
      +Method Detail
      + +

      +udpServerStateChanged

      +
      +void udpServerStateChanged(UdpServer.Event evt)
      +
      +
      Called when the state of the server has changed, such as + "starting" or "stopped." +

      +

      +
      +
      +
      +
      Parameters:
      evt - the event
      See Also:
      UdpServer.State
      +
      +
      +
      + +

      +udpServerPacketReceived

      +
      +void udpServerPacketReceived(UdpServer.Event evt)
      +
      +
      Called when a packet is received. This is called on the IO thread, + so don't take too long, and if you want to offload the processing + to another thread, be sure to copy the data out of the datagram + since it will be clobbered the next time around. +

      +

      +
      +
      +
      +
      Parameters:
      evt - the event
      See Also:
      UdpServer.Event.getPacket()
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/disutil/UdpServer.State.html b/docs/edu/nps/moves/disutil/UdpServer.State.html new file mode 100644 index 00000000..5c687a22 --- /dev/null +++ b/docs/edu/nps/moves/disutil/UdpServer.State.html @@ -0,0 +1,362 @@ + + + + + + +UdpServer.State + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.disutil +
      +Enum UdpServer.State

      +
      +java.lang.Object
      +  extended by java.lang.Enum<UdpServer.State>
      +      extended by edu.nps.moves.disutil.UdpServer.State
      +
      +
      +
      All Implemented Interfaces:
      java.io.Serializable, java.lang.Comparable<UdpServer.State>
      +
      +
      +
      Enclosing class:
      UdpServer
      +
      +
      +
      +
      public static enum UdpServer.State
      extends java.lang.Enum<UdpServer.State>
      + + +

      +

      One of four possible states for the server to be in:

      + +
        +
      • STARTING
      • +
      • STARTED
      • +
      • STOPPING
      • +
      • STOPPED
      • +
      +

      + +

      +


      + +

      + + + + + + + + + + + + + + + + + + + +
      +Enum Constant Summary
      STARTED + +
      +           
      STARTING + +
      +           
      STOPPED + +
      +           
      STOPPING + +
      +           
      +  + + + + + + + + + + + + + + + +
      +Method Summary
      +static UdpServer.StatevalueOf(java.lang.String name) + +
      +          Returns the enum constant of this type with the specified name.
      +static UdpServer.State[]values() + +
      +          Returns an array containing the constants of this enum type, in +the order they're declared.
      + + + + + + + +
      Methods inherited from class java.lang.Enum
      clone, compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      + + + + + + + +
      Methods inherited from class java.lang.Object
      finalize, getClass, notify, notifyAll, wait, wait, wait
      +  +

      + + + + + + + + +
      +Enum Constant Detail
      + +

      +STARTING

      +
      +public static final UdpServer.State STARTING
      +
      +
      +
      +
      +
      + +

      +STARTED

      +
      +public static final UdpServer.State STARTED
      +
      +
      +
      +
      +
      + +

      +STOPPING

      +
      +public static final UdpServer.State STOPPING
      +
      +
      +
      +
      +
      + +

      +STOPPED

      +
      +public static final UdpServer.State STOPPED
      +
      +
      +
      +
      + + + + + + + + +
      +Method Detail
      + +

      +values

      +
      +public static final UdpServer.State[] values()
      +
      +
      Returns an array containing the constants of this enum type, in +the order they're declared. This method may be used to iterate +over the constants as follows: +
      +for(UdpServer.State c : UdpServer.State.values())
      +        System.out.println(c);
      +
      +

      +

      + +
      Returns:
      an array containing the constants of this enum type, in +the order they're declared
      +
      +
      +
      + +

      +valueOf

      +
      +public static UdpServer.State valueOf(java.lang.String name)
      +
      +
      Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.) +

      +

      +
      Parameters:
      name - the name of the enum constant to be returned. +
      Returns:
      the enum constant with the specified name +
      Throws: +
      java.lang.IllegalArgumentException - if this enum type has no constant +with the specified name
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/disutil/UdpServer.html b/docs/edu/nps/moves/disutil/UdpServer.html new file mode 100644 index 00000000..cdcfc6da --- /dev/null +++ b/docs/edu/nps/moves/disutil/UdpServer.html @@ -0,0 +1,1070 @@ + + + + + + +UdpServer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.disutil +
      +Class UdpServer

      +
      +java.lang.Object
      +  extended by edu.nps.moves.disutil.UdpServer
      +
      +
      +
      Direct Known Subclasses:
      PduMulticastReceiver
      +
      +
      +
      +
      public class UdpServer
      extends java.lang.Object
      + + +

      +

      Used in support of PduMulticastReceiver.

      + +

      A robust class for establishing a UDP server and manipulating + its listening port and optionally a multicast groups to join. + The UdpServer.Events and property change events make + it an appropriate tool in a threaded, GUI application. + It is almost identical in design to the TcpServer class that + should have accompanied this class when you downloaded it.

      + +

      To start a UDP server, create a new UdpServer and call start():

      + +
       UdpServer server = new UdpServer();
      + server.start();
      + +

      Of course it won't be much help unless you know which port it's + listening on and you register as a listener + so you'll know when a java.net.DatagramPacket has come in:

      + +
       server.setPort(1234);
      +  server.addUdpServerListener( new UdpServer.Adapter(){
      +     public void udpServerPacketReceived( UdpServer.Event evt ){
      +         DatagramPacket packet = evt.getPacket();
      +         ...
      +     }   // end packet received
      + });
      + +

      The server runs on one thread, and all events are fired on that thread. + If you have to offload heavy processing to another thread, be sure to + make a copy of the datagram data array since it will be reused the next + time around. You may use the UdpServer.Event.getPacketAsBytes() + command as a convenient way to make a copy of the byte array.

      + +

      The full 64KB allowed by the UDP standard is set aside to receive + the datagrams, but it's possible that your host platform may truncate that.

      + +

      The public methods are all synchronized on this, and great + care has been taken to avoid deadlocks and race conditions. That being said, + there may still be bugs (please contact the author if you find any), and + you certainly still have the power to introduce these problems yourself.

      + +

      It's often handy to have your own class extend this one rather than + making an instance field to hold a UdpServer where you'd have to + pass along all the setPort(...) methods and so forth.

      + +

      The supporting UdpServer.Event, UdpServer.Listener, and UdpServer.Adapter + classes are static inner classes in this file so that you have only one + file to copy to your project. You're welcome.

      + +

      This code is released into the Public Domain. + Since this is Public Domain, you don't need to worry about + licensing, and you can simply copy this UdpServer.java file + to your own package and use it as you like. Enjoy. + Please consider leaving the following statement here in this code:

      + +

      This UdpServer class was copied to this project from its source as + found at iHarder.net.

      +

      + +

      +

      +
      Version:
      +
      0.1
      +
      Author:
      +
      Robert Harder, rharder@users.sourceforge.net
      +
      See Also:
      UdpServer, +UdpServer.Adapter, +UdpServer.Event, +UdpServer.Listener
      +
      + +

      + + + + + + + + + + + + + + + + + + + + + + + +
      +Nested Class Summary
      + classUdpServer.Adapter + +
      +          A helper class that implements all methods of the + UdpServer.Listener interface with empty methods.
      +static classUdpServer.Event + +
      +          An event representing activity by a UdpServer.
      +static interfaceUdpServer.Listener + +
      +          An interface for listening to events from a UdpServer.
      +static classUdpServer.State + +
      +          One of four possible states for the server to be in:
      + + + + + + + + + + + + + + +
      +Field Summary
      +static java.lang.StringGROUPS_PROP + +
      +          The multicast groups property groups used with + the property change listeners and the preferences, + if a preferences object is given.
      +static java.lang.StringPORT_PROP + +
      +          The port property port used with + the property change listeners and the preferences, + if a preferences object is given.
      +  + + + + + + + + + + + + + + + + +
      +Constructor Summary
      UdpServer() + +
      +          Constructs a new UdpServer that will listen on the default port 8000 + (but not until start() is called).
      UdpServer(int port) + +
      +          Constructs a new UdpServer that will listen on the given port + (but not until start() is called).
      UdpServer(int port, + java.util.concurrent.ThreadFactory factory) + +
      +          Constructs a new UdpServer that will listen on the given port + (but not until start() is called).
      +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + voidaddPropertyChangeListener(java.beans.PropertyChangeListener listener) + +
      +          Add a property listener.
      + voidaddPropertyChangeListener(java.lang.String property, + java.beans.PropertyChangeListener listener) + +
      +          Add a property listener for the named property.
      + voidaddUdpServerListener(UdpServer.Listener l) + +
      +          Adds a UdpServer.Listener.
      + voidfireProperties() + +
      +          Fires property chagne events for all current values + setting the old value to null and new value to the current.
      +protected  voidfirePropertyChange(java.lang.String prop, + java.lang.Object oldVal, + java.lang.Object newVal) + +
      +          Fire a property change event on the current thread.
      + voidfireState() + +
      +          Fires an event declaring the current state of the server.
      +protected  voidfireUdpServerPacketReceived() + +
      +          Fires event on calling thread.
      +protected  voidfireUdpServerStateChanged() + +
      +          Fires event on calling thread.
      + java.lang.StringgetGroups() + +
      +          Returns the multicast groups to which the server has joined.
      +static java.util.logging.LevelgetLoggingLevel() + +
      +          Static method returning the logging level using Java's + java.util.logging package.
      + java.net.DatagramPacketgetPacket() + +
      +          Returns the last DatagramPacket received.
      + intgetPort() + +
      +          Returns the port on which the server is or will be listening.
      + intgetReceiveBufferSize() + +
      +          Returns the receive buffer for the underlying MulticastSocket + if the server is currently running (otherwise there is no + MulticastSocket to query).
      + UdpServer.StategetState() + +
      +          Returns the current state of the server, one of + STOPPED, STARTING, or STARTED.
      +protected  voidrecordState(UdpServer.State state) + +
      +          Records (sets) the state and fires an event.
      + voidremovePropertyChangeListener(java.beans.PropertyChangeListener listener) + +
      +          Remove a property listener.
      + voidremovePropertyChangeListener(java.lang.String property, + java.beans.PropertyChangeListener listener) + +
      +          Remove a property listener for the named property.
      + voidremoveUdpServerListener(UdpServer.Listener l) + +
      +          Removes a UdpServer.Listener.
      + voidreset() + +
      +          Resets the server, if it is running, otherwise does nothing.
      +protected  voidrunServer() + +
      +          This method starts up and listens indefinitely + for UDP packets.
      + voidsetGroups(java.lang.String group) + +
      +          Sets the new multicast groups to which the server will join.
      +static voidsetLoggingLevel(java.util.logging.Level level) + +
      +          Static method to set the logging level using Java's + java.util.logging package.
      + voidsetPort(int port) + +
      +          Sets the new port on which the server will attempt to listen.
      + voidsetReceiveBufferSize(int size) + +
      +          Recommends a receive buffer size for the underlying MulticastSocket.
      + voidstart() + +
      +          Attempts to start the server listening and returns immediately.
      + voidstop() + +
      +          Attempts to stop the server, if the server is in + the STARTED state, and returns immediately.
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +PORT_PROP

      +
      +public static final java.lang.String PORT_PROP
      +
      +
      The port property port used with + the property change listeners and the preferences, + if a preferences object is given. +

      +

      +
      See Also:
      Constant Field Values
      +
      +
      + +

      +GROUPS_PROP

      +
      +public static final java.lang.String GROUPS_PROP
      +
      +
      The multicast groups property groups used with + the property change listeners and the preferences, + if a preferences object is given. If the multicast + groups is null, then no multicast groups will be joined. +

      +

      +
      See Also:
      Constant Field Values
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +UdpServer

      +
      +public UdpServer()
      +
      +
      Constructs a new UdpServer that will listen on the default port 8000 + (but not until start() is called). + The I/O thread will not be in daemon mode. +

      +

      +
      + +

      +UdpServer

      +
      +public UdpServer(int port)
      +
      +
      Constructs a new UdpServer that will listen on the given port + (but not until start() is called). + The I/O thread will not be in daemon mode. +

      +

      +
      Parameters:
      port - The initial port on which to listen
      +
      +
      + +

      +UdpServer

      +
      +public UdpServer(int port,
      +                 java.util.concurrent.ThreadFactory factory)
      +
      +
      Constructs a new UdpServer that will listen on the given port + (but not until start() is called). The provided + ThreadFactory will be used when starting and running the server. +

      +

      +
      Parameters:
      port - The initial port on which to listen
      factory - The thread factory used to generate a thread to run the server
      +
      + + + + + + + + +
      +Method Detail
      + +

      +start

      +
      +public void start()
      +
      +
      Attempts to start the server listening and returns immediately. + Listen for start events to know if the server was + successfully started. +

      +

      +
      See Also:
      UdpServer.Listener
      +
      +
      +
      + +

      +stop

      +
      +public void stop()
      +
      +
      Attempts to stop the server, if the server is in + the STARTED state, and returns immediately. + Be sure to listen for stop events to know if the server was + successfully stopped. +

      +

      +
      See Also:
      UdpServer.Listener
      +
      +
      +
      + +

      +getState

      +
      +public UdpServer.State getState()
      +
      +
      Returns the current state of the server, one of + STOPPED, STARTING, or STARTED. +

      +

      + +
      Returns:
      state of the server
      +
      +
      +
      + +

      +recordState

      +
      +protected void recordState(UdpServer.State state)
      +
      +
      Records (sets) the state and fires an event. This method + does not change what the server is doing, only + what is reflected by the currentState variable. +

      +

      +
      Parameters:
      state - The new state of the server
      +
      +
      +
      + +

      +fireState

      +
      +public void fireState()
      +
      +
      Fires an event declaring the current state of the server. + This may encourage lazy programming on your part, but it's + handy to set yourself up as a listener and then fire an + event in order to initialize this or that. +

      +

      +
      +
      +
      +
      + +

      +reset

      +
      +public void reset()
      +
      +
      Resets the server, if it is running, otherwise does nothing. + This is accomplished by registering as a listener, stopping + the server, detecting the stop, unregistering, and starting + the server again. It's a useful design pattern, and you may + want to look at the source code for this method to check it out. +

      +

      +
      +
      +
      +
      + +

      +runServer

      +
      +protected void runServer()
      +
      +
      This method starts up and listens indefinitely + for UDP packets. On entering this method, + the state is assumed to be STARTING. Upon exiting + this method, the state will be STOPPING. +

      +

      +
      +
      +
      +
      + +

      +getPacket

      +
      +public java.net.DatagramPacket getPacket()
      +
      +
      Returns the last DatagramPacket received. +

      +

      + +
      Returns:
      the shared DatagramPacket
      +
      +
      +
      + +

      +getReceiveBufferSize

      +
      +public int getReceiveBufferSize()
      +                         throws java.net.SocketException
      +
      +
      Returns the receive buffer for the underlying MulticastSocket + if the server is currently running (otherwise there is no + MulticastSocket to query). Please see the javadocs for + java.net.MulticastSocket for more information. +

      +

      + +
      Returns:
      receive buffer size +
      Throws: +
      java.net.SocketException
      +
      +
      +
      + +

      +setReceiveBufferSize

      +
      +public void setReceiveBufferSize(int size)
      +                          throws java.net.SocketException
      +
      +
      Recommends a receive buffer size for the underlying MulticastSocket. + Please see the javadocs for + java.net.MulticastSocket for more information. +

      +

      +
      Parameters:
      size - +
      Throws: +
      java.net.SocketException
      +
      +
      +
      + +

      +getPort

      +
      +public int getPort()
      +
      +
      Returns the port on which the server is or will be listening. +

      +

      + +
      Returns:
      The port for listening.
      +
      +
      +
      + +

      +setPort

      +
      +public void setPort(int port)
      +
      +
      Sets the new port on which the server will attempt to listen. + If the server is already listening, then it will attempt to + restart on the new port, generating start and stop events. +

      +

      +
      Parameters:
      port - the new port for listening +
      Throws: +
      java.lang.IllegalArgumentException - if port is outside 0..65535
      +
      +
      +
      + +

      +getGroups

      +
      +public java.lang.String getGroups()
      +
      +
      Returns the multicast groups to which the server has joined. + May be null. +

      +

      + +
      Returns:
      The multicast groups
      +
      +
      +
      + +

      +setGroups

      +
      +public void setGroups(java.lang.String group)
      +
      +

      Sets the new multicast groups to which the server will join. + If the server is already listening, then it will attempt to + restart, generating start and stop events.

      + +

      The list of groups may be whitespace- and/or comma-separated. + When the server starts up (or restarts), the list will be + parsed, and only legitimate groups will actually be joined.

      + May be null. +

      +

      +
      Parameters:
      group - the new groups to join
      +
      +
      +
      + +

      +addUdpServerListener

      +
      +public void addUdpServerListener(UdpServer.Listener l)
      +
      +
      Adds a UdpServer.Listener. +

      +

      +
      Parameters:
      l - the UdpServer.Listener
      +
      +
      +
      + +

      +removeUdpServerListener

      +
      +public void removeUdpServerListener(UdpServer.Listener l)
      +
      +
      Removes a UdpServer.Listener. +

      +

      +
      Parameters:
      l - the UdpServer.Listener
      +
      +
      +
      + +

      +fireUdpServerPacketReceived

      +
      +protected void fireUdpServerPacketReceived()
      +
      +
      Fires event on calling thread. +

      +

      +
      +
      +
      +
      + +

      +fireUdpServerStateChanged

      +
      +protected void fireUdpServerStateChanged()
      +
      +
      Fires event on calling thread. +

      +

      +
      +
      +
      +
      + +

      +fireProperties

      +
      +public void fireProperties()
      +
      +
      Fires property chagne events for all current values + setting the old value to null and new value to the current. +

      +

      +
      +
      +
      +
      + +

      +firePropertyChange

      +
      +protected void firePropertyChange(java.lang.String prop,
      +                                  java.lang.Object oldVal,
      +                                  java.lang.Object newVal)
      +
      +
      Fire a property change event on the current thread. +

      +

      +
      Parameters:
      prop - name of property
      oldVal - old value
      newVal - new value
      +
      +
      +
      + +

      +addPropertyChangeListener

      +
      +public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
      +
      +
      Add a property listener. +

      +

      +
      Parameters:
      listener - the property change listener
      +
      +
      +
      + +

      +addPropertyChangeListener

      +
      +public void addPropertyChangeListener(java.lang.String property,
      +                                      java.beans.PropertyChangeListener listener)
      +
      +
      Add a property listener for the named property. +

      +

      +
      Parameters:
      property - the sole property name for which to register
      listener - the property change listener
      +
      +
      +
      + +

      +removePropertyChangeListener

      +
      +public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
      +
      +
      Remove a property listener. +

      +

      +
      Parameters:
      listener - the property change listener
      +
      +
      +
      + +

      +removePropertyChangeListener

      +
      +public void removePropertyChangeListener(java.lang.String property,
      +                                         java.beans.PropertyChangeListener listener)
      +
      +
      Remove a property listener for the named property. +

      +

      +
      Parameters:
      property - the sole property name for which to stop receiving events
      listener - the property change listener
      +
      +
      +
      + +

      +setLoggingLevel

      +
      +public static void setLoggingLevel(java.util.logging.Level level)
      +
      +
      Static method to set the logging level using Java's + java.util.logging package. Example: + UdpServer.setLoggingLevel(Level.OFF);. +

      +

      +
      Parameters:
      level - the new logging level
      +
      +
      +
      + +

      +getLoggingLevel

      +
      +public static java.util.logging.Level getLoggingLevel()
      +
      +
      Static method returning the logging level using Java's + java.util.logging package. +

      +

      + +
      Returns:
      the logging level
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/disutil/package-frame.html b/docs/edu/nps/moves/disutil/package-frame.html new file mode 100644 index 00000000..174550c0 --- /dev/null +++ b/docs/edu/nps/moves/disutil/package-frame.html @@ -0,0 +1,80 @@ + + + + + + +edu.nps.moves.disutil + + + + + + + + + + + +edu.nps.moves.disutil + + + + +
      +Interfaces  + +
      +NioServer.Listener +
      +PduMulticastReceiver.Listener +
      +PduNioMulticastReceiver.Listener +
      +UdpServer.Listener
      + + + + + + +
      +Classes  + +
      +DisTime +
      +NioServer +
      +NioServer.Event +
      +PduFactory +
      +PduMulticastReceiver +
      +PduMulticastReceiver.Event +
      +PduNioMulticastReceiver +
      +PduNioMulticastReceiver.Event +
      +UdpServer +
      +UdpServer.Event
      + + + + + + +
      +Enums  + +
      +NioServer.State +
      +UdpServer.State
      + + + + diff --git a/docs/edu/nps/moves/disutil/package-summary.html b/docs/edu/nps/moves/disutil/package-summary.html new file mode 100644 index 00000000..eff62e3b --- /dev/null +++ b/docs/edu/nps/moves/disutil/package-summary.html @@ -0,0 +1,235 @@ + + + + + + +edu.nps.moves.disutil + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      +

      +Package edu.nps.moves.disutil +

      + + + + + + + + + + + + + + + + + + + + + +
      +Interface Summary
      NioServer.ListenerAn interface for listening to events from a NioServer.
      PduMulticastReceiver.Listener 
      PduNioMulticastReceiver.Listener 
      UdpServer.ListenerAn interface for listening to events from a UdpServer.
      +  + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Class Summary
      DisTimeDIS time units are a pain in the ass.
      NioServerA robust class for establishing simultaneous TCP and UDP servers and manipulating + their listening ports.
      NioServer.EventAn event representing activity by a NioServer.
      PduFactorySimple factory for PDUs.
      PduMulticastReceiverA UDP server that receives DIS PDU packets and fires off events + to interested parties.
      PduMulticastReceiver.Event 
      PduNioMulticastReceiverA UDP server that receives DIS PDU packets and fires off events + to interested parties.
      PduNioMulticastReceiver.Event 
      UdpServerUsed in support of PduMulticastReceiver.
      UdpServer.EventAn event representing activity by a UdpServer.
      +  + +

      + + + + + + + + + + + + + +
      +Enum Summary
      NioServer.StateOne of four possible states for the server to be in:
      UdpServer.StateOne of four possible states for the server to be in:
      +  + +

      +

      +
      +
      + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/disutil/package-tree.html b/docs/edu/nps/moves/disutil/package-tree.html new file mode 100644 index 00000000..e363e0c5 --- /dev/null +++ b/docs/edu/nps/moves/disutil/package-tree.html @@ -0,0 +1,173 @@ + + + + + + +edu.nps.moves.disutil Class Hierarchy + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      +
      +

      +Hierarchy For Package edu.nps.moves.disutil +

      +
      +
      +
      Package Hierarchies:
      All Packages
      +
      +

      +Class Hierarchy +

      + +

      +Interface Hierarchy +

      + +

      +Enum Hierarchy +

      +
        +
      • java.lang.Object
          +
        • java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable) + +
        +
      +
      + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/examples/ClassNameComparator.html b/docs/edu/nps/moves/examples/ClassNameComparator.html new file mode 100644 index 00000000..6e968b26 --- /dev/null +++ b/docs/edu/nps/moves/examples/ClassNameComparator.html @@ -0,0 +1,323 @@ + + + + + + +ClassNameComparator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.examples +
      +Class ClassNameComparator

      +
      +java.lang.Object
      +  extended by edu.nps.moves.examples.ClassNameComparator
      +
      +
      +
      All Implemented Interfaces:
      java.util.Comparator<Pdu>
      +
      +
      +
      +
      public class ClassNameComparator
      extends java.lang.Object
      implements java.util.Comparator<Pdu>
      + + +

      +A comparator that is used by the java util classes for sorting. This + sorts members of a collection by class name. + + Used like so: + + Collections.sort(aList, new ClassNameComparator()); +

      + +

      +

      +
      Version:
      +
      $Id:$
      +
      Author:
      +
      DMcG
      +
      +
      + +

      + + + + + + + + + + + +
      +Constructor Summary
      ClassNameComparator() + +
      +           
      +  + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + intcompare(Pdu object1, + Pdu object2) + +
      +          Returns a number less than, equal to, or greater than zero, + depending on whether the object is lexically less than, equal to, + or greater than the other object.
      + booleanequals(java.lang.Object obj) + +
      +          Returns true if this comparator is the same class as the comparator passed in.
      + inthashCode() + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Constructor Detail
      + +

      +ClassNameComparator

      +
      +public ClassNameComparator()
      +
      +
      + + + + + + + + +
      +Method Detail
      + +

      +compare

      +
      +public int compare(Pdu object1,
      +                   Pdu object2)
      +
      +
      Returns a number less than, equal to, or greater than zero, + depending on whether the object is lexically less than, equal to, + or greater than the other object. +

      +

      +
      Specified by:
      compare in interface java.util.Comparator<Pdu>
      +
      +
      +
      Parameters:
      object1 -
      object2 -
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(java.lang.Object obj)
      +
      +
      Returns true if this comparator is the same class as the comparator passed in. +

      +

      +
      Specified by:
      equals in interface java.util.Comparator<Pdu>
      Overrides:
      equals in class java.lang.Object
      +
      +
      +
      Parameters:
      obj - +
      Returns:
      +
      +
      +
      + +

      +hashCode

      +
      +public int hashCode()
      +
      +
      +
      Overrides:
      hashCode in class java.lang.Object
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/examples/EspduReceiver.html b/docs/edu/nps/moves/examples/EspduReceiver.html new file mode 100644 index 00000000..545546db --- /dev/null +++ b/docs/edu/nps/moves/examples/EspduReceiver.html @@ -0,0 +1,296 @@ + + + + + + +EspduReceiver + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.examples +
      +Class EspduReceiver

      +
      +java.lang.Object
      +  extended by edu.nps.moves.examples.EspduReceiver
      +
      +
      +
      +
      public class EspduReceiver
      extends java.lang.Object
      + + +

      +Receives PDUs from the network in IEEE format. +

      + +

      +

      +
      Version:
      +
      $Id:$
      +
      Author:
      +
      DMcG
      +
      +
      + +

      + + + + + + + + + + + +
      +Field Summary
      +static intMAX_PDU_SIZE + +
      +          Max size of a PDU in binary format that we can receive.
      +  + + + + + + + + + + +
      +Constructor Summary
      EspduReceiver() + +
      +           
      +  + + + + + + + + + + + +
      +Method Summary
      +static voidmain(java.lang.String[] args) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +MAX_PDU_SIZE

      +
      +public static final int MAX_PDU_SIZE
      +
      +
      Max size of a PDU in binary format that we can receive. This is actually + somewhat outdated--PDUs can be larger--but this is a reasonable starting point +

      +

      +
      See Also:
      Constant Field Values
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +EspduReceiver

      +
      +public EspduReceiver()
      +
      +
      + + + + + + + + +
      +Method Detail
      + +

      +main

      +
      +public static void main(java.lang.String[] args)
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/examples/EspduSender.html b/docs/edu/nps/moves/examples/EspduSender.html new file mode 100644 index 00000000..0ca6b76e --- /dev/null +++ b/docs/edu/nps/moves/examples/EspduSender.html @@ -0,0 +1,313 @@ + + + + + + +EspduSender + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.examples +
      +Class EspduSender

      +
      +java.lang.Object
      +  extended by edu.nps.moves.examples.EspduSender
      +
      +
      +
      +
      public class EspduSender
      extends java.lang.Object
      + + +

      +Creates and sends ESPDUs in IEEE binary format. +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      +
      + +

      + + + + + + + + + + + + + + + +
      +Field Summary
      +static java.lang.StringMULTICAST_GROUP + +
      +          multicast group we send on
      +static intPORT + +
      +          Port we send on
      +  + + + + + + + + + + +
      +Constructor Summary
      EspduSender() + +
      +           
      +  + + + + + + + + + + + +
      +Method Summary
      +static voidmain(java.lang.String[] args) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +MULTICAST_GROUP

      +
      +public static final java.lang.String MULTICAST_GROUP
      +
      +
      multicast group we send on +

      +

      +
      See Also:
      Constant Field Values
      +
      +
      + +

      +PORT

      +
      +public static final int PORT
      +
      +
      Port we send on +

      +

      +
      See Also:
      Constant Field Values
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +EspduSender

      +
      +public EspduSender()
      +
      +
      + + + + + + + + +
      +Method Detail
      + +

      +main

      +
      +public static void main(java.lang.String[] args)
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/examples/MarshallExample.html b/docs/edu/nps/moves/examples/MarshallExample.html new file mode 100644 index 00000000..c7a2c6d4 --- /dev/null +++ b/docs/edu/nps/moves/examples/MarshallExample.html @@ -0,0 +1,264 @@ + + + + + + +MarshallExample + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.examples +
      +Class MarshallExample

      +
      +java.lang.Object
      +  extended by edu.nps.moves.examples.MarshallExample
      +
      +
      +
      +
      public class MarshallExample
      extends java.lang.Object
      + + +

      +Example of using JAXB to marshal and unmarshal to XML. Uses + Jaxb 2.1.x. +

      + +

      +

      +
      Version:
      +
      $Id:$
      +
      Author:
      +
      DMcG
      +
      +
      + +

      + + + + + + + + + + + +
      +Constructor Summary
      MarshallExample() + +
      +           
      +  + + + + + + + + + + + +
      +Method Summary
      +static voidmain(java.lang.String[] args) + +
      +          Shows two ways to marshal and unmarshal XML.
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Constructor Detail
      + +

      +MarshallExample

      +
      +public MarshallExample()
      +
      +
      + + + + + + + + +
      +Method Detail
      + +

      +main

      +
      +public static void main(java.lang.String[] args)
      +
      +
      Shows two ways to marshal and unmarshal XML. The first way to marshal + involves calling a method in a class marked as an XmlRootElement in + the generated code. The second (preferred) way involves simply calling + the required marshal/unmarshal code external to the XmlRootElement + class. +

      +

      +
      Parameters:
      args -
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/examples/MemoryView.html b/docs/edu/nps/moves/examples/MemoryView.html new file mode 100644 index 00000000..b52a4a35 --- /dev/null +++ b/docs/edu/nps/moves/examples/MemoryView.html @@ -0,0 +1,437 @@ + + + + + + +MemoryView + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.examples +
      +Class MemoryView

      +
      +java.lang.Object
      +  extended by java.awt.Component
      +      extended by java.awt.Container
      +          extended by javax.swing.JComponent
      +              extended by javax.swing.JPanel
      +                  extended by edu.nps.moves.examples.MemoryView
      +
      +
      +
      All Implemented Interfaces:
      java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
      +
      +
      +
      +
      public class MemoryView
      extends javax.swing.JPanel
      + + +

      +Used in support of PduByteBufferTester
      + Frame to display amount of free memory in the running application. +

      + Handy for use with NetBeans Developer's internal execution. Then the statistic + of free memory in the whole environment is displayed. +

      + +

      +

      +
      Version:
      +
      1.0
      +
      See Also:
      Serialized Form
      +
      + +

      + + + + + + + +
      +Nested Class Summary
      + + + + + + + +
      Nested classes/interfaces inherited from class javax.swing.JPanel
      javax.swing.JPanel.AccessibleJPanel
      +  + + + + + + + + +
      Nested classes/interfaces inherited from class javax.swing.JComponent
      javax.swing.JComponent.AccessibleJComponent
      +  + + + + + + + + +
      Nested classes/interfaces inherited from class java.awt.Container
      java.awt.Container.AccessibleAWTContainer
      +  + + + + + + + + +
      Nested classes/interfaces inherited from class java.awt.Component
      java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
      +  + + + + + + + +
      +Field Summary
      + + + + + + + +
      Fields inherited from class javax.swing.JComponent
      accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
      + + + + + + + +
      Fields inherited from class java.awt.Component
      BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
      + + + + + + + +
      Fields inherited from interface java.awt.image.ImageObserver
      ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
      +  + + + + + + + + + + +
      +Constructor Summary
      MemoryView() + +
      +          Initializes the Form
      +  + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + voidaddNotify() + +
      +          Starts the timer.
      + voidremoveNotify() + +
      +          Stops the timer.
      + voidsetRefresh(int delay) + +
      +           
      + + + + + + + +
      Methods inherited from class javax.swing.JPanel
      getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
      + + + + + + + +
      Methods inherited from class javax.swing.JComponent
      addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
      + + + + + + + +
      Methods inherited from class java.awt.Container
      add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
      + + + + + + + +
      Methods inherited from class java.awt.Component
      action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      +  +

      + + + + + + + + +
      +Constructor Detail
      + +

      +MemoryView

      +
      +public MemoryView()
      +
      +
      Initializes the Form +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +addNotify

      +
      +public void addNotify()
      +
      +
      Starts the timer. +

      +

      +
      Overrides:
      addNotify in class javax.swing.JComponent
      +
      +
      +
      +
      +
      +
      + +

      +removeNotify

      +
      +public void removeNotify()
      +
      +
      Stops the timer. +

      +

      +
      Overrides:
      removeNotify in class javax.swing.JComponent
      +
      +
      +
      +
      +
      +
      + +

      +setRefresh

      +
      +public void setRefresh(int delay)
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/examples/PduSender.html b/docs/edu/nps/moves/examples/PduSender.html new file mode 100644 index 00000000..c23453b9 --- /dev/null +++ b/docs/edu/nps/moves/examples/PduSender.html @@ -0,0 +1,334 @@ + + + + + + +PduSender + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.examples +
      +Class PduSender

      +
      +java.lang.Object
      +  extended by edu.nps.moves.examples.PduSender
      +
      +
      +
      +
      public class PduSender
      extends java.lang.Object
      + + +

      +This is an example that sends many/most types of PDUs. Useful for testing standards + compliance or getting a full set of PDUs. It also writes the generated PDUs to + an XML file. +

      + +

      +

      +
      Version:
      +
      $Id:$
      +
      Author:
      +
      DMcG
      +
      +
      + +

      + + + + + + + + + + + + + + + +
      +Field Summary
      +static java.lang.StringMULTICAST_ADDRESS + +
      +           
      +static intPORT + +
      +           
      +  + + + + + + + + + + +
      +Constructor Summary
      PduSender(int port, + java.lang.String multicast) + +
      +           
      +  + + + + + + + + + + + + + + + +
      +Method Summary
      +static voidmain(java.lang.String[] args) + +
      +           
      + voidrun() + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +PORT

      +
      +public static final int PORT
      +
      +
      +
      See Also:
      Constant Field Values
      +
      +
      + +

      +MULTICAST_ADDRESS

      +
      +public static final java.lang.String MULTICAST_ADDRESS
      +
      +
      +
      See Also:
      Constant Field Values
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +PduSender

      +
      +public PduSender(int port,
      +                 java.lang.String multicast)
      +
      +
      + + + + + + + + +
      +Method Detail
      + +

      +run

      +
      +public void run()
      +
      +
      +
      +
      +
      +
      + +

      +main

      +
      +public static void main(java.lang.String[] args)
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/examples/ReceiverPerformance.html b/docs/edu/nps/moves/examples/ReceiverPerformance.html new file mode 100644 index 00000000..727c99ce --- /dev/null +++ b/docs/edu/nps/moves/examples/ReceiverPerformance.html @@ -0,0 +1,319 @@ + + + + + + +ReceiverPerformance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.examples +
      +Class ReceiverPerformance

      +
      +java.lang.Object
      +  extended by edu.nps.moves.examples.ReceiverPerformance
      +
      +
      +
      +
      public class ReceiverPerformance
      extends java.lang.Object
      + + +

      +


      + +

      + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +static java.lang.StringMULTICAST_GROUP + +
      +           
      +static intPORT + +
      +           
      +static booleanUSE_FAST_ESPDU + +
      +           
      +  + + + + + + + + + + +
      +Constructor Summary
      ReceiverPerformance() + +
      +           
      +  + + + + + + + + + + + +
      +Method Summary
      +static voidmain(java.lang.String[] args) + +
      +           
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +PORT

      +
      +public static final int PORT
      +
      +
      +
      See Also:
      Constant Field Values
      +
      +
      + +

      +MULTICAST_GROUP

      +
      +public static final java.lang.String MULTICAST_GROUP
      +
      +
      +
      See Also:
      Constant Field Values
      +
      +
      + +

      +USE_FAST_ESPDU

      +
      +public static final boolean USE_FAST_ESPDU
      +
      +
      +
      See Also:
      Constant Field Values
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +ReceiverPerformance

      +
      +public ReceiverPerformance()
      +
      +
      + + + + + + + + +
      +Method Detail
      + +

      +main

      +
      +public static void main(java.lang.String[] args)
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/examples/TimestampComparator.html b/docs/edu/nps/moves/examples/TimestampComparator.html new file mode 100644 index 00000000..3de32c2d --- /dev/null +++ b/docs/edu/nps/moves/examples/TimestampComparator.html @@ -0,0 +1,292 @@ + + + + + + +TimestampComparator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.examples +
      +Class TimestampComparator

      +
      +java.lang.Object
      +  extended by edu.nps.moves.examples.TimestampComparator
      +
      +
      +
      +
      public class TimestampComparator
      extends java.lang.Object
      + + +

      +Uses the comparator interface to allow sorting PDUs in a collection by timestamp. + An example of use: + + Colletions.sort(pduList, new TimestampComparator()); +

      + +

      +

      +
      Author:
      +
      DMcG
      +
      +
      + +

      + + + + + + + + + + + +
      +Constructor Summary
      TimestampComparator() + +
      +           
      +  + + + + + + + + + + + + + + + +
      +Method Summary
      + intcompare(java.lang.Object object1, + java.lang.Object object2) + +
      +          Returns a number less than, equal to, or greater than zero, + depending on whether the object's timestamp less than, equal to, + or greater than the other object.
      + booleanequals(java.lang.Object obj) + +
      +          Returns true if this comparator is the same class as the comparator passed in.
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Constructor Detail
      + +

      +TimestampComparator

      +
      +public TimestampComparator()
      +
      +
      + + + + + + + + +
      +Method Detail
      + +

      +compare

      +
      +public int compare(java.lang.Object object1,
      +                   java.lang.Object object2)
      +
      +
      Returns a number less than, equal to, or greater than zero, + depending on whether the object's timestamp less than, equal to, + or greater than the other object. The objects passed in must + inherit from PDU. +

      +

      +
      +
      +
      +
      + +

      +equals

      +
      +public boolean equals(java.lang.Object obj)
      +
      +
      Returns true if this comparator is the same class as the comparator passed in. +

      +

      +
      Overrides:
      equals in class java.lang.Object
      +
      +
      +
      Parameters:
      obj - +
      Returns:
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/examples/package-frame.html b/docs/edu/nps/moves/examples/package-frame.html new file mode 100644 index 00000000..7e1307b6 --- /dev/null +++ b/docs/edu/nps/moves/examples/package-frame.html @@ -0,0 +1,50 @@ + + + + + + +edu.nps.moves.examples + + + + + + + + + + + +edu.nps.moves.examples + + + + +
      +Classes  + +
      +ClassNameComparator +
      +EspduReceiver +
      +EspduReceiverNIO +
      +EspduSender +
      +EspduSenderNIO +
      +MarshallExample +
      +MemoryView +
      +PduSender +
      +ReceiverPerformance +
      +TimestampComparator
      + + + + diff --git a/docs/edu/nps/moves/examples/package-summary.html b/docs/edu/nps/moves/examples/package-summary.html new file mode 100644 index 00000000..fd374175 --- /dev/null +++ b/docs/edu/nps/moves/examples/package-summary.html @@ -0,0 +1,189 @@ + + + + + + +edu.nps.moves.examples + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      +

      +Package edu.nps.moves.examples +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Class Summary
      ClassNameComparatorA comparator that is used by the java util classes for sorting.
      EspduReceiverReceives PDUs from the network in IEEE format.
      EspduReceiverNIOReceives PDUs from the network in IEEE format.
      EspduSenderCreates and sends ESPDUs in IEEE binary format.
      EspduSenderNIOCreates and sends ESPDUs in IEEE binary format.
      MarshallExampleExample of using JAXB to marshal and unmarshal to XML.
      MemoryViewUsed in support of PduByteBufferTester
      + Frame to display amount of free memory in the running application.
      PduSenderThis is an example that sends many/most types of PDUs.
      ReceiverPerformance 
      TimestampComparatorUses the comparator interface to allow sorting PDUs in a collection by timestamp.
      +  + +

      +

      +
      +
      + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/examples/package-tree.html b/docs/edu/nps/moves/examples/package-tree.html new file mode 100644 index 00000000..a07a5375 --- /dev/null +++ b/docs/edu/nps/moves/examples/package-tree.html @@ -0,0 +1,159 @@ + + + + + + +edu.nps.moves.examples Class Hierarchy + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      +
      +

      +Hierarchy For Package edu.nps.moves.examples +

      +
      +
      +
      Package Hierarchies:
      All Packages
      +
      +

      +Class Hierarchy +

      + +
      + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/logger/DisLogger.html b/docs/edu/nps/moves/logger/DisLogger.html new file mode 100644 index 00000000..dddae72d --- /dev/null +++ b/docs/edu/nps/moves/logger/DisLogger.html @@ -0,0 +1,436 @@ + + + + + + +DisLogger + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.logger +
      +Class DisLogger

      +
      +java.lang.Object
      +  extended by edu.nps.moves.logger.DisLogger
      +
      +
      +
      All Implemented Interfaces:
      java.lang.Runnable
      +
      +
      +
      +
      public class DisLogger
      extends java.lang.Object
      implements java.lang.Runnable
      + + +

      +Logs DIS packets to XML format. You can easily receive DIS packets off the wire faster than + they can be logged to XML, so you need to be careful about that. With a 2 GHz + core duo and OSX, on a macbook pro laptop drive, you can log roughly 1,000 + packets per second.

      + + Since we cannot hold all the PDUs in memory at once, we set up a rotating + system in which packets are read into a list, then, when the list is full, + the list is handed off to a separate thread for marshalling to XML. This + gives us at least a chance of not dropping packets while writing to file.

      + + The classes here and in LogReplay are intended to be used from the command + line, but it should be easy to wrap a GUI around them.

      + + the classes are configured via a properties file. this defines the multicast + group to listen on, the directory to which files should be written, etc. +

      + +

      +

      +
      Version:
      +
      $Id:$
      +
      Author:
      +
      DMcG
      +
      +
      + +

      + + + + + + + + + + + + + + + + + + + +
      +Field Summary
      +static intMAX_PDU_LOGFILE_SIZE + +
      +           
      +static intMAX_PDU_SIZE + +
      +          Maximum PDU size.
      +static intREAD_TIMEOUT + +
      +          How long to wait for a packet to arrive, in ms, before throwing an exception
      +  + + + + + + + + + + +
      +Constructor Summary
      DisLogger(java.util.Properties loggerProperties) + +
      +          Create a new DIS logger with the given properties object.
      +  + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + booleanfinishedWriting() + +
      +          We may have broken out of the netowrk read loop, but the writer task is + still involved in flushing out the already captured PDUs to disk.
      +static voidmain(java.lang.String[] args) + +
      +          Entry point.
      + voidrun() + +
      +          Run the logger.
      + voidsetDone() + +
      +          Breaks us out of network read log loop (perhaps after READ_TIMEOUT has passed
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +MAX_PDU_SIZE

      +
      +public static final int MAX_PDU_SIZE
      +
      +
      Maximum PDU size. Theoretically this can be 8K or more, but all our stuff is smaller +

      +

      +
      See Also:
      Constant Field Values
      +
      +
      + +

      +MAX_PDU_LOGFILE_SIZE

      +
      +public static final int MAX_PDU_LOGFILE_SIZE
      +
      +
      +
      See Also:
      Constant Field Values
      +
      +
      + +

      +READ_TIMEOUT

      +
      +public static final int READ_TIMEOUT
      +
      +
      How long to wait for a packet to arrive, in ms, before throwing an exception +

      +

      +
      See Also:
      Constant Field Values
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +DisLogger

      +
      +public DisLogger(java.util.Properties loggerProperties)
      +
      +
      Create a new DIS logger with the given properties object. This includes the + multicast group, port, an exercise name, and the number of pdus per file +

      +

      + + + + + + + + +
      +Method Detail
      + +

      +setDone

      +
      +public void setDone()
      +
      +
      Breaks us out of network read log loop (perhaps after READ_TIMEOUT has passed +

      +

      +
      +
      +
      +
      +
      +
      +
      + +

      +run

      +
      +public void run()
      +
      +
      Run the logger. Create a new factory to decode IEEE format PDUs, and start reading + into the buffer. When the buffer fills we do a quick-change and write the buffer to + a file in another thread, so we don't drop (too many) packets. +

      +

      +
      Specified by:
      run in interface java.lang.Runnable
      +
      +
      +
      +
      +
      +
      + +

      +finishedWriting

      +
      +public boolean finishedWriting()
      +
      +
      We may have broken out of the netowrk read loop, but the writer task is + still involved in flushing out the already captured PDUs to disk. This + gives us a test until that is done. +

      +

      +
      +
      +
      + +
      Returns:
      +
      +
      +
      + +

      +main

      +
      +public static void main(java.lang.String[] args)
      +
      +
      Entry point. Pass in the properties file to initialze from the command line. +

      +

      +
      +
      +
      +
      Parameters:
      args -
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/logger/LogReplay.html b/docs/edu/nps/moves/logger/LogReplay.html new file mode 100644 index 00000000..ca6f5893 --- /dev/null +++ b/docs/edu/nps/moves/logger/LogReplay.html @@ -0,0 +1,314 @@ + + + + + + +LogReplay + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.logger +
      +Class LogReplay

      +
      +java.lang.Object
      +  extended by edu.nps.moves.logger.LogReplay
      +
      +
      +
      +
      public class LogReplay
      extends java.lang.Object
      + + +

      +Reads from the log files, replaying the data on a multicast group. +

      + +

      +

      +
      Author:
      +
      mcgredo
      +
      +
      + +

      + + + + + + + + + + + +
      +Field Summary
      +static intMIN_SLEEP_TIME + +
      +          time, in milliseconds, that it is not worth sleeping for
      +  + + + + + + + + + + +
      +Constructor Summary
      LogReplay(java.util.Properties properties) + +
      +           
      +  + + + + + + + + + + + + + + + +
      +Method Summary
      +static voidmain(java.lang.String[] args) + +
      +           
      + voidreplayExercise() + +
      +          Replay the PDUs that have been logged
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Field Detail
      + +

      +MIN_SLEEP_TIME

      +
      +public static final int MIN_SLEEP_TIME
      +
      +
      time, in milliseconds, that it is not worth sleeping for +

      +

      +
      See Also:
      Constant Field Values
      +
      + + + + + + + + +
      +Constructor Detail
      + +

      +LogReplay

      +
      +public LogReplay(java.util.Properties properties)
      +
      +
      + + + + + + + + +
      +Method Detail
      + +

      +replayExercise

      +
      +public void replayExercise()
      +
      +
      Replay the PDUs that have been logged +

      +

      +
      +
      +
      +
      + +

      +main

      +
      +public static void main(java.lang.String[] args)
      +
      +
      +
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/logger/LogWriter.html b/docs/edu/nps/moves/logger/LogWriter.html new file mode 100644 index 00000000..d0fa22d7 --- /dev/null +++ b/docs/edu/nps/moves/logger/LogWriter.html @@ -0,0 +1,349 @@ + + + + + + +LogWriter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +

      + +edu.nps.moves.logger +
      +Class LogWriter

      +
      +java.lang.Object
      +  extended by edu.nps.moves.logger.LogWriter
      +
      +
      +
      All Implemented Interfaces:
      java.lang.Runnable
      +
      +
      +
      +
      public class LogWriter
      extends java.lang.Object
      implements java.lang.Runnable
      + + +

      +Writes the contents of the PDU buffer to the file in a separate thread. + + This accepts Lists of PDUs from the reader thread and writes them out in + XML format. Since the reader thread may be faster at times than the writer, + we can queue up PDU lists and write them out as we get the chance. +

      + +

      +

      +
      Version:
      +
      $Id:$
      +
      Author:
      +
      mcgredo
      +
      +
      + +

      + + + + + + + + + + + +
      +Constructor Summary
      LogWriter(java.lang.String pExerciseName) + +
      +          Creates a new instance of LogWriter.
      +  + + + + + + + + + + + + + + + + + + + + + + + +
      +Method Summary
      + voidaddListToWriteQueue(java.util.List<Pdu> pduList) + +
      +          Add a list of PDUs to our write queue
      + booleanfinishedWriting() + +
      +          Test to see whether we're done writing and it's OK to quit the thread
      + voidrun() + +
      +          Start writing PDUs.
      + voidsetUnqueuedPdus(boolean state) + +
      +          Irritating interaction with the reder thread.
      + + + + + + + +
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +  +

      + + + + + + + + +
      +Constructor Detail
      + +

      +LogWriter

      +
      +public LogWriter(java.lang.String pExerciseName)
      +
      +
      Creates a new instance of LogWriter. Exercise name is used to + create a directory we write log files to +

      +

      +
      Parameters:
      pExerciseName -
      +
      + + + + + + + + +
      +Method Detail
      + +

      +setUnqueuedPdus

      +
      +public void setUnqueuedPdus(boolean state)
      +
      +
      Irritating interaction with the reder thread. They may have read a + few PDUs, but don't have enough for a "full" list to send to us. + this keeps the writer thread alive until it sends the data to us. +

      +

      +
      +
      +
      +
      Parameters:
      state -
      +
      +
      +
      + +

      +addListToWriteQueue

      +
      +public void addListToWriteQueue(java.util.List<Pdu> pduList)
      +
      +
      Add a list of PDUs to our write queue +

      +

      +
      +
      +
      +
      Parameters:
      pduList -
      +
      +
      +
      + +

      +run

      +
      +public void run()
      +
      +
      Start writing PDUs. This blocks if it has no PDU lists to write. +

      +

      +
      Specified by:
      run in interface java.lang.Runnable
      +
      +
      +
      +
      +
      +
      + +

      +finishedWriting

      +
      +public boolean finishedWriting()
      +
      +
      Test to see whether we're done writing and it's OK to quit the thread +

      +

      +
      +
      +
      + +
      Returns:
      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/logger/package-frame.html b/docs/edu/nps/moves/logger/package-frame.html new file mode 100644 index 00000000..d9294854 --- /dev/null +++ b/docs/edu/nps/moves/logger/package-frame.html @@ -0,0 +1,36 @@ + + + + + + +edu.nps.moves.logger + + + + + + + + + + + +edu.nps.moves.logger + + + + +
      +Classes  + +
      +DisLogger +
      +LogReplay +
      +LogWriter
      + + + + diff --git a/docs/edu/nps/moves/logger/package-summary.html b/docs/edu/nps/moves/logger/package-summary.html new file mode 100644 index 00000000..594c9ac8 --- /dev/null +++ b/docs/edu/nps/moves/logger/package-summary.html @@ -0,0 +1,160 @@ + + + + + + +edu.nps.moves.logger + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      +

      +Package edu.nps.moves.logger +

      + + + + + + + + + + + + + + + + + +
      +Class Summary
      DisLoggerLogs DIS packets to XML format.
      LogReplayReads from the log files, replaying the data on a multicast group.
      LogWriterWrites the contents of the PDU buffer to the file in a separate thread.
      +  + +

      +

      +
      +
      + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/edu/nps/moves/logger/package-tree.html b/docs/edu/nps/moves/logger/package-tree.html new file mode 100644 index 00000000..5c636ae9 --- /dev/null +++ b/docs/edu/nps/moves/logger/package-tree.html @@ -0,0 +1,149 @@ + + + + + + +edu.nps.moves.logger Class Hierarchy + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      +
      +

      +Hierarchy For Package edu.nps.moves.logger +

      +
      +
      +
      Package Hierarchies:
      All Packages
      +
      +

      +Class Hierarchy +

      +
        +
      • java.lang.Object
          +
        • edu.nps.moves.logger.DisLogger (implements java.lang.Runnable) +
        • edu.nps.moves.logger.LogReplay
        • edu.nps.moves.logger.LogWriter (implements java.lang.Runnable) +
        +
      +
      + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/help-doc.html b/docs/help-doc.html new file mode 100644 index 00000000..0159e824 --- /dev/null +++ b/docs/help-doc.html @@ -0,0 +1,213 @@ + + + + + + +API Help + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      +
      +

      +How This API Document Is Organized

      +
      +This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.

      +Overview

      +
      + +

      +The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

      +

      +Package

      +
      + +

      +Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:

        +
      • Interfaces (italic)
      • Classes
      • Enums
      • Exceptions
      • Errors
      • Annotation Types
      +
      +

      +Class/Interface

      +
      + +

      +Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:

        +
      • Class inheritance diagram
      • Direct Subclasses
      • All Known Subinterfaces
      • All Known Implementing Classes
      • Class/interface declaration
      • Class/interface description +

        +

      • Nested Class Summary
      • Field Summary
      • Constructor Summary
      • Method Summary +

        +

      • Field Detail
      • Constructor Detail
      • Method Detail
      +Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.
      + +

      +Annotation Type

      +
      + +

      +Each annotation type has its own separate page with the following sections:

        +
      • Annotation Type declaration
      • Annotation Type description
      • Required Element Summary
      • Optional Element Summary
      • Element Detail
      +
      + +

      +Enum

      +
      + +

      +Each enum has its own separate page with the following sections:

        +
      • Enum declaration
      • Enum description
      • Enum Constant Summary
      • Enum Constant Detail
      +
      +

      +Tree (Class Hierarchy)

      +
      +There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.
        +
      • When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
      • When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
      +
      +

      +Deprecated API

      +
      +The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.
      +

      +Index

      +
      +The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.
      +

      +Prev/Next

      +These links take you to the next or previous class, interface, package, or related page.

      +Frames/No Frames

      +These links show and hide the HTML frames. All pages are available with or without frames. +

      +

      +Serialized Form

      +Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description. +

      +

      +Constant Field Values

      +The Constant Field Values page lists the static final fields and their values. +

      + + +This help file applies to API documentation generated using the standard doclet. + +
      +


      + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/index-all.html b/docs/index-all.html new file mode 100644 index 00000000..f85ffb66 --- /dev/null +++ b/docs/index-all.html @@ -0,0 +1,11552 @@ + + + + + + +Index + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +A B C D E F G H I J L M N O P Q R S T U V W X Y Z
      +

      +A

      +
      +
      ABSOLUTE_TIMESTAMP_MASK - +Static variable in class edu.nps.moves.dis.Pdu +
      The DIS absolute timestamp mask; used to ensure the LSB in timestamps is always set to 1 +
      ABSOLUTE_TIMESTAMP_MASK - +Static variable in class edu.nps.moves.disutil.DisTime +
        +
      acknowledgeFlag - +Variable in class edu.nps.moves.dis.AcknowledgePdu +
      type of message being acknowledged +
      acknowledgeFlag - +Variable in class edu.nps.moves.dis.AcknowledgeReliablePdu +
      ack flags +
      AcknowledgePdu - Class in edu.nps.moves.dis
      Section 5.3.6.5.
      AcknowledgePdu() - +Constructor for class edu.nps.moves.dis.AcknowledgePdu +
      Constructor +
      AcknowledgeReliablePdu - Class in edu.nps.moves.dis
      Section 5.3.12.5: Ack receipt of a start-resume, stop-freeze, create-entity or remove enitty (reliable) pdus.
      AcknowledgeReliablePdu() - +Constructor for class edu.nps.moves.dis.AcknowledgeReliablePdu +
      Constructor +
      AcousticBeamData - Class in edu.nps.moves.dis
      Used in UA PDU + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      AcousticBeamData() - +Constructor for class edu.nps.moves.dis.AcousticBeamData +
      Constructor +
      AcousticBeamFundamentalParameter - Class in edu.nps.moves.dis
      Used in UaPdu + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      AcousticBeamFundamentalParameter() - +Constructor for class edu.nps.moves.dis.AcousticBeamFundamentalParameter +
      Constructor +
      AcousticEmitter - Class in edu.nps.moves.dis
      Section 5.2.35.
      AcousticEmitter() - +Constructor for class edu.nps.moves.dis.AcousticEmitter +
      Constructor +
      AcousticEmitterSystem - Class in edu.nps.moves.dis
      5.3.35: Information about a particular UA emitter shall be represented using an Acoustic Emitter System record.
      AcousticEmitterSystem() - +Constructor for class edu.nps.moves.dis.AcousticEmitterSystem +
      Constructor +
      acousticEmitterSystem - +Variable in class edu.nps.moves.dis.AcousticEmitterSystemData +
      This field shall specify the system for a particular UA emitter. +
      AcousticEmitterSystemData - Class in edu.nps.moves.dis
      Used in the UA pdu; ties together an emmitter and a location.
      AcousticEmitterSystemData() - +Constructor for class edu.nps.moves.dis.AcousticEmitterSystemData +
      Constructor +
      acousticFunction - +Variable in class edu.nps.moves.dis.AcousticEmitterSystem +
      This field shall describe the function of the acoustic system. +
      acousticID - +Variable in class edu.nps.moves.dis.AcousticEmitterSystem +
      This field shall specify the UA emitter identification number relative to a specific system. +
      acousticIdNumber - +Variable in class edu.nps.moves.dis.AcousticEmitter +
      The UA emitter identification number relative to a specific system +
      acousticName - +Variable in class edu.nps.moves.dis.AcousticEmitter +
      the system for a particular UA emitter, and an enumeration +
      acousticName - +Variable in class edu.nps.moves.dis.AcousticEmitterSystem +
      This field shall specify the system for a particular UA emitter. +
      acousticSignatureRepresentationIndex - +Variable in class edu.nps.moves.dis.SeesPdu +
      acoustic Signature representation index +
      actionID - +Variable in class edu.nps.moves.dis.ActionRequestPdu +
      identifies the action being requested +
      actionID - +Variable in class edu.nps.moves.dis.ActionRequestReliablePdu +
      request ID +
      ActionRequestPdu - Class in edu.nps.moves.dis
      Section 5.3.6.6.
      ActionRequestPdu() - +Constructor for class edu.nps.moves.dis.ActionRequestPdu +
      Constructor +
      ActionRequestReliablePdu - Class in edu.nps.moves.dis
      Section 5.3.12.6: request from a simulation manager to a managed entity to perform a specified action.
      ActionRequestReliablePdu() - +Constructor for class edu.nps.moves.dis.ActionRequestReliablePdu +
      Constructor +
      ActionResponsePdu - Class in edu.nps.moves.dis
      Section 5.3.6.7.
      ActionResponsePdu() - +Constructor for class edu.nps.moves.dis.ActionResponsePdu +
      Constructor +
      ActionResponseReliablePdu - Class in edu.nps.moves.dis
      Section 5.3.12.7: Response from an entity to an action request PDU.
      ActionResponseReliablePdu() - +Constructor for class edu.nps.moves.dis.ActionResponseReliablePdu +
      Constructor +
      activeEmissionParameterIndex - +Variable in class edu.nps.moves.dis.AcousticBeamFundamentalParameter +
      parameter index +
      add(Matrix) - +Method in class edu.nps.moves.deadreckoning.utils.Matrix +
      Adds two matrices together +
      add(Matrix, double) - +Static method in class edu.nps.moves.deadreckoning.utils.Matrix +
      Adds a constant to each element of this matrix +
      add(Matrix, Matrix) - +Static method in class edu.nps.moves.deadreckoning.utils.Matrix +
      Static method to add any two matrices +
      add(Quaternion) - +Method in class edu.nps.moves.math.Quaternion +
        +
      add(Quaternion, Quaternion) - +Method in class edu.nps.moves.math.Quaternion +
        +
      add(Quaternion2) - +Method in class edu.nps.moves.math.Quaternion2 +
      Adds two quaternions +
      add(Vec3f) - +Method in class edu.nps.moves.math.Vec3f +
        +
      add(Vec3f, Vec3f) - +Method in class edu.nps.moves.math.Vec3f +
        +
      add(Vec4f) - +Method in class edu.nps.moves.math.Vec4f +
        +
      add(Vec4f, Vec4f) - +Method in class edu.nps.moves.math.Vec4f +
        +
      addListener(BehaviorConsumerIF) - +Method in interface edu.nps.moves.net.BehaviorProducerIF +
      Add a listener that will be notified when a PDU is + ready. +
      addListener(BehaviorConsumerIF) - +Method in class edu.nps.moves.net.BehaviorProducerUDP +
      Add a listener that will be notified when a PDU is + ready. +
      addListToWriteQueue(List<Pdu>) - +Method in class edu.nps.moves.logger.LogWriter +
      Add a list of PDUs to our write queue +
      addNioServerListener(NioServer.Listener) - +Method in class edu.nps.moves.disutil.NioServer +
      Adds a NioServer.Listener. +
      addNotify() - +Method in class edu.nps.moves.examples.MemoryView +
      Starts the timer. +
      addPduMulticastReceiverListener(PduMulticastReceiver.Listener) - +Method in class edu.nps.moves.disutil.PduMulticastReceiver +
      Adds a PduMulticastReceiver.Listener. +
      addPduMulticastReceiverListener(PduNioMulticastReceiver.Listener) - +Method in class edu.nps.moves.disutil.PduNioMulticastReceiver +
      Adds a PduNioMulticastReceiver.Listener. +
      addPropertyChangeListener(PropertyChangeListener) - +Method in class edu.nps.moves.disutil.NioServer +
      Add a property listener. +
      addPropertyChangeListener(String, PropertyChangeListener) - +Method in class edu.nps.moves.disutil.NioServer +
      Add a property listener for the named property. +
      addPropertyChangeListener(PropertyChangeListener) - +Method in class edu.nps.moves.disutil.UdpServer +
      Add a property listener. +
      addPropertyChangeListener(String, PropertyChangeListener) - +Method in class edu.nps.moves.disutil.UdpServer +
      Add a property listener for the named property. +
      addTcpBinding(SocketAddress) - +Method in class edu.nps.moves.disutil.NioServer +
      Adds a TCP binding to the server. +
      addUdpBinding(SocketAddress) - +Method in class edu.nps.moves.disutil.NioServer +
      Adds a UDP binding to the server. +
      addUdpBinding(SocketAddress, String) - +Method in class edu.nps.moves.disutil.NioServer +
      Experimental Hack - Adds a UDP binding to the server + and joins the given multicast group (if group + is not null and is a valid multicast group). +
      addUdpServerListener(UdpServer.Listener) - +Method in class edu.nps.moves.disutil.UdpServer +
      Adds a UdpServer.Listener. +
      AggregateID - Class in edu.nps.moves.dis
      Section 5.2.36.
      AggregateID() - +Constructor for class edu.nps.moves.dis.AggregateID +
      Constructor +
      aggregateID - +Variable in class edu.nps.moves.dis.AggregateID +
      the aggregate ID +
      aggregateID - +Variable in class edu.nps.moves.dis.AggregateStatePdu +
      ID of aggregated entities +
      aggregateIDList - +Variable in class edu.nps.moves.dis.AggregateStatePdu +
      aggregates list +
      aggregateKind - +Variable in class edu.nps.moves.dis.AggregateType +
      Kind of entity +
      AggregateMarking - Class in edu.nps.moves.dis
      Section 5.2.37.
      AggregateMarking() - +Constructor for class edu.nps.moves.dis.AggregateMarking +
      Constructor +
      aggregateMarking - +Variable in class edu.nps.moves.dis.AggregateStatePdu +
      marking for aggregate; first char is charset type, rest is char data +
      aggregateState - +Variable in class edu.nps.moves.dis.AggregateStatePdu +
      state of aggregate +
      AggregateStatePdu - Class in edu.nps.moves.dis
      Section 5.3.9.1 informationa bout aggregating entities anc communicating information about the aggregated entities.
      AggregateStatePdu() - +Constructor for class edu.nps.moves.dis.AggregateStatePdu +
      Constructor +
      aggregateType - +Variable in class edu.nps.moves.dis.AggregateStatePdu +
      entity type of the aggregated entities +
      AggregateType - Class in edu.nps.moves.dis
      Section 5.2.38.
      AggregateType() - +Constructor for class edu.nps.moves.dis.AggregateType +
      Constructor +
      altCategory - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      category of entity +
      altCountry - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      country to which the design of the entity is attributed +
      altDomain - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      Domain of entity (air, surface, subsurface, space, etc) +
      altEntityKind - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      Kind of entity +
      alternateParameter4 - +Variable in class edu.nps.moves.dis.IffFundamentalData +
      Alternate parameter 4 +
      alternativeEntityType - +Variable in class edu.nps.moves.dis.EntityStatePdu +
        +
      altExtra - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      altSpecific - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      specific info based on subcategory field +
      altSubcategory - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      subcategory of entity +
      AngularVelocityVector - Class in edu.nps.moves.dis
      5.2.2: angular velocity measured in radians per second out each of the entity's own coordinate axes.
      AngularVelocityVector() - +Constructor for class edu.nps.moves.dis.AngularVelocityVector +
      Constructor +
      AntennaLocation - Class in edu.nps.moves.dis
      5.2.3: location of the radiating portion of the antenna, specified in world coordinates and entity coordinates.
      AntennaLocation() - +Constructor for class edu.nps.moves.dis.AntennaLocation +
      Constructor +
      antennaLocation - +Variable in class edu.nps.moves.dis.AntennaLocation +
      Location of the radiating portion of the antenna in world coordinates +
      antennaLocation - +Variable in class edu.nps.moves.dis.TransmitterPdu +
      Location of antenna +
      antennaPatternCount - +Variable in class edu.nps.moves.dis.TransmitterPdu +
      atenna pattern length +
      antennaPatternList - +Variable in class edu.nps.moves.dis.TransmitterPdu +
      variable length list of antenna pattern records +
      antennaPatternType - +Variable in class edu.nps.moves.dis.TransmitterPdu +
      antenna pattern type +
      ApaData - Class in edu.nps.moves.dis
      Used in UA PDU + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      ApaData() - +Constructor for class edu.nps.moves.dis.ApaData +
      Constructor +
      apaData - +Variable in class edu.nps.moves.dis.UaPdu +
      apaData +
      appearance - +Variable in class edu.nps.moves.dis.MinefieldStatePdu +
      appearance bitflags +
      applicableModes - +Variable in class edu.nps.moves.dis.FundamentalParameterDataIff +
      Applicable modes enumeration +
      application - +Variable in class edu.nps.moves.dis.AggregateID +
      The application ID +
      application - +Variable in class edu.nps.moves.dis.EntityID +
      The application ID +
      application - +Variable in class edu.nps.moves.dis.EventID +
      The application ID +
      application - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      The application ID +
      application - +Variable in class edu.nps.moves.dis.SimulationAddress +
      The application ID +
      ArealObjectStatePdu - Class in edu.nps.moves.dis
      Section 5.3.11.5: Information about the addition/modification of an oobject that is geometrically achored to the terrain with a set of three or more points that come to a closure.
      ArealObjectStatePdu() - +Constructor for class edu.nps.moves.dis.ArealObjectStatePdu +
      Constructor +
      ArticulationParameter - Class in edu.nps.moves.dis
      Section 5.2.5.
      ArticulationParameter() - +Constructor for class edu.nps.moves.dis.ArticulationParameter +
      Constructor +
      articulationParameters - +Variable in class edu.nps.moves.dis.DetonationPdu +
        +
      articulationParameters - +Variable in class edu.nps.moves.dis.EntityStatePdu +
      variable length list of articulation parameters +
      articulationParameters - +Variable in class edu.nps.moves.dis.EntityStateUpdatePdu +
        +
      articulationParameters - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      variable length list of articulation parameters +
      aThread - +Variable in class edu.nps.moves.deadreckoning.DIS_DeadReckoning +
      Thread for the DR algorithm update timing (1/30 second) +
      azimuthalBeamwidth - +Variable in class edu.nps.moves.dis.AcousticBeamFundamentalParameter +
      azimuthal beamwidth +
      azimuthBeamwidth - +Variable in class edu.nps.moves.dis.BeamAntennaPattern +
        +
      +
      +

      +B

      +
      +
      BeamAntennaPattern - Class in edu.nps.moves.dis
      Section 5.2.4.2.
      BeamAntennaPattern() - +Constructor for class edu.nps.moves.dis.BeamAntennaPattern +
      Constructor +
      beamAzimuthCenter - +Variable in class edu.nps.moves.dis.BeamData +
      Specifies the beam azimuth an elevation centers and corresponding half-angles to describe the scan volume +
      beamAzimuthCenter - +Variable in class edu.nps.moves.dis.FundamentalParameterData +
      Specifies the beam azimuth an elevation centers and corresponding half-angles to describe the scan volume +
      beamAzimuthSweep - +Variable in class edu.nps.moves.dis.BeamData +
      Specifies the beam azimuth sweep to determine scan volume +
      beamAzimuthSweep - +Variable in class edu.nps.moves.dis.FundamentalParameterData +
      Specifies the beam azimuth sweep to determine scan volume +
      beamCenterAzimuth - +Variable in class edu.nps.moves.dis.AcousticBeamFundamentalParameter +
      beam center azimuth +
      beamCenterDE - +Variable in class edu.nps.moves.dis.AcousticBeamFundamentalParameter +
      beam center +
      BeamData - Class in edu.nps.moves.dis
      Section 5.2.39.
      BeamData() - +Constructor for class edu.nps.moves.dis.BeamData +
      Constructor +
      beamData - +Variable in class edu.nps.moves.dis.IffAtcNavAidsLayer2Pdu +
      beam data +
      beamDataLength - +Variable in class edu.nps.moves.dis.AcousticBeamData +
      beam data length +
      beamDataLength - +Variable in class edu.nps.moves.dis.ElectronicEmissionBeamData +
      This field shall specify the length of this beams data in 32 bit words +
      beamDataRecords - +Variable in class edu.nps.moves.dis.ElectronicEmissionSystemData +
      variable length list of beam data records +
      beamDirection - +Variable in class edu.nps.moves.dis.BeamAntennaPattern +
      The rotation that transformst he reference coordinate sytem into the beam coordinate system. +
      beamElevationCenter - +Variable in class edu.nps.moves.dis.BeamData +
      Specifies the beam elevation center to determine scan volume +
      beamElevationCenter - +Variable in class edu.nps.moves.dis.FundamentalParameterData +
      Specifies the beam elevation center to determine scan volume +
      beamElevationSweep - +Variable in class edu.nps.moves.dis.BeamData +
      Specifies the beam elevation sweep to determine scan volume +
      beamElevationSweep - +Variable in class edu.nps.moves.dis.FundamentalParameterData +
      Specifies the beam elevation sweep to determine scan volume +
      beamFunction - +Variable in class edu.nps.moves.dis.ElectronicEmissionBeamData +
      beam function of a particular beam +
      beamID - +Variable in class edu.nps.moves.dis.TrackJamTarget +
      beam ID +
      beamIDNumber - +Variable in class edu.nps.moves.dis.AcousticBeamData +
      beamIDNumber +
      beamIDNumber - +Variable in class edu.nps.moves.dis.ElectronicEmissionBeamData +
      This field shall specify a unique emitter database number assigned to differentiate between otherwise similar or identical emitter beams within an emitter system. +
      beamParameterIndex - +Variable in class edu.nps.moves.dis.ElectronicEmissionBeamData +
      This field shall specify a Beam Parameter Index number that shall be used by receiving entities in conjunction with the Emitter Name field to provide a pointer to the stored database parameters required to regenerate the beam. +
      beamRecords - +Variable in class edu.nps.moves.dis.AcousticEmitterSystemData +
      For each beam in numberOfBeams, an emitter system. +
      beamSweepSync - +Variable in class edu.nps.moves.dis.BeamData +
      allows receiver to synchronize its regenerated scan pattern to that of the emmitter. +
      beamSweepSync - +Variable in class edu.nps.moves.dis.FundamentalParameterData +
      allows receiver to synchronize its regenerated scan pattern to that of the emmitter. +
      BehaviorConsumerIF - Interface in edu.nps.moves.net
      BehaviorConsumer is the listening part of the listener pattern.
      BehaviorProducerIF - Interface in edu.nps.moves.net
      The BehaviorProducer interface describes a class that listens + in its own thread for PDUs, then notifies any listeners when + they arrive.
      BehaviorProducerUDP - Class in edu.nps.moves.net
      This implements an object that can read and write DIS PDUs from a unicast + or multicast UDP socket.
      BehaviorProducerUDP(DatagramSocket) - +Constructor for class edu.nps.moves.net.BehaviorProducerUDP +
        +
      BehaviorWriterIF - Interface in edu.nps.moves.net
      the BehaviorWriter interface is a bit tricky, because we may write to + so many possible desinations, including the network, files, and so + on.
      BUFFER_SIZE_PROP - +Static variable in class edu.nps.moves.disutil.NioServer +
      The buffer size property. +
      BurstDescriptor - Class in edu.nps.moves.dis
      Section 5.2.7.
      BurstDescriptor() - +Constructor for class edu.nps.moves.dis.BurstDescriptor +
      Constructor +
      burstDescriptor - +Variable in class edu.nps.moves.dis.DetonationPdu +
      Describes munition used +
      burstDescriptor - +Variable in class edu.nps.moves.dis.FirePdu +
      Describes munitions used in the firing event +
      burstLength - +Variable in class edu.nps.moves.dis.FundamentalParameterDataIff +
      Burst length +
      +
      +

      +C

      +
      +
      cal - +Variable in class edu.nps.moves.disutil.DisTime +
        +
      capabilities - +Variable in class edu.nps.moves.dis.EntityStatePdu +
      a series of bit flags +
      capabilities - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      a series of bit flags +
      category - +Variable in class edu.nps.moves.dis.AggregateType +
      category of entity +
      category - +Variable in class edu.nps.moves.dis.EntityType +
      category of entity +
      category - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      category of entity +
      category - +Variable in class edu.nps.moves.dis.ObjectType +
      category of entity +
      category - +Variable in class edu.nps.moves.dis.RadioEntityType +
      category of entity +
      cell(int, int) - +Method in class edu.nps.moves.deadreckoning.utils.Matrix +
      return the value in this matrix located at the ith row and jth column +
      centerOfMass - +Variable in class edu.nps.moves.dis.AggregateStatePdu +
      center of mass of the aggregation +
      changeDelta - +Variable in class edu.nps.moves.deadreckoning.DIS_DeadReckoning +
      How far to change the location/orientation per update +
      changeIndicator - +Variable in class edu.nps.moves.dis.ArticulationParameter +
        +
      changeOptions - +Variable in class edu.nps.moves.dis.SystemID +
      Change Options +
      characters - +Variable in class edu.nps.moves.dis.AggregateMarking +
      The characters +
      characters - +Variable in class edu.nps.moves.dis.Marking +
      The characters +
      characterSet - +Variable in class edu.nps.moves.dis.AggregateMarking +
      The character set +
      characterSet - +Variable in class edu.nps.moves.dis.Marking +
      The character set +
      ClassNameComparator - Class in edu.nps.moves.examples
      A comparator that is used by the java util classes for sorting.
      ClassNameComparator() - +Constructor for class edu.nps.moves.examples.ClassNameComparator +
        +
      clearTcpBindings() - +Method in class edu.nps.moves.disutil.NioServer +
      Clears all TCP bindings. +
      clearUdpBindings() - +Method in class edu.nps.moves.disutil.NioServer +
      Clears all UDP bindings. +
      ClockTime - Class in edu.nps.moves.dis
      Section 5.2.8.
      ClockTime() - +Constructor for class edu.nps.moves.dis.ClockTime +
      Constructor +
      codeName - +Variable in class edu.nps.moves.dis.DesignatorPdu +
      This field shall specify a unique emitter database number assigned to differentiate between otherwise similar or identical emitter beams within an emitter system. +
      coefficientOfRestitution - +Variable in class edu.nps.moves.dis.CollisionElasticPdu +
      This field shall represent the degree to which energy is conserved in a collision +
      collidingEntityID - +Variable in class edu.nps.moves.dis.CollisionElasticPdu +
      ID of entity that has collided with the issuing entity ID +
      collidingEntityID - +Variable in class edu.nps.moves.dis.CollisionPdu +
      ID of entity that has collided with the issuing entity ID +
      CollisionElasticPdu - Class in edu.nps.moves.dis
      5.3.3.3.
      CollisionElasticPdu() - +Constructor for class edu.nps.moves.dis.CollisionElasticPdu +
      Constructor +
      collisionEventID - +Variable in class edu.nps.moves.dis.CollisionElasticPdu +
      ID of event +
      CollisionPdu - Class in edu.nps.moves.dis
      Section 5.3.3.2.
      CollisionPdu() - +Constructor for class edu.nps.moves.dis.CollisionPdu +
      Constructor +
      collisionResultXX - +Variable in class edu.nps.moves.dis.CollisionElasticPdu +
      tensor values +
      collisionResultXY - +Variable in class edu.nps.moves.dis.CollisionElasticPdu +
      tensor values +
      collisionResultXZ - +Variable in class edu.nps.moves.dis.CollisionElasticPdu +
      tensor values +
      collisionResultYY - +Variable in class edu.nps.moves.dis.CollisionElasticPdu +
      tensor values +
      collisionResultYZ - +Variable in class edu.nps.moves.dis.CollisionElasticPdu +
      tensor values +
      collisionResultZZ - +Variable in class edu.nps.moves.dis.CollisionElasticPdu +
      tensor values +
      collisionType - +Variable in class edu.nps.moves.dis.CollisionPdu +
      ID of event +
      cols() - +Method in class edu.nps.moves.deadreckoning.utils.Matrix +
      Get the number of columns in this matrix +
      command - +Variable in class edu.nps.moves.dis.IntercomControlPdu +
      detailed type requested. +
      CommentPdu - Class in edu.nps.moves.dis
      Section 5.3.6.12.
      CommentPdu() - +Constructor for class edu.nps.moves.dis.CommentPdu +
      Constructor +
      CommentReliablePdu - Class in edu.nps.moves.dis
      Section 5.3.12.12: Arbitrary messages.
      CommentReliablePdu() - +Constructor for class edu.nps.moves.dis.CommentReliablePdu +
      Constructor +
      communicationsChannelType - +Variable in class edu.nps.moves.dis.IntercomControlPdu +
      control type +
      communicationsDeviceID - +Variable in class edu.nps.moves.dis.IntercomSignalPdu +
      ID of communications device +
      compare(Pdu, Pdu) - +Method in class edu.nps.moves.examples.ClassNameComparator +
      Returns a number less than, equal to, or greater than zero, + depending on whether the object is lexically less than, equal to, + or greater than the other object. +
      compare(Object, Object) - +Method in class edu.nps.moves.examples.TimestampComparator +
      Returns a number less than, equal to, or greater than zero, + depending on whether the object's timestamp less than, equal to, + or greater than the other object. +
      conjugate() - +Method in class edu.nps.moves.math.Quaternion +
        +
      conjugate(Quaternion) - +Method in class edu.nps.moves.math.Quaternion +
        +
      constantGrid - +Variable in class edu.nps.moves.dis.GriddedDataPdu +
      are domain grid axes identidal to those of the priveious domain update? +
      contactVelocity - +Variable in class edu.nps.moves.dis.CollisionElasticPdu +
      velocity at collision +
      controlType - +Variable in class edu.nps.moves.dis.IntercomControlPdu +
      control type +
      coordinateSystem - +Variable in class edu.nps.moves.dis.GriddedDataPdu +
      coordinate system of the grid +
      country - +Variable in class edu.nps.moves.dis.AggregateType +
      country to which the design of the entity is attributed +
      country - +Variable in class edu.nps.moves.dis.EntityType +
      country to which the design of the entity is attributed +
      country - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      country to which the design of the entity is attributed +
      country - +Variable in class edu.nps.moves.dis.ObjectType +
      country to which the design of the entity is attributed +
      country - +Variable in class edu.nps.moves.dis.RadioEntityType +
      country to which the design of the entity is attributed +
      CreateEntityPdu - Class in edu.nps.moves.dis
      Section 5.3.6.1.
      CreateEntityPdu() - +Constructor for class edu.nps.moves.dis.CreateEntityPdu +
      Constructor +
      CreateEntityReliablePdu - Class in edu.nps.moves.dis
      Section 5.3.12.1: creation of an entity , reliable.
      CreateEntityReliablePdu() - +Constructor for class edu.nps.moves.dis.CreateEntityReliablePdu +
      Constructor +
      createPdu(byte[]) - +Method in class edu.nps.moves.disutil.PduFactory +
      PDU factory. +
      createPdu(ByteBuffer) - +Method in class edu.nps.moves.disutil.PduFactory +
      PDU factory. +
      cross(Vec3f) - +Method in class edu.nps.moves.math.Vec3f +
        +
      cross(Vec3f, Vec3f) - +Method in class edu.nps.moves.math.Vec3f +
        +
      cryptoKeyId - +Variable in class edu.nps.moves.dis.TransmitterPdu +
      crypto system key identifer +
      cryptoSystem - +Variable in class edu.nps.moves.dis.TransmitterPdu +
      crypto system enumeration +
      currentShaftRPMs - +Variable in class edu.nps.moves.dis.ShaftRPMs +
      Current shaft RPMs +
      +
      +

      +D

      +
      +
      data - +Variable in class edu.nps.moves.dis.IntercomSignalPdu +
      data bytes +
      data - +Variable in class edu.nps.moves.dis.SignalPdu +
      list of eight bit values +
      dataFilter - +Variable in class edu.nps.moves.dis.MinefieldDataPdu +
      32 boolean fields +
      dataFilter - +Variable in class edu.nps.moves.dis.MinefieldQueryPdu +
      data filter, 32 boolean fields +
      dataLength - +Variable in class edu.nps.moves.dis.IntercomSignalPdu +
      data length +
      dataLength - +Variable in class edu.nps.moves.dis.SignalPdu +
      length od data +
      DataPdu - Class in edu.nps.moves.dis
      Section 5.3.6.10.
      DataPdu() - +Constructor for class edu.nps.moves.dis.DataPdu +
      Constructor +
      DataQueryPdu - Class in edu.nps.moves.dis
      Section 5.3.6.8.
      DataQueryPdu() - +Constructor for class edu.nps.moves.dis.DataQueryPdu +
      Constructor +
      DataQueryReliablePdu - Class in edu.nps.moves.dis
      Section 5.3.12.8: request for data from an entity.
      DataQueryReliablePdu() - +Constructor for class edu.nps.moves.dis.DataQueryReliablePdu +
      Constructor +
      DataReliablePdu - Class in edu.nps.moves.dis
      Section 5.3.12.10: issued in response to a data query R or set dataR pdu.
      DataReliablePdu() - +Constructor for class edu.nps.moves.dis.DataReliablePdu +
      Constructor +
      dataRepresentation - +Variable in class edu.nps.moves.dis.GridAxisRecord +
      value that describes data representation +
      dataValues - +Variable in class edu.nps.moves.dis.GridAxisRecordRepresentation0 +
      variable length list of data parameters @@@this is wrong--need padding as well +
      dataValues - +Variable in class edu.nps.moves.dis.GridAxisRecordRepresentation1 +
      variable length list of data parameters @@@this is wrong--need padding as well +
      dataValues - +Variable in class edu.nps.moves.dis.GridAxisRecordRepresentation2 +
      variable length list of data parameters @@@this is wrong--need padding as well +
      deadReckoningAlgorithm - +Variable in class edu.nps.moves.dis.DeadReckoningParameter +
      enumeration of what dead reckoning algorighm to use +
      deadReckoningAlgorithm - +Variable in class edu.nps.moves.dis.DesignatorPdu +
      Dead reckoning algorithm +
      deadReckoningAlgorithm - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      enumeration of what dead reckoning algorighm to use +
      DeadReckoningParameter - Class in edu.nps.moves.dis
      represents values used in dead reckoning algorithms + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      DeadReckoningParameter() - +Constructor for class edu.nps.moves.dis.DeadReckoningParameter +
      Constructor +
      deadReckoningParameters - +Variable in class edu.nps.moves.dis.EntityStatePdu +
      parameters used for dead reckoning +
      deBeamwidth - +Variable in class edu.nps.moves.dis.AcousticBeamFundamentalParameter +
      DE beamwidth (vertical beamwidth) +
      deltaCt - +Variable in class edu.nps.moves.deadreckoning.DIS_DeadReckoning +
      How many updates have occured ... +
      designatedEntityID - +Variable in class edu.nps.moves.dis.DesignatorPdu +
      ID of the entity being designated +
      designatingEntityID - +Variable in class edu.nps.moves.dis.DesignatorPdu +
      ID of the entity designating +
      designatorCode - +Variable in class edu.nps.moves.dis.DesignatorPdu +
      This field shall identify the designator code being used by the designating entity +
      DesignatorPdu - Class in edu.nps.moves.dis
      Section 5.3.7.2.
      DesignatorPdu() - +Constructor for class edu.nps.moves.dis.DesignatorPdu +
      Constructor +
      designatorPower - +Variable in class edu.nps.moves.dis.DesignatorPdu +
      This field shall identify the designator output power in watts +
      designatorSpotLocation - +Variable in class edu.nps.moves.dis.DesignatorPdu +
      designtor spot wrt the designated entity +
      designatorSpotWrtDesignated - +Variable in class edu.nps.moves.dis.DesignatorPdu +
      designtor spot wrt the designated entity +
      designatorWavelength - +Variable in class edu.nps.moves.dis.DesignatorPdu +
      This field shall identify the designator wavelength in units of microns +
      det(double, double, double, double) - +Static method in class edu.nps.moves.deadreckoning.utils.Matrix +
      Solves the determinate of this 2x2 matrix +
      detail - +Variable in class edu.nps.moves.dis.ModulationType +
      detail +
      DetonationPdu - Class in edu.nps.moves.dis
      Section 5.3.4.2.
      DetonationPdu() - +Constructor for class edu.nps.moves.dis.DetonationPdu +
      Constructor +
      detonationResult - +Variable in class edu.nps.moves.dis.DetonationPdu +
      result of the explosion +
      dimensions - +Variable in class edu.nps.moves.dis.AggregateStatePdu +
      dimensions of bounding box for the aggregated entities, origin at the center of mass +
      DIS_DeadReckoning - Class in edu.nps.moves.deadreckoning
      The root super class for all DIS Dead-Reckoning algorithms.
      DIS_DeadReckoning() - +Constructor for class edu.nps.moves.deadreckoning.DIS_DeadReckoning +
      Constructor for all DR algorithms... +
      DIS_DR_FPB_06 - Class in edu.nps.moves.deadreckoning
      (SECONDARY Methods Group) Fixed, rate of position, body coordinates || + Linear motion without rotation
      DIS_DR_FPB_06() - +Constructor for class edu.nps.moves.deadreckoning.DIS_DR_FPB_06 +
        +
      DIS_DR_FPW_02 - Class in edu.nps.moves.deadreckoning
      (PRIMARY Methods group) Fixed, Rate of Positon, World || Constant Linear motion
      DIS_DR_FPW_02() - +Constructor for class edu.nps.moves.deadreckoning.DIS_DR_FPW_02 +
        +
      DIS_DR_FVB_09 - Class in edu.nps.moves.deadreckoning
      (SECONDARY Methods Group) Fixed, rate of velocity, body coordinates || + Linear Motion with Rotation
      DIS_DR_FVB_09() - +Constructor for class edu.nps.moves.deadreckoning.DIS_DR_FVB_09 +
        +
      DIS_DR_FVW_05 - Class in edu.nps.moves.deadreckoning
      (PRIMARY Methods group) Fixed, rate of velocity, world coordinates || Linear Motion with + Acceleration but no rotation
      DIS_DR_FVW_05() - +Constructor for class edu.nps.moves.deadreckoning.DIS_DR_FVW_05 +
        +
      DIS_DR_RPB_07 - Class in edu.nps.moves.deadreckoning
      (SECONDARY Methods Group) Rotating, rate of position, body coordinates || + Linear motion with Rotation
      DIS_DR_RPB_07() - +Constructor for class edu.nps.moves.deadreckoning.DIS_DR_RPB_07 +
        +
      DIS_DR_RPW_03 - Class in edu.nps.moves.deadreckoning
      (PRIMARY Methods group) Rotating, rate of position, world coordinates || Constant Linear motion with + Rotation
      DIS_DR_RPW_03() - +Constructor for class edu.nps.moves.deadreckoning.DIS_DR_RPW_03 +
        +
      DIS_DR_RPW_03b - Class in edu.nps.moves.deadreckoning
      (PRIMARY Methods group) Rotating, rate of position, world coordinates || Constant Linear motion with + Rotation (Alternative non-IEEE)
      DIS_DR_RPW_03b() - +Constructor for class edu.nps.moves.deadreckoning.DIS_DR_RPW_03b +
        +
      DIS_DR_RVB_08 - Class in edu.nps.moves.deadreckoning
      (SECONDARY Methods Group) Rotating, rate of velocity, body coordinates || + Linear motion with Rotation
      DIS_DR_RVB_08() - +Constructor for class edu.nps.moves.deadreckoning.DIS_DR_RVB_08 +
        +
      DIS_DR_RVW_04 - Class in edu.nps.moves.deadreckoning
      (PRIMARY Methods group) Rotating, rate of velocity, world coordinates || Linear Motion with + Acceleration and rotation
      DIS_DR_RVW_04() - +Constructor for class edu.nps.moves.deadreckoning.DIS_DR_RVW_04 +
        +
      DIS_DR_RVW_04b - Class in edu.nps.moves.deadreckoning
      (PRIMARY Methods group) Rotating, rate of velocity, world coordinates || Linear Motion with + Acceleration and rotation (Alterntive non-IEEE)
      DIS_DR_RVW_04b() - +Constructor for class edu.nps.moves.deadreckoning.DIS_DR_RVW_04b +
        +
      DIS_DR_Static_01 - Class in edu.nps.moves.deadreckoning
      (PRIMARY Methods group) Static DR, no movement || No motion
      DIS_DR_Static_01() - +Constructor for class edu.nps.moves.deadreckoning.DIS_DR_Static_01 +
        +
      DisLogger - Class in edu.nps.moves.logger
      Logs DIS packets to XML format.
      DisLogger(Properties) - +Constructor for class edu.nps.moves.logger.DisLogger +
      Create a new DIS logger with the given properties object. +
      DisTime - Class in edu.nps.moves.disutil
      DIS time units are a pain in the ass.
      DisTime() - +Constructor for class edu.nps.moves.disutil.DisTime +
        +
      disTime - +Static variable in class edu.nps.moves.disutil.DisTime +
        +
      DistributedEmissionsFamilyPdu - Class in edu.nps.moves.dis
      Section 5.3.7.
      DistributedEmissionsFamilyPdu() - +Constructor for class edu.nps.moves.dis.DistributedEmissionsFamilyPdu +
      Constructor +
      domain - +Variable in class edu.nps.moves.dis.AggregateType +
      Domain of entity (air, surface, subsurface, space, etc) +
      domain - +Variable in class edu.nps.moves.dis.EntityType +
      Domain of entity (air, surface, subsurface, space, etc) +
      domain - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      Domain of entity (air, surface, subsurface, space, etc) +
      domain - +Variable in class edu.nps.moves.dis.ObjectType +
      Domain of entity (air, surface, subsurface, space, etc) +
      domain - +Variable in class edu.nps.moves.dis.RadioEntityType +
      Domain of entity (air, surface, subsurface, space, etc) +
      dot(Vec3f) - +Method in class edu.nps.moves.math.Vec3f +
        +
      dot(Vec3f, Vec3f) - +Static method in class edu.nps.moves.math.Vec3f +
        +
      dot(Vec4f) - +Method in class edu.nps.moves.math.Vec4f +
        +
      dot(Vec4f, Vec4f) - +Static method in class edu.nps.moves.math.Vec4f +
        +
      dotProduct(Quaternion2) - +Method in class edu.nps.moves.math.Quaternion2 +
      Finds the dot product of two quaternions +
      +
      +

      +E

      +
      +
      edu.nps.moves.deadreckoning - package edu.nps.moves.deadreckoning
       
      edu.nps.moves.deadreckoning.utils - package edu.nps.moves.deadreckoning.utils
       
      edu.nps.moves.dis - package edu.nps.moves.dis
       
      edu.nps.moves.disutil - package edu.nps.moves.disutil
       
      edu.nps.moves.examples - package edu.nps.moves.examples
       
      edu.nps.moves.logger - package edu.nps.moves.logger
       
      edu.nps.moves.math - package edu.nps.moves.math
      Contains several useful math-related classes.
      edu.nps.moves.net - package edu.nps.moves.net
       
      effectiveRadiatedPower - +Variable in class edu.nps.moves.dis.FundamentalParameterData +
      Effective radiated power for the emission in DdBm. +
      EightByteChunk - Class in edu.nps.moves.dis
      64 bit piece of data + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      EightByteChunk() - +Constructor for class edu.nps.moves.dis.EightByteChunk +
      Constructor +
      ElectronicEmissionBeamData - Class in edu.nps.moves.dis
      Description of one electronic emission beam + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      ElectronicEmissionBeamData() - +Constructor for class edu.nps.moves.dis.ElectronicEmissionBeamData +
      Constructor +
      ElectronicEmissionsPdu - Class in edu.nps.moves.dis
      Section 5.3.7.1.
      ElectronicEmissionsPdu() - +Constructor for class edu.nps.moves.dis.ElectronicEmissionsPdu +
      Constructor +
      ElectronicEmissionSystemData - Class in edu.nps.moves.dis
      Data about one electronic system + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      ElectronicEmissionSystemData() - +Constructor for class edu.nps.moves.dis.ElectronicEmissionSystemData +
      Constructor +
      emissionsPadding2 - +Variable in class edu.nps.moves.dis.ElectronicEmissionSystemData +
      padding. +
      emitterID - +Variable in class edu.nps.moves.dis.TrackJamTarget +
      Emitter ID +
      emitterIdNumber - +Variable in class edu.nps.moves.dis.EmitterSystem +
      emitter ID, 8 bit enumeration +
      emitterLocation - +Variable in class edu.nps.moves.dis.AcousticEmitterSystemData +
      Represents the location wrt the entity +
      emitterName - +Variable in class edu.nps.moves.dis.EmitterSystem +
      Name of the emitter, 16 bit enumeration +
      emitterSystem - +Variable in class edu.nps.moves.dis.ElectronicEmissionSystemData +
      This field shall specify information about a particular emitter system +
      EmitterSystem - Class in edu.nps.moves.dis
      Section 5.2.11.
      EmitterSystem() - +Constructor for class edu.nps.moves.dis.EmitterSystem +
      Constructor +
      emitterSystemDataLength - +Variable in class edu.nps.moves.dis.AcousticEmitterSystemData +
      Length of emitter system data +
      emitterSystems - +Variable in class edu.nps.moves.dis.UaPdu +
        +
      emittingEntityID - +Variable in class edu.nps.moves.dis.ElectronicEmissionsPdu +
      ID of the entity emitting +
      emittingEntityId - +Variable in class edu.nps.moves.dis.IffAtcNavAidsLayer1Pdu +
      ID of the entity that is the source of the emissions +
      emittingEntityID - +Variable in class edu.nps.moves.dis.UaPdu +
      ID of the entity that is the source of the emission +
      encodingScheme - +Variable in class edu.nps.moves.dis.IntercomSignalPdu +
      encoding scheme +
      encodingScheme - +Variable in class edu.nps.moves.dis.SignalPdu +
      encoding scheme used, and enumeration +
      engineRpm - +Variable in class edu.nps.moves.dis.PropulsionSystemData +
      engine RPMs +
      entity - +Variable in class edu.nps.moves.dis.EntityID +
      the entity ID +
      entity - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      the entity ID +
      entityAngularVelocity - +Variable in class edu.nps.moves.dis.DeadReckoningParameter +
      angular velocity of the entity +
      entityAngularVelocity_X - +Variable in class edu.nps.moves.deadreckoning.DIS_DeadReckoning +
      The X angular velocity 32bit float +
      entityAngularVelocity_Y - +Variable in class edu.nps.moves.deadreckoning.DIS_DeadReckoning +
      The Y angular velocity 32bit float +
      entityAngularVelocity_Z - +Variable in class edu.nps.moves.deadreckoning.DIS_DeadReckoning +
      The Z angular velocity 32bit float +
      entityAppearance - +Variable in class edu.nps.moves.dis.EntityStatePdu +
      a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc. +
      entityAppearance - +Variable in class edu.nps.moves.dis.EntityStateUpdatePdu +
      a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc. +
      entityAppearance - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc. +
      EntityID - Class in edu.nps.moves.dis
      Each entity in a given DIS simulation application shall be given an entity identifier number unique to all other entities in that application.
      EntityID() - +Constructor for class edu.nps.moves.dis.EntityID +
      Constructor +
      entityID - +Variable in class edu.nps.moves.dis.EntityStatePdu +
      Unique ID for an entity that is tied to this state information +
      entityID - +Variable in class edu.nps.moves.dis.EntityStateUpdatePdu +
      This field shall identify the entity issuing the PDU +
      entityID - +Variable in class edu.nps.moves.dis.IntercomSignalPdu +
      entity ID +
      entityId - +Variable in class edu.nps.moves.dis.RadioCommunicationsFamilyPdu +
      ID of the entitythat is the source of the communication +
      entityIDList - +Variable in class edu.nps.moves.dis.AggregateStatePdu +
      entity ID list +
      EntityInformationFamilyPdu - Class in edu.nps.moves.dis
      Section 5.3.3.
      EntityInformationFamilyPdu() - +Constructor for class edu.nps.moves.dis.EntityInformationFamilyPdu +
      Constructor +
      entityKind - +Variable in class edu.nps.moves.dis.EntityType +
      Kind of entity +
      entityKind - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      Kind of entity +
      entityKind - +Variable in class edu.nps.moves.dis.ObjectType +
      Kind of entity +
      entityKind - +Variable in class edu.nps.moves.dis.RadioEntityType +
      Kind of entity +
      entityLinearAcceleration - +Variable in class edu.nps.moves.dis.DeadReckoningParameter +
      Linear acceleration of the entity +
      entityLinearAcceleration - +Variable in class edu.nps.moves.dis.DesignatorPdu +
      linear accelleration of entity +
      entityLinearAcceleration_X - +Variable in class edu.nps.moves.deadreckoning.DIS_DeadReckoning +
      The linear X acceleration 32bit float +
      entityLinearAcceleration_Y - +Variable in class edu.nps.moves.deadreckoning.DIS_DeadReckoning +
      The linear Y acceleration 32bit float +
      entityLinearAcceleration_Z - +Variable in class edu.nps.moves.deadreckoning.DIS_DeadReckoning +
      The linear Z acceleration 32bit float +
      entityLinearVelocity - +Variable in class edu.nps.moves.dis.EntityStatePdu +
      Describes the speed of the entity in the world +
      entityLinearVelocity - +Variable in class edu.nps.moves.dis.EntityStateUpdatePdu +
      Describes the speed of the entity in the world +
      entityLinearVelocity_X - +Variable in class edu.nps.moves.deadreckoning.DIS_DeadReckoning +
      The X linear velocity 32bit float +
      entityLinearVelocity_Y - +Variable in class edu.nps.moves.deadreckoning.DIS_DeadReckoning +
      The Y linear velocity 32bit float +
      entityLinearVelocity_Z - +Variable in class edu.nps.moves.deadreckoning.DIS_DeadReckoning +
      The Z linear velocity 32bit float +
      entityLocation - +Variable in class edu.nps.moves.dis.EntityStatePdu +
      describes the location of the entity in the world +
      entityLocation - +Variable in class edu.nps.moves.dis.EntityStateUpdatePdu +
      describes the location of the entity in the world +
      entityLocation_X - +Variable in class edu.nps.moves.deadreckoning.DIS_DeadReckoning +
      The entity's X coordinate location with double percision 64bit +
      entityLocation_Y - +Variable in class edu.nps.moves.deadreckoning.DIS_DeadReckoning +
      The entity's Y coordinate location with double percision 64bit +
      entityLocation_Z - +Variable in class edu.nps.moves.deadreckoning.DIS_DeadReckoning +
      The entity's Z coordinate location with double percision 64bit +
      EntityManagementFamilyPdu - Class in edu.nps.moves.dis
      Section 5.3.9.
      EntityManagementFamilyPdu() - +Constructor for class edu.nps.moves.dis.EntityManagementFamilyPdu +
      Constructor +
      entityOrientation - +Variable in class edu.nps.moves.dis.EntityStatePdu +
      describes the orientation of the entity, in euler angles +
      entityOrientation - +Variable in class edu.nps.moves.dis.EntityStateUpdatePdu +
      describes the orientation of the entity, in euler angles +
      entityOrientation_phi - +Variable in class edu.nps.moves.deadreckoning.DIS_DeadReckoning +
      The Z orientation of the entity with 32bit float +
      entityOrientation_psi - +Variable in class edu.nps.moves.deadreckoning.DIS_DeadReckoning +
      The X orientation of the entity with 32bit float +
      entityOrientation_theta - +Variable in class edu.nps.moves.deadreckoning.DIS_DeadReckoning +
      The Y orientation of the entity with 32bit float +
      EntityStatePdu - Class in edu.nps.moves.dis
      Section 5.3.3.1.
      EntityStatePdu() - +Constructor for class edu.nps.moves.dis.EntityStatePdu +
      Constructor +
      EntityStateUpdatePdu - Class in edu.nps.moves.dis
      5.3.3.4.
      EntityStateUpdatePdu() - +Constructor for class edu.nps.moves.dis.EntityStateUpdatePdu +
      Constructor +
      entityType - +Variable in class edu.nps.moves.dis.EntityStatePdu +
      Describes the type of entity in the world +
      EntityType - Class in edu.nps.moves.dis
      Section 5.2.16.
      EntityType() - +Constructor for class edu.nps.moves.dis.EntityType +
      Constructor +
      environementalProcessID - +Variable in class edu.nps.moves.dis.EnvironmentalProcessPdu +
      Environmental process ID +
      Environment - Class in edu.nps.moves.dis
      Section 5.2.40.
      Environment() - +Constructor for class edu.nps.moves.dis.Environment +
      Constructor +
      EnvironmentalProcessPdu - Class in edu.nps.moves.dis
      Section 5.3.11.1: Information about environmental effects and processes.
      EnvironmentalProcessPdu() - +Constructor for class edu.nps.moves.dis.EnvironmentalProcessPdu +
      Constructor +
      environmentalSimulationApplicationID - +Variable in class edu.nps.moves.dis.GriddedDataPdu +
      environmental simulation application ID +
      environmentRecords - +Variable in class edu.nps.moves.dis.EnvironmentalProcessPdu +
      environemt records +
      environmentStatus - +Variable in class edu.nps.moves.dis.EnvironmentalProcessPdu +
      Environment status +
      environmentType - +Variable in class edu.nps.moves.dis.Environment +
      Record type +
      environmentType - +Variable in class edu.nps.moves.dis.EnvironmentalProcessPdu +
      Environment type +
      environmentType - +Variable in class edu.nps.moves.dis.GriddedDataPdu +
      type of environment +
      equals(AcknowledgePdu) - +Method in class edu.nps.moves.dis.AcknowledgePdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(AcknowledgeReliablePdu) - +Method in class edu.nps.moves.dis.AcknowledgeReliablePdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(AcousticBeamData) - +Method in class edu.nps.moves.dis.AcousticBeamData +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(AcousticBeamFundamentalParameter) - +Method in class edu.nps.moves.dis.AcousticBeamFundamentalParameter +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(AcousticEmitter) - +Method in class edu.nps.moves.dis.AcousticEmitter +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(AcousticEmitterSystem) - +Method in class edu.nps.moves.dis.AcousticEmitterSystem +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(AcousticEmitterSystemData) - +Method in class edu.nps.moves.dis.AcousticEmitterSystemData +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(ActionRequestPdu) - +Method in class edu.nps.moves.dis.ActionRequestPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(ActionRequestReliablePdu) - +Method in class edu.nps.moves.dis.ActionRequestReliablePdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(ActionResponsePdu) - +Method in class edu.nps.moves.dis.ActionResponsePdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(ActionResponseReliablePdu) - +Method in class edu.nps.moves.dis.ActionResponseReliablePdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(AggregateID) - +Method in class edu.nps.moves.dis.AggregateID +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(AggregateMarking) - +Method in class edu.nps.moves.dis.AggregateMarking +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(AggregateStatePdu) - +Method in class edu.nps.moves.dis.AggregateStatePdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(AggregateType) - +Method in class edu.nps.moves.dis.AggregateType +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(AngularVelocityVector) - +Method in class edu.nps.moves.dis.AngularVelocityVector +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(AntennaLocation) - +Method in class edu.nps.moves.dis.AntennaLocation +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(ApaData) - +Method in class edu.nps.moves.dis.ApaData +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(ArealObjectStatePdu) - +Method in class edu.nps.moves.dis.ArealObjectStatePdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(ArticulationParameter) - +Method in class edu.nps.moves.dis.ArticulationParameter +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(BeamAntennaPattern) - +Method in class edu.nps.moves.dis.BeamAntennaPattern +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(BeamData) - +Method in class edu.nps.moves.dis.BeamData +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(BurstDescriptor) - +Method in class edu.nps.moves.dis.BurstDescriptor +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(ClockTime) - +Method in class edu.nps.moves.dis.ClockTime +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(CollisionElasticPdu) - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(CollisionPdu) - +Method in class edu.nps.moves.dis.CollisionPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(CommentPdu) - +Method in class edu.nps.moves.dis.CommentPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(CommentReliablePdu) - +Method in class edu.nps.moves.dis.CommentReliablePdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(CreateEntityPdu) - +Method in class edu.nps.moves.dis.CreateEntityPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(CreateEntityReliablePdu) - +Method in class edu.nps.moves.dis.CreateEntityReliablePdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(DataPdu) - +Method in class edu.nps.moves.dis.DataPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(DataQueryPdu) - +Method in class edu.nps.moves.dis.DataQueryPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(DataQueryReliablePdu) - +Method in class edu.nps.moves.dis.DataQueryReliablePdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(DataReliablePdu) - +Method in class edu.nps.moves.dis.DataReliablePdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(DeadReckoningParameter) - +Method in class edu.nps.moves.dis.DeadReckoningParameter +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(DesignatorPdu) - +Method in class edu.nps.moves.dis.DesignatorPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(DetonationPdu) - +Method in class edu.nps.moves.dis.DetonationPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(DistributedEmissionsFamilyPdu) - +Method in class edu.nps.moves.dis.DistributedEmissionsFamilyPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(EightByteChunk) - +Method in class edu.nps.moves.dis.EightByteChunk +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(ElectronicEmissionBeamData) - +Method in class edu.nps.moves.dis.ElectronicEmissionBeamData +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(ElectronicEmissionsPdu) - +Method in class edu.nps.moves.dis.ElectronicEmissionsPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(ElectronicEmissionSystemData) - +Method in class edu.nps.moves.dis.ElectronicEmissionSystemData +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(EmitterSystem) - +Method in class edu.nps.moves.dis.EmitterSystem +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(EntityID) - +Method in class edu.nps.moves.dis.EntityID +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(EntityInformationFamilyPdu) - +Method in class edu.nps.moves.dis.EntityInformationFamilyPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(EntityManagementFamilyPdu) - +Method in class edu.nps.moves.dis.EntityManagementFamilyPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(EntityStatePdu) - +Method in class edu.nps.moves.dis.EntityStatePdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(EntityStateUpdatePdu) - +Method in class edu.nps.moves.dis.EntityStateUpdatePdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(EntityType) - +Method in class edu.nps.moves.dis.EntityType +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(Environment) - +Method in class edu.nps.moves.dis.Environment +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(EnvironmentalProcessPdu) - +Method in class edu.nps.moves.dis.EnvironmentalProcessPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(EventID) - +Method in class edu.nps.moves.dis.EventID +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(EventReportPdu) - +Method in class edu.nps.moves.dis.EventReportPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(EventReportReliablePdu) - +Method in class edu.nps.moves.dis.EventReportReliablePdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(FastEntityStatePdu) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(FirePdu) - +Method in class edu.nps.moves.dis.FirePdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(FixedDatum) - +Method in class edu.nps.moves.dis.FixedDatum +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(FourByteChunk) - +Method in class edu.nps.moves.dis.FourByteChunk +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(FundamentalParameterData) - +Method in class edu.nps.moves.dis.FundamentalParameterData +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(FundamentalParameterDataIff) - +Method in class edu.nps.moves.dis.FundamentalParameterDataIff +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(GridAxisRecord) - +Method in class edu.nps.moves.dis.GridAxisRecord +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(GridAxisRecordRepresentation0) - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation0 +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(GridAxisRecordRepresentation1) - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation1 +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(GridAxisRecordRepresentation2) - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation2 +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(GriddedDataPdu) - +Method in class edu.nps.moves.dis.GriddedDataPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(IffAtcNavAidsLayer1Pdu) - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer1Pdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(IffAtcNavAidsLayer2Pdu) - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer2Pdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(IffFundamentalData) - +Method in class edu.nps.moves.dis.IffFundamentalData +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(IntercomCommunicationsParameters) - +Method in class edu.nps.moves.dis.IntercomCommunicationsParameters +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(IntercomControlPdu) - +Method in class edu.nps.moves.dis.IntercomControlPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(IntercomSignalPdu) - +Method in class edu.nps.moves.dis.IntercomSignalPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(IsGroupOfPdu) - +Method in class edu.nps.moves.dis.IsGroupOfPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(IsPartOfPdu) - +Method in class edu.nps.moves.dis.IsPartOfPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(LayerHeader) - +Method in class edu.nps.moves.dis.LayerHeader +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(LinearObjectStatePdu) - +Method in class edu.nps.moves.dis.LinearObjectStatePdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(LinearSegmentParameter) - +Method in class edu.nps.moves.dis.LinearSegmentParameter +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(LogisticsFamilyPdu) - +Method in class edu.nps.moves.dis.LogisticsFamilyPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(Marking) - +Method in class edu.nps.moves.dis.Marking +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(MinefieldDataPdu) - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(MinefieldFamilyPdu) - +Method in class edu.nps.moves.dis.MinefieldFamilyPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(MinefieldQueryPdu) - +Method in class edu.nps.moves.dis.MinefieldQueryPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(MinefieldResponseNackPdu) - +Method in class edu.nps.moves.dis.MinefieldResponseNackPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(MinefieldStatePdu) - +Method in class edu.nps.moves.dis.MinefieldStatePdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(ModulationType) - +Method in class edu.nps.moves.dis.ModulationType +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(NamedLocation) - +Method in class edu.nps.moves.dis.NamedLocation +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(ObjectType) - +Method in class edu.nps.moves.dis.ObjectType +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(OneByteChunk) - +Method in class edu.nps.moves.dis.OneByteChunk +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(Orientation) - +Method in class edu.nps.moves.dis.Orientation +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(Pdu) - +Method in class edu.nps.moves.dis.Pdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(PduContainer) - +Method in class edu.nps.moves.dis.PduContainer +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(Point) - +Method in class edu.nps.moves.dis.Point +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(PointObjectStatePdu) - +Method in class edu.nps.moves.dis.PointObjectStatePdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(PropulsionSystemData) - +Method in class edu.nps.moves.dis.PropulsionSystemData +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(RadioCommunicationsFamilyPdu) - +Method in class edu.nps.moves.dis.RadioCommunicationsFamilyPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(RadioEntityType) - +Method in class edu.nps.moves.dis.RadioEntityType +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(ReceiverPdu) - +Method in class edu.nps.moves.dis.ReceiverPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(RecordQueryReliablePdu) - +Method in class edu.nps.moves.dis.RecordQueryReliablePdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(RecordSet) - +Method in class edu.nps.moves.dis.RecordSet +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(Relationship) - +Method in class edu.nps.moves.dis.Relationship +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(RemoveEntityPdu) - +Method in class edu.nps.moves.dis.RemoveEntityPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(RemoveEntityReliablePdu) - +Method in class edu.nps.moves.dis.RemoveEntityReliablePdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(RepairCompletePdu) - +Method in class edu.nps.moves.dis.RepairCompletePdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(RepairResponsePdu) - +Method in class edu.nps.moves.dis.RepairResponsePdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(ResupplyCancelPdu) - +Method in class edu.nps.moves.dis.ResupplyCancelPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(ResupplyOfferPdu) - +Method in class edu.nps.moves.dis.ResupplyOfferPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(ResupplyReceivedPdu) - +Method in class edu.nps.moves.dis.ResupplyReceivedPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(SeesPdu) - +Method in class edu.nps.moves.dis.SeesPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(ServiceRequestPdu) - +Method in class edu.nps.moves.dis.ServiceRequestPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(SetDataPdu) - +Method in class edu.nps.moves.dis.SetDataPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(SetDataReliablePdu) - +Method in class edu.nps.moves.dis.SetDataReliablePdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(SetRecordReliablePdu) - +Method in class edu.nps.moves.dis.SetRecordReliablePdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(ShaftRPMs) - +Method in class edu.nps.moves.dis.ShaftRPMs +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(SignalPdu) - +Method in class edu.nps.moves.dis.SignalPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(SimulationAddress) - +Method in class edu.nps.moves.dis.SimulationAddress +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(SimulationManagementFamilyPdu) - +Method in class edu.nps.moves.dis.SimulationManagementFamilyPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(SimulationManagementWithReliabilityFamilyPdu) - +Method in class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(SixByteChunk) - +Method in class edu.nps.moves.dis.SixByteChunk +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(SphericalHarmonicAntennaPattern) - +Method in class edu.nps.moves.dis.SphericalHarmonicAntennaPattern +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(StartResumePdu) - +Method in class edu.nps.moves.dis.StartResumePdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(StartResumeReliablePdu) - +Method in class edu.nps.moves.dis.StartResumeReliablePdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(StopFreezePdu) - +Method in class edu.nps.moves.dis.StopFreezePdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(StopFreezeReliablePdu) - +Method in class edu.nps.moves.dis.StopFreezeReliablePdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(SupplyQuantity) - +Method in class edu.nps.moves.dis.SupplyQuantity +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(SyntheticEnvironmentFamilyPdu) - +Method in class edu.nps.moves.dis.SyntheticEnvironmentFamilyPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(SystemID) - +Method in class edu.nps.moves.dis.SystemID +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(TrackJamTarget) - +Method in class edu.nps.moves.dis.TrackJamTarget +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(TransferControlRequestPdu) - +Method in class edu.nps.moves.dis.TransferControlRequestPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(TransmitterPdu) - +Method in class edu.nps.moves.dis.TransmitterPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(TwoByteChunk) - +Method in class edu.nps.moves.dis.TwoByteChunk +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(UaPdu) - +Method in class edu.nps.moves.dis.UaPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(VariableDatum) - +Method in class edu.nps.moves.dis.VariableDatum +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(Vector3Double) - +Method in class edu.nps.moves.dis.Vector3Double +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(Vector3Float) - +Method in class edu.nps.moves.dis.Vector3Float +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(VectoringNozzleSystemData) - +Method in class edu.nps.moves.dis.VectoringNozzleSystemData +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(WarfareFamilyPdu) - +Method in class edu.nps.moves.dis.WarfareFamilyPdu +
      The equals method doesn't always work--mostly it works only on classes that consist only of primitives. +
      equals(Object) - +Method in class edu.nps.moves.examples.ClassNameComparator +
      Returns true if this comparator is the same class as the comparator passed in. +
      equals(Object) - +Method in class edu.nps.moves.examples.TimestampComparator +
      Returns true if this comparator is the same class as the comparator passed in. +
      erp - +Variable in class edu.nps.moves.dis.FundamentalParameterDataIff +
      ERP +
      EspduReceiver - Class in edu.nps.moves.examples
      Receives PDUs from the network in IEEE format.
      EspduReceiver() - +Constructor for class edu.nps.moves.examples.EspduReceiver +
        +
      EspduReceiverNIO - Class in edu.nps.moves.examples
      Receives PDUs from the network in IEEE format.
      EspduReceiverNIO() - +Constructor for class edu.nps.moves.examples.EspduReceiverNIO +
        +
      EspduSender - Class in edu.nps.moves.examples
      Creates and sends ESPDUs in IEEE binary format.
      EspduSender() - +Constructor for class edu.nps.moves.examples.EspduSender +
        +
      EspduSenderNIO - Class in edu.nps.moves.examples
      Creates and sends ESPDUs in IEEE binary format.
      EspduSenderNIO() - +Constructor for class edu.nps.moves.examples.EspduSenderNIO +
        +
      eventID - +Variable in class edu.nps.moves.dis.CollisionPdu +
      ID of event +
      eventID - +Variable in class edu.nps.moves.dis.DetonationPdu +
      ID firing event +
      eventID - +Variable in class edu.nps.moves.dis.ElectronicEmissionsPdu +
      ID of event +
      EventID - Class in edu.nps.moves.dis
      Section 5.2.18.
      EventID() - +Constructor for class edu.nps.moves.dis.EventID +
      Constructor +
      eventID - +Variable in class edu.nps.moves.dis.FirePdu +
      ID of event +
      eventID - +Variable in class edu.nps.moves.dis.IffAtcNavAidsLayer1Pdu +
      Number generated by the issuing simulation to associate realted events. +
      eventID - +Variable in class edu.nps.moves.dis.UaPdu +
      ID of event +
      eventNumber - +Variable in class edu.nps.moves.dis.EventID +
      the number of the event +
      EventReportPdu - Class in edu.nps.moves.dis
      Section 5.3.6.11.
      EventReportPdu() - +Constructor for class edu.nps.moves.dis.EventReportPdu +
      Constructor +
      EventReportReliablePdu - Class in edu.nps.moves.dis
      Section 5.3.12.11: reports the occurance of a significatnt event to the simulation manager.
      EventReportReliablePdu() - +Constructor for class edu.nps.moves.dis.EventReportReliablePdu +
      Constructor +
      eventType - +Variable in class edu.nps.moves.dis.EventReportPdu +
      Type of event +
      eventType - +Variable in class edu.nps.moves.dis.EventReportReliablePdu +
      Event type +
      eventType - +Variable in class edu.nps.moves.dis.RecordQueryReliablePdu +
      event type +
      ex - +Variable in class edu.nps.moves.dis.BeamAntennaPattern +
      Magnigute of the x-component in beam coordinates at some arbitrary single point in the mainbeam and in the far field of the antenna. +
      exerciseID - +Variable in class edu.nps.moves.dis.Pdu +
      Exercise ID +
      extra - +Variable in class edu.nps.moves.dis.AggregateType +
        +
      extra - +Variable in class edu.nps.moves.dis.EntityType +
        +
      extra - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      ez - +Variable in class edu.nps.moves.dis.BeamAntennaPattern +
      Magnigute of the z-component in beam coordinates at some arbitrary single point in the mainbeam and in the far field of the antenna. +
      +
      +

      +F

      +
      +
      FastEntityStatePdu - Class in edu.nps.moves.dis
      Section 5.3.3.1.
      FastEntityStatePdu() - +Constructor for class edu.nps.moves.dis.FastEntityStatePdu +
      Constructor +
      fieldNumber - +Variable in class edu.nps.moves.dis.GriddedDataPdu +
      unique identifier for each piece of enviornmental data +
      fieldOffset - +Variable in class edu.nps.moves.dis.GridAxisRecordRepresentation1 +
      constant offset used to scale grid data +
      fieldScale - +Variable in class edu.nps.moves.dis.GridAxisRecordRepresentation1 +
      constant scale factor +
      finishedWriting() - +Method in class edu.nps.moves.logger.DisLogger +
      We may have broken out of the netowrk read loop, but the writer task is + still involved in flushing out the already captured PDUs to disk. +
      finishedWriting() - +Method in class edu.nps.moves.logger.LogWriter +
      Test to see whether we're done writing and it's OK to quit the thread +
      fireConnectionClosed(SelectionKey) - +Method in class edu.nps.moves.disutil.NioServer +
      Fire when a connection is closed remotely. +
      fireExceptionNotification(Throwable) - +Method in class edu.nps.moves.disutil.NioServer +
      Fires a property change event with the new exception. +
      fireMissionIndex - +Variable in class edu.nps.moves.dis.FirePdu +
        +
      fireNewConnection(SelectionKey) - +Method in class edu.nps.moves.disutil.NioServer +
      Fire when a new connection is established. +
      FirePdu - Class in edu.nps.moves.dis
      Sectioin 5.3.4.1.
      FirePdu() - +Constructor for class edu.nps.moves.dis.FirePdu +
      Constructor +
      firePduReceived() - +Method in class edu.nps.moves.disutil.PduMulticastReceiver +
      Fires event on calling thread. +
      firePduReceived(Pdu) - +Method in class edu.nps.moves.disutil.PduNioMulticastReceiver +
      Fires event on calling thread. +
      fireProperties() - +Method in class edu.nps.moves.disutil.NioServer +
      Fires property chagne events for all current values + setting the old value to null and new value to the current. +
      fireProperties() - +Method in class edu.nps.moves.disutil.UdpServer +
      Fires property chagne events for all current values + setting the old value to null and new value to the current. +
      firePropertyChange(String, Object, Object) - +Method in class edu.nps.moves.disutil.NioServer +
      Fire a property change event on the current thread. +
      firePropertyChange(String, Object, Object) - +Method in class edu.nps.moves.disutil.UdpServer +
      Fire a property change event on the current thread. +
      fireState() - +Method in class edu.nps.moves.disutil.UdpServer +
      Fires an event declaring the current state of the server. +
      fireTcpDataReceived(SelectionKey, ByteBuffer) - +Method in class edu.nps.moves.disutil.NioServer +
      Fire when data is received. +
      fireUdpDataReceived(SelectionKey, ByteBuffer, SocketAddress) - +Method in class edu.nps.moves.disutil.NioServer +
      Fire when data is received. +
      fireUdpServerPacketReceived() - +Method in class edu.nps.moves.disutil.UdpServer +
      Fires event on calling thread. +
      fireUdpServerStateChanged() - +Method in class edu.nps.moves.disutil.UdpServer +
      Fires event on calling thread. +
      firingEntityID - +Variable in class edu.nps.moves.dis.WarfareFamilyPdu +
      ID of the entity that shot +
      FixedDatum - Class in edu.nps.moves.dis
      Section 5.2.18.
      FixedDatum() - +Constructor for class edu.nps.moves.dis.FixedDatum +
      Constructor +
      fixedDatumID - +Variable in class edu.nps.moves.dis.FixedDatum +
      ID of the fixed datum +
      fixedDatumRecords - +Variable in class edu.nps.moves.dis.ActionRequestReliablePdu +
      Fixed datum records +
      fixedDatumRecords - +Variable in class edu.nps.moves.dis.ActionResponseReliablePdu +
      Fixed datum records +
      fixedDatumRecords - +Variable in class edu.nps.moves.dis.CommentReliablePdu +
      Fixed datum records +
      fixedDatumRecords - +Variable in class edu.nps.moves.dis.DataQueryReliablePdu +
      Fixed datum records +
      fixedDatumRecords - +Variable in class edu.nps.moves.dis.DataReliablePdu +
      Fixed datum records +
      fixedDatumRecords - +Variable in class edu.nps.moves.dis.EventReportReliablePdu +
      Fixed datum records +
      fixedDatumRecords - +Variable in class edu.nps.moves.dis.SetDataReliablePdu +
      Fixed datum records +
      fixedDatums - +Variable in class edu.nps.moves.dis.ActionRequestPdu +
      variable length list of fixed datums +
      fixedDatums - +Variable in class edu.nps.moves.dis.ActionResponsePdu +
      variable length list of fixed datums +
      fixedDatums - +Variable in class edu.nps.moves.dis.CommentPdu +
      variable length list of fixed datums +
      fixedDatums - +Variable in class edu.nps.moves.dis.DataPdu +
      variable length list of fixed datums +
      fixedDatums - +Variable in class edu.nps.moves.dis.DataQueryPdu +
      variable length list of fixed datums +
      fixedDatums - +Variable in class edu.nps.moves.dis.EventReportPdu +
      variable length list of fixed datums +
      fixedDatums - +Variable in class edu.nps.moves.dis.SetDataPdu +
      variable length list of fixed datums +
      fixedDatumValue - +Variable in class edu.nps.moves.dis.FixedDatum +
      Value for the fixed datum +
      forceID - +Variable in class edu.nps.moves.dis.AggregateStatePdu +
      force ID +
      forceID - +Variable in class edu.nps.moves.dis.ArealObjectStatePdu +
      force ID +
      forceId - +Variable in class edu.nps.moves.dis.EntityStatePdu +
      What force this entity is affiliated with, eg red, blue, neutral, etc +
      forceId - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      what force this entity is affiliated with, eg red, blue, neutral, etc +
      forceID - +Variable in class edu.nps.moves.dis.LinearObjectStatePdu +
      force ID +
      forceID - +Variable in class edu.nps.moves.dis.MinefieldStatePdu +
      force ID +
      forceID - +Variable in class edu.nps.moves.dis.PointObjectStatePdu +
      force ID +
      formation - +Variable in class edu.nps.moves.dis.AggregateStatePdu +
      formation of aggregated entities +
      FourByteChunk - Class in edu.nps.moves.dis
      32 bit piece of data + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      FourByteChunk() - +Constructor for class edu.nps.moves.dis.FourByteChunk +
      Constructor +
      fps - +Variable in class edu.nps.moves.deadreckoning.DIS_DeadReckoning +
      how may times per second to update this entity's positon +
      frequency - +Variable in class edu.nps.moves.dis.FundamentalParameterData +
      center frequency of the emission in hertz. +
      frequency - +Variable in class edu.nps.moves.dis.FundamentalParameterDataIff +
      frequency +
      frequency - +Variable in class edu.nps.moves.dis.TransmitterPdu +
      frequency +
      frequencyRange - +Variable in class edu.nps.moves.dis.FundamentalParameterData +
      Bandwidth of the frequencies corresponding to the fequency field. +
      frozenBehavior - +Variable in class edu.nps.moves.dis.StopFreezePdu +
      Internal behavior of the simulation and its appearance while frozento the other participants +
      frozenBehavior - +Variable in class edu.nps.moves.dis.StopFreezeReliablePdu +
      internal behvior of the simulation while frozen +
      function - +Variable in class edu.nps.moves.dis.AcousticEmitter +
      The function of the acoustic system +
      function - +Variable in class edu.nps.moves.dis.EmitterSystem +
      function of the emitter, 8 bit enumeration +
      fundamentalDataParameters - +Variable in class edu.nps.moves.dis.AcousticBeamData +
      fundamental data parameters +
      fundamentalIffParameters - +Variable in class edu.nps.moves.dis.IffAtcNavAidsLayer2Pdu +
      variable length list of fundamental parameters. +
      fundamentalParameterData - +Variable in class edu.nps.moves.dis.ElectronicEmissionBeamData +
      Fundamental parameter data such as frequency range, beam sweep, etc. +
      FundamentalParameterData - Class in edu.nps.moves.dis
      Section 5.2.22.
      FundamentalParameterData() - +Constructor for class edu.nps.moves.dis.FundamentalParameterData +
      Constructor +
      FundamentalParameterDataIff - Class in edu.nps.moves.dis
      5.2.45.
      FundamentalParameterDataIff() - +Constructor for class edu.nps.moves.dis.FundamentalParameterDataIff +
      Constructor +
      fundamentalParameters - +Variable in class edu.nps.moves.dis.IffAtcNavAidsLayer1Pdu +
      fundamental parameters +
      fuse - +Variable in class edu.nps.moves.dis.BurstDescriptor +
      type of fuse used +
      +
      +

      +G

      +
      +
      geometry - +Variable in class edu.nps.moves.dis.Environment +
      Geometry or state record +
      get(float[], float[], float[]) - +Method in class edu.nps.moves.math.Vec3f +
        +
      get(int) - +Method in class edu.nps.moves.math.Vec3f +
        +
      get(float[]) - +Method in class edu.nps.moves.math.Vec3f +
        +
      get(Vec3f) - +Method in class edu.nps.moves.math.Vec3f +
        +
      get(float[], float[], float[], float[]) - +Method in class edu.nps.moves.math.Vec4f +
        +
      get(int) - +Method in class edu.nps.moves.math.Vec4f +
        +
      get(float[]) - +Method in class edu.nps.moves.math.Vec4f +
        +
      get(Vec4f) - +Method in class edu.nps.moves.math.Vec4f +
        +
      getAcknowledgeFlag() - +Method in class edu.nps.moves.dis.AcknowledgePdu +
        +
      getAcknowledgeFlag() - +Method in class edu.nps.moves.dis.AcknowledgeReliablePdu +
        +
      getAcousticEmitterSystem() - +Method in class edu.nps.moves.dis.AcousticEmitterSystemData +
        +
      getAcousticFunction() - +Method in class edu.nps.moves.dis.AcousticEmitterSystem +
        +
      getAcousticID() - +Method in class edu.nps.moves.dis.AcousticEmitterSystem +
        +
      getAcousticIdNumber() - +Method in class edu.nps.moves.dis.AcousticEmitter +
        +
      getAcousticName() - +Method in class edu.nps.moves.dis.AcousticEmitter +
        +
      getAcousticName() - +Method in class edu.nps.moves.dis.AcousticEmitterSystem +
        +
      getAcousticSignatureRepresentationIndex() - +Method in class edu.nps.moves.dis.SeesPdu +
        +
      getActionID() - +Method in class edu.nps.moves.dis.ActionRequestPdu +
        +
      getActionID() - +Method in class edu.nps.moves.dis.ActionRequestReliablePdu +
        +
      getActiveEmissionParameterIndex() - +Method in class edu.nps.moves.dis.AcousticBeamFundamentalParameter +
        +
      getAggregateID() - +Method in class edu.nps.moves.dis.AggregateID +
        +
      getAggregateID() - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      getAggregateIDList() - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      getAggregateKind() - +Method in class edu.nps.moves.dis.AggregateType +
        +
      getAggregateMarking() - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      getAggregateState() - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      getAggregateType() - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      getAltCategory() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getAltCountry() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getAltDomain() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getAltEntityKind() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getAlternateParameter4() - +Method in class edu.nps.moves.dis.IffFundamentalData +
        +
      getAlternativeEntityType() - +Method in class edu.nps.moves.dis.EntityStatePdu +
        +
      getAltExtra() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getAltSpecific() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getAltSubcategory() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getAntennaLocation() - +Method in class edu.nps.moves.dis.AntennaLocation +
        +
      getAntennaLocation() - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      getAntennaPatternCount() - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      getAntennaPatternList() - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      getAntennaPatternType() - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      getApaData() - +Method in class edu.nps.moves.dis.UaPdu +
        +
      getAppearance() - +Method in class edu.nps.moves.dis.MinefieldStatePdu +
        +
      getApplicableModes() - +Method in class edu.nps.moves.dis.FundamentalParameterDataIff +
        +
      getApplication() - +Method in class edu.nps.moves.dis.AggregateID +
        +
      getApplication() - +Method in class edu.nps.moves.dis.EntityID +
        +
      getApplication() - +Method in class edu.nps.moves.dis.EventID +
        +
      getApplication() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getApplication() - +Method in class edu.nps.moves.dis.SimulationAddress +
        +
      getArticulationParameters() - +Method in class edu.nps.moves.dis.DetonationPdu +
        +
      getArticulationParameters() - +Method in class edu.nps.moves.dis.EntityStatePdu +
        +
      getArticulationParameters() - +Method in class edu.nps.moves.dis.EntityStateUpdatePdu +
        +
      getArticulationParameters() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getAxisAngle(float[]) - +Method in class edu.nps.moves.math.Quaternion +
        +
      getAxisAngle(Vec4f) - +Method in class edu.nps.moves.math.Quaternion +
        +
      getAxisAngle(float[], float[]) - +Method in class edu.nps.moves.math.Quaternion +
        +
      getAxisAngle(Vec3f, float[]) - +Method in class edu.nps.moves.math.Quaternion +
        +
      getAxisAngle(float[], float[], float[], float[]) - +Method in class edu.nps.moves.math.Quaternion +
        +
      getAzimuthalBeamwidth() - +Method in class edu.nps.moves.dis.AcousticBeamFundamentalParameter +
        +
      getAzimuthBeamwidth() - +Method in class edu.nps.moves.dis.BeamAntennaPattern +
        +
      getBeamAzimuthCenter() - +Method in class edu.nps.moves.dis.BeamData +
        +
      getBeamAzimuthCenter() - +Method in class edu.nps.moves.dis.FundamentalParameterData +
        +
      getBeamAzimuthSweep() - +Method in class edu.nps.moves.dis.BeamData +
        +
      getBeamAzimuthSweep() - +Method in class edu.nps.moves.dis.FundamentalParameterData +
        +
      getBeamCenterAzimuth() - +Method in class edu.nps.moves.dis.AcousticBeamFundamentalParameter +
        +
      getBeamCenterDE() - +Method in class edu.nps.moves.dis.AcousticBeamFundamentalParameter +
        +
      getBeamData() - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer2Pdu +
        +
      getBeamDataLength() - +Method in class edu.nps.moves.dis.AcousticBeamData +
        +
      getBeamDataLength() - +Method in class edu.nps.moves.dis.ElectronicEmissionBeamData +
        +
      getBeamDataRecords() - +Method in class edu.nps.moves.dis.ElectronicEmissionSystemData +
        +
      getBeamDirection() - +Method in class edu.nps.moves.dis.BeamAntennaPattern +
        +
      getBeamElevationCenter() - +Method in class edu.nps.moves.dis.BeamData +
        +
      getBeamElevationCenter() - +Method in class edu.nps.moves.dis.FundamentalParameterData +
        +
      getBeamElevationSweep() - +Method in class edu.nps.moves.dis.BeamData +
        +
      getBeamElevationSweep() - +Method in class edu.nps.moves.dis.FundamentalParameterData +
        +
      getBeamFunction() - +Method in class edu.nps.moves.dis.ElectronicEmissionBeamData +
        +
      getBeamID() - +Method in class edu.nps.moves.dis.TrackJamTarget +
        +
      getBeamIDNumber() - +Method in class edu.nps.moves.dis.AcousticBeamData +
        +
      getBeamIDNumber() - +Method in class edu.nps.moves.dis.ElectronicEmissionBeamData +
        +
      getBeamParameterIndex() - +Method in class edu.nps.moves.dis.ElectronicEmissionBeamData +
        +
      getBeamRecords() - +Method in class edu.nps.moves.dis.AcousticEmitterSystemData +
        +
      getBeamSweepSync() - +Method in class edu.nps.moves.dis.BeamData +
        +
      getBeamSweepSync() - +Method in class edu.nps.moves.dis.FundamentalParameterData +
        +
      getBuffer() - +Method in class edu.nps.moves.disutil.NioServer.Event +
      Returns the ByteBuffer that contains + the data for this connection. +
      getBufferSize() - +Method in class edu.nps.moves.disutil.NioServer +
      Returns the size of the ByteBuffer used to read + from the connections. +
      getBurstDescriptor() - +Method in class edu.nps.moves.dis.DetonationPdu +
        +
      getBurstDescriptor() - +Method in class edu.nps.moves.dis.FirePdu +
        +
      getBurstLength() - +Method in class edu.nps.moves.dis.FundamentalParameterDataIff +
        +
      getCapabilities() - +Method in class edu.nps.moves.dis.EntityStatePdu +
        +
      getCapabilities() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getCategory() - +Method in class edu.nps.moves.dis.AggregateType +
        +
      getCategory() - +Method in class edu.nps.moves.dis.EntityType +
        +
      getCategory() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getCategory() - +Method in class edu.nps.moves.dis.ObjectType +
        +
      getCategory() - +Method in class edu.nps.moves.dis.RadioEntityType +
        +
      getCenterOfMass() - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      getChangeIndicator() - +Method in class edu.nps.moves.dis.ArticulationParameter +
        +
      getChangeOptions() - +Method in class edu.nps.moves.dis.SystemID +
        +
      getCharacters() - +Method in class edu.nps.moves.dis.AggregateMarking +
        +
      getCharacters() - +Method in class edu.nps.moves.dis.Marking +
        +
      getCharacterSet() - +Method in class edu.nps.moves.dis.AggregateMarking +
        +
      getCharacterSet() - +Method in class edu.nps.moves.dis.Marking +
        +
      getCodeName() - +Method in class edu.nps.moves.dis.DesignatorPdu +
        +
      getCoefficientOfRestitution() - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      getCollidingEntityID() - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      getCollidingEntityID() - +Method in class edu.nps.moves.dis.CollisionPdu +
        +
      getCollisionEventID() - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      getCollisionResultXX() - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      getCollisionResultXY() - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      getCollisionResultXZ() - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      getCollisionResultYY() - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      getCollisionResultYZ() - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      getCollisionResultZZ() - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      getCollisionType() - +Method in class edu.nps.moves.dis.CollisionPdu +
        +
      getCommand() - +Method in class edu.nps.moves.dis.IntercomControlPdu +
        +
      getCommunicationsChannelType() - +Method in class edu.nps.moves.dis.IntercomControlPdu +
        +
      getCommunicationsDeviceID() - +Method in class edu.nps.moves.dis.IntercomSignalPdu +
        +
      getConstantGrid() - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      getContactVelocity() - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      getControlType() - +Method in class edu.nps.moves.dis.IntercomControlPdu +
        +
      getCoordinateSystem() - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      getCountry() - +Method in class edu.nps.moves.dis.AggregateType +
        +
      getCountry() - +Method in class edu.nps.moves.dis.EntityType +
        +
      getCountry() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getCountry() - +Method in class edu.nps.moves.dis.ObjectType +
        +
      getCountry() - +Method in class edu.nps.moves.dis.RadioEntityType +
        +
      getCryptoKeyId() - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      getCryptoSystem() - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      getCurrentShaftRPMs() - +Method in class edu.nps.moves.dis.ShaftRPMs +
        +
      getData() - +Method in class edu.nps.moves.dis.IntercomSignalPdu +
        +
      getData() - +Method in class edu.nps.moves.dis.SignalPdu +
        +
      getDataFilter() - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
        +
      getDataFilter() - +Method in class edu.nps.moves.dis.MinefieldQueryPdu +
        +
      getDataLength() - +Method in class edu.nps.moves.dis.IntercomSignalPdu +
        +
      getDataLength() - +Method in class edu.nps.moves.dis.SignalPdu +
        +
      getDataRepresentation() - +Method in class edu.nps.moves.dis.GridAxisRecord +
        +
      getDataValues() - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation0 +
        +
      getDataValues() - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation1 +
        +
      getDataValues() - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation2 +
        +
      getDeadReckoningAlgorithm() - +Method in class edu.nps.moves.dis.DeadReckoningParameter +
        +
      getDeadReckoningAlgorithm() - +Method in class edu.nps.moves.dis.DesignatorPdu +
        +
      getDeadReckoningAlgorithm() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getDeadReckoningParameters() - +Method in class edu.nps.moves.dis.EntityStatePdu +
        +
      getDeBeamwidth() - +Method in class edu.nps.moves.dis.AcousticBeamFundamentalParameter +
        +
      getDesignatedEntityID() - +Method in class edu.nps.moves.dis.DesignatorPdu +
        +
      getDesignatingEntityID() - +Method in class edu.nps.moves.dis.DesignatorPdu +
        +
      getDesignatorCode() - +Method in class edu.nps.moves.dis.DesignatorPdu +
        +
      getDesignatorPower() - +Method in class edu.nps.moves.dis.DesignatorPdu +
        +
      getDesignatorSpotLocation() - +Method in class edu.nps.moves.dis.DesignatorPdu +
        +
      getDesignatorSpotWrtDesignated() - +Method in class edu.nps.moves.dis.DesignatorPdu +
        +
      getDesignatorWavelength() - +Method in class edu.nps.moves.dis.DesignatorPdu +
        +
      getDetail() - +Method in class edu.nps.moves.dis.ModulationType +
        +
      getDetonationResult() - +Method in class edu.nps.moves.dis.DetonationPdu +
        +
      getDimensions() - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      getDisAbsoluteTimestamp() - +Method in class edu.nps.moves.disutil.DisTime +
      Returns the absolute timestamp, assuminng that this host is sync'd to NTP. +
      getDisRelativeTimestamp() - +Method in class edu.nps.moves.disutil.DisTime +
      Returns the DIS standard relative timestamp, which should be used if this host + is not slaved to NTP +
      getDisTimeUnitsSinceTopOfHour() - +Method in class edu.nps.moves.disutil.DisTime +
      Returns the numbe of DIS time units since the top of the hour. +
      getDomain() - +Method in class edu.nps.moves.dis.AggregateType +
        +
      getDomain() - +Method in class edu.nps.moves.dis.EntityType +
        +
      getDomain() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getDomain() - +Method in class edu.nps.moves.dis.ObjectType +
        +
      getDomain() - +Method in class edu.nps.moves.dis.RadioEntityType +
        +
      getEffectiveRadiatedPower() - +Method in class edu.nps.moves.dis.FundamentalParameterData +
        +
      getEmissionsPadding2() - +Method in class edu.nps.moves.dis.ElectronicEmissionSystemData +
        +
      getEmitterID() - +Method in class edu.nps.moves.dis.TrackJamTarget +
        +
      getEmitterIdNumber() - +Method in class edu.nps.moves.dis.EmitterSystem +
        +
      getEmitterLocation() - +Method in class edu.nps.moves.dis.AcousticEmitterSystemData +
        +
      getEmitterName() - +Method in class edu.nps.moves.dis.EmitterSystem +
        +
      getEmitterSystem() - +Method in class edu.nps.moves.dis.ElectronicEmissionSystemData +
        +
      getEmitterSystemDataLength() - +Method in class edu.nps.moves.dis.AcousticEmitterSystemData +
        +
      getEmitterSystems() - +Method in class edu.nps.moves.dis.UaPdu +
        +
      getEmittingEntityID() - +Method in class edu.nps.moves.dis.ElectronicEmissionsPdu +
        +
      getEmittingEntityId() - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer1Pdu +
        +
      getEmittingEntityID() - +Method in class edu.nps.moves.dis.UaPdu +
        +
      getEncodingScheme() - +Method in class edu.nps.moves.dis.IntercomSignalPdu +
        +
      getEncodingScheme() - +Method in class edu.nps.moves.dis.SignalPdu +
        +
      getEngineRpm() - +Method in class edu.nps.moves.dis.PropulsionSystemData +
        +
      getEntity() - +Method in class edu.nps.moves.dis.EntityID +
        +
      getEntity() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getEntityAngularVelocity() - +Method in class edu.nps.moves.dis.DeadReckoningParameter +
        +
      getEntityAppearance() - +Method in class edu.nps.moves.dis.EntityStatePdu +
        +
      getEntityAppearance() - +Method in class edu.nps.moves.dis.EntityStateUpdatePdu +
        +
      getEntityAppearance() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getEntityID() - +Method in class edu.nps.moves.dis.EntityStatePdu +
        +
      getEntityID() - +Method in class edu.nps.moves.dis.EntityStateUpdatePdu +
        +
      getEntityID() - +Method in class edu.nps.moves.dis.IntercomSignalPdu +
        +
      getEntityId() - +Method in class edu.nps.moves.dis.RadioCommunicationsFamilyPdu +
        +
      getEntityIDList() - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      getEntityKind() - +Method in class edu.nps.moves.dis.EntityType +
        +
      getEntityKind() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getEntityKind() - +Method in class edu.nps.moves.dis.ObjectType +
        +
      getEntityKind() - +Method in class edu.nps.moves.dis.RadioEntityType +
        +
      getEntityLinearAcceleration() - +Method in class edu.nps.moves.dis.DeadReckoningParameter +
        +
      getEntityLinearAcceleration() - +Method in class edu.nps.moves.dis.DesignatorPdu +
        +
      getEntityLinearVelocity() - +Method in class edu.nps.moves.dis.EntityStatePdu +
        +
      getEntityLinearVelocity() - +Method in class edu.nps.moves.dis.EntityStateUpdatePdu +
        +
      getEntityLocation() - +Method in class edu.nps.moves.dis.EntityStatePdu +
        +
      getEntityLocation() - +Method in class edu.nps.moves.dis.EntityStateUpdatePdu +
        +
      getEntityOrientation() - +Method in class edu.nps.moves.dis.EntityStatePdu +
        +
      getEntityOrientation() - +Method in class edu.nps.moves.dis.EntityStateUpdatePdu +
        +
      getEntityType() - +Method in class edu.nps.moves.dis.EntityStatePdu +
        +
      getEnvironementalProcessID() - +Method in class edu.nps.moves.dis.EnvironmentalProcessPdu +
        +
      getEnvironmentalSimulationApplicationID() - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      getEnvironmentRecords() - +Method in class edu.nps.moves.dis.EnvironmentalProcessPdu +
        +
      getEnvironmentStatus() - +Method in class edu.nps.moves.dis.EnvironmentalProcessPdu +
        +
      getEnvironmentType() - +Method in class edu.nps.moves.dis.Environment +
        +
      getEnvironmentType() - +Method in class edu.nps.moves.dis.EnvironmentalProcessPdu +
        +
      getEnvironmentType() - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      getErp() - +Method in class edu.nps.moves.dis.FundamentalParameterDataIff +
        +
      getEulers(float[]) - +Method in class edu.nps.moves.math.Matrix3f +
        +
      getEulers(float[], float[], float[]) - +Method in class edu.nps.moves.math.Matrix3f +
        +
      getEulers(float[]) - +Method in class edu.nps.moves.math.Matrix4f +
        +
      getEulers(float[], float[], float[]) - +Method in class edu.nps.moves.math.Matrix4f +
        +
      getEulers(float[]) - +Method in class edu.nps.moves.math.Quaternion +
        +
      getEulers(float[], float[], float[]) - +Method in class edu.nps.moves.math.Quaternion +
        +
      getEventID() - +Method in class edu.nps.moves.dis.CollisionPdu +
        +
      getEventID() - +Method in class edu.nps.moves.dis.DetonationPdu +
        +
      getEventID() - +Method in class edu.nps.moves.dis.ElectronicEmissionsPdu +
        +
      getEventID() - +Method in class edu.nps.moves.dis.FirePdu +
        +
      getEventID() - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer1Pdu +
        +
      getEventID() - +Method in class edu.nps.moves.dis.UaPdu +
        +
      getEventNumber() - +Method in class edu.nps.moves.dis.EventID +
        +
      getEventType() - +Method in class edu.nps.moves.dis.EventReportPdu +
        +
      getEventType() - +Method in class edu.nps.moves.dis.EventReportReliablePdu +
        +
      getEventType() - +Method in class edu.nps.moves.dis.RecordQueryReliablePdu +
        +
      getEx() - +Method in class edu.nps.moves.dis.BeamAntennaPattern +
        +
      getExerciseID() - +Method in class edu.nps.moves.dis.Pdu +
        +
      getExtra() - +Method in class edu.nps.moves.dis.AggregateType +
        +
      getExtra() - +Method in class edu.nps.moves.dis.EntityType +
        +
      getExtra() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getEz() - +Method in class edu.nps.moves.dis.BeamAntennaPattern +
        +
      getFieldNumber() - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      getFieldOffset() - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation1 +
        +
      getFieldScale() - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation1 +
        +
      getFireMissionIndex() - +Method in class edu.nps.moves.dis.FirePdu +
        +
      getFiringEntityID() - +Method in class edu.nps.moves.dis.WarfareFamilyPdu +
        +
      getFixedDatumID() - +Method in class edu.nps.moves.dis.FixedDatum +
        +
      getFixedDatumRecords() - +Method in class edu.nps.moves.dis.ActionRequestReliablePdu +
        +
      getFixedDatumRecords() - +Method in class edu.nps.moves.dis.ActionResponseReliablePdu +
        +
      getFixedDatumRecords() - +Method in class edu.nps.moves.dis.CommentReliablePdu +
        +
      getFixedDatumRecords() - +Method in class edu.nps.moves.dis.DataQueryReliablePdu +
        +
      getFixedDatumRecords() - +Method in class edu.nps.moves.dis.DataReliablePdu +
        +
      getFixedDatumRecords() - +Method in class edu.nps.moves.dis.EventReportReliablePdu +
        +
      getFixedDatumRecords() - +Method in class edu.nps.moves.dis.SetDataReliablePdu +
        +
      getFixedDatums() - +Method in class edu.nps.moves.dis.ActionRequestPdu +
        +
      getFixedDatums() - +Method in class edu.nps.moves.dis.ActionResponsePdu +
        +
      getFixedDatums() - +Method in class edu.nps.moves.dis.CommentPdu +
        +
      getFixedDatums() - +Method in class edu.nps.moves.dis.DataPdu +
        +
      getFixedDatums() - +Method in class edu.nps.moves.dis.DataQueryPdu +
        +
      getFixedDatums() - +Method in class edu.nps.moves.dis.EventReportPdu +
        +
      getFixedDatums() - +Method in class edu.nps.moves.dis.SetDataPdu +
        +
      getFixedDatumValue() - +Method in class edu.nps.moves.dis.FixedDatum +
        +
      getForceID() - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      getForceID() - +Method in class edu.nps.moves.dis.ArealObjectStatePdu +
        +
      getForceId() - +Method in class edu.nps.moves.dis.EntityStatePdu +
        +
      getForceId() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getForceID() - +Method in class edu.nps.moves.dis.LinearObjectStatePdu +
        +
      getForceID() - +Method in class edu.nps.moves.dis.MinefieldStatePdu +
        +
      getForceID() - +Method in class edu.nps.moves.dis.PointObjectStatePdu +
        +
      getFormation() - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      getFrequency() - +Method in class edu.nps.moves.dis.FundamentalParameterData +
        +
      getFrequency() - +Method in class edu.nps.moves.dis.FundamentalParameterDataIff +
        +
      getFrequency() - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      getFrequencyRange() - +Method in class edu.nps.moves.dis.FundamentalParameterData +
        +
      getFrozenBehavior() - +Method in class edu.nps.moves.dis.StopFreezePdu +
        +
      getFrozenBehavior() - +Method in class edu.nps.moves.dis.StopFreezeReliablePdu +
        +
      getFunction() - +Method in class edu.nps.moves.dis.AcousticEmitter +
        +
      getFunction() - +Method in class edu.nps.moves.dis.EmitterSystem +
        +
      getFundamentalDataParameters() - +Method in class edu.nps.moves.dis.AcousticBeamData +
        +
      getFundamentalIffParameters() - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer2Pdu +
        +
      getFundamentalParameterData() - +Method in class edu.nps.moves.dis.ElectronicEmissionBeamData +
        +
      getFundamentalParameters() - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer1Pdu +
        +
      getFuse() - +Method in class edu.nps.moves.dis.BurstDescriptor +
        +
      getGeometry() - +Method in class edu.nps.moves.dis.Environment +
        +
      getGridDataList() - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      getGroupedEntityCategory() - +Method in class edu.nps.moves.dis.IsGroupOfPdu +
        +
      getGroupedEntityDescriptions() - +Method in class edu.nps.moves.dis.IsGroupOfPdu +
        +
      getGroupEntityID() - +Method in class edu.nps.moves.dis.IsGroupOfPdu +
        +
      getGroups() - +Method in class edu.nps.moves.disutil.UdpServer +
      Returns the multicast groups to which the server has joined. +
      getHighDensityTrackJam() - +Method in class edu.nps.moves.dis.ElectronicEmissionBeamData +
        +
      getHorizontalDeflectionAngle() - +Method in class edu.nps.moves.dis.VectoringNozzleSystemData +
        +
      getHour() - +Method in class edu.nps.moves.dis.ClockTime +
        +
      getIndex() - +Method in class edu.nps.moves.dis.Environment +
        +
      getInformationLayers() - +Method in class edu.nps.moves.dis.IffFundamentalData +
        +
      getInfraredSignatureRepresentationIndex() - +Method in class edu.nps.moves.dis.SeesPdu +
        +
      getInputSource() - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      getInstance() - +Static method in class edu.nps.moves.disutil.DisTime +
      Shared instance. +
      getIntercomParameters() - +Method in class edu.nps.moves.dis.IntercomControlPdu +
        +
      getIntercomParametersLength() - +Method in class edu.nps.moves.dis.IntercomControlPdu +
        +
      getIssuingEntityID() - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      getIssuingEntityID() - +Method in class edu.nps.moves.dis.CollisionPdu +
        +
      getJammingModeSequence() - +Method in class edu.nps.moves.dis.ElectronicEmissionBeamData +
        +
      getKey() - +Method in class edu.nps.moves.disutil.NioServer.Event +
      Returns the SelectionKey associated with this event. +
      getLastException() - +Method in class edu.nps.moves.disutil.NioServer +
      Returns the last exception (Throwable, actually) + that the server encountered. +
      getLatitude() - +Method in class edu.nps.moves.dis.IsGroupOfPdu +
        +
      getLayerHeader() - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer2Pdu +
        +
      getLayerNumber() - +Method in class edu.nps.moves.dis.LayerHeader +
        +
      getLayerSpecificInformaiton() - +Method in class edu.nps.moves.dis.LayerHeader +
        +
      getLength() - +Method in class edu.nps.moves.dis.Environment +
        +
      getLength() - +Method in class edu.nps.moves.dis.LayerHeader +
        +
      getLength() - +Method in class edu.nps.moves.dis.Pdu +
        +
      getLinearSegmentParameters() - +Method in class edu.nps.moves.dis.LinearObjectStatePdu +
        +
      getLocalSocketAddress() - +Method in class edu.nps.moves.disutil.NioServer.Event +
      Returns the local address/port to which this connection + is bound. +
      getLocation() - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      getLocation() - +Method in class edu.nps.moves.dis.CollisionPdu +
        +
      getLocation() - +Method in class edu.nps.moves.dis.ElectronicEmissionSystemData +
        +
      getLocation() - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer1Pdu +
        +
      getLocation() - +Method in class edu.nps.moves.dis.LinearSegmentParameter +
        +
      getLocationInEntityCoordinates() - +Method in class edu.nps.moves.dis.DetonationPdu +
        +
      getLocationInWorldCoordinates() - +Method in class edu.nps.moves.dis.DetonationPdu +
        +
      getLocationInWorldCoordinates() - +Method in class edu.nps.moves.dis.FirePdu +
        +
      getLoggingLevel() - +Static method in class edu.nps.moves.disutil.NioServer +
      Static method returning the logging level using Java's + java.util.logging package. +
      getLoggingLevel() - +Static method in class edu.nps.moves.disutil.UdpServer +
      Static method returning the logging level using Java's + java.util.logging package. +
      getLongitude() - +Method in class edu.nps.moves.dis.IsGroupOfPdu +
        +
      getMajor() - +Method in class edu.nps.moves.dis.ModulationType +
        +
      getMarking() - +Method in class edu.nps.moves.dis.EntityStatePdu +
        +
      getMarking() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.AcknowledgePdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.AcknowledgeReliablePdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.AcousticBeamData +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.AcousticBeamFundamentalParameter +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.AcousticEmitter +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.AcousticEmitterSystem +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.AcousticEmitterSystemData +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.ActionRequestPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.ActionRequestReliablePdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.ActionResponsePdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.ActionResponseReliablePdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.AggregateID +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.AggregateMarking +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.AggregateType +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.AngularVelocityVector +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.AntennaLocation +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.ApaData +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.ArealObjectStatePdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.ArticulationParameter +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.BeamAntennaPattern +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.BeamData +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.BurstDescriptor +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.ClockTime +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.CollisionPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.CommentPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.CommentReliablePdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.CreateEntityPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.CreateEntityReliablePdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.DataPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.DataQueryPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.DataQueryReliablePdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.DataReliablePdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.DeadReckoningParameter +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.DesignatorPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.DetonationPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.DistributedEmissionsFamilyPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.EightByteChunk +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.ElectronicEmissionBeamData +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.ElectronicEmissionsPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.ElectronicEmissionSystemData +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.EmitterSystem +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.EntityID +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.EntityInformationFamilyPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.EntityManagementFamilyPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.EntityStatePdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.EntityStateUpdatePdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.EntityType +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.Environment +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.EnvironmentalProcessPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.EventID +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.EventReportPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.EventReportReliablePdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.FirePdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.FixedDatum +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.FourByteChunk +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.FundamentalParameterData +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.FundamentalParameterDataIff +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.GridAxisRecord +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation0 +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation1 +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation2 +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer1Pdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer2Pdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.IffFundamentalData +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.IntercomCommunicationsParameters +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.IntercomControlPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.IntercomSignalPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.IsGroupOfPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.IsPartOfPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.LayerHeader +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.LinearObjectStatePdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.LinearSegmentParameter +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.LogisticsFamilyPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.Marking +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.MinefieldFamilyPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.MinefieldQueryPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.MinefieldResponseNackPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.MinefieldStatePdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.ModulationType +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.NamedLocation +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.ObjectType +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.OneByteChunk +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.Orientation +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.Pdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.PduContainer +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.Point +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.PointObjectStatePdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.PropulsionSystemData +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.RadioCommunicationsFamilyPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.RadioEntityType +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.ReceiverPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.RecordQueryReliablePdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.RecordSet +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.Relationship +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.RemoveEntityPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.RemoveEntityReliablePdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.RepairCompletePdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.RepairResponsePdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.ResupplyCancelPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.ResupplyOfferPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.ResupplyReceivedPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.SeesPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.ServiceRequestPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.SetDataPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.SetDataReliablePdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.SetRecordReliablePdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.ShaftRPMs +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.SignalPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.SimulationAddress +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.SimulationManagementFamilyPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.SixByteChunk +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.SphericalHarmonicAntennaPattern +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.StartResumePdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.StartResumeReliablePdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.StopFreezePdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.StopFreezeReliablePdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.SupplyQuantity +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.SyntheticEnvironmentFamilyPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.SystemID +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.TrackJamTarget +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.TransferControlRequestPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.TwoByteChunk +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.UaPdu +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.VariableDatum +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.Vector3Double +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.Vector3Float +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.VectoringNozzleSystemData +
        +
      getMarshalledSize() - +Method in class edu.nps.moves.dis.WarfareFamilyPdu +
        +
      getMass() - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      getMass() - +Method in class edu.nps.moves.dis.CollisionPdu +
        +
      getMasterCommunicationsDeviceID() - +Method in class edu.nps.moves.dis.IntercomControlPdu +
        +
      getMasterEntityID() - +Method in class edu.nps.moves.dis.IntercomControlPdu +
        +
      getMat(float[][]) - +Method in class edu.nps.moves.math.Matrix3f +
        +
      getMat(Matrix3f) - +Method in class edu.nps.moves.math.Matrix3f +
        +
      getMat(float[][]) - +Method in class edu.nps.moves.math.Matrix4f +
        +
      getMat(Matrix4f) - +Method in class edu.nps.moves.math.Matrix4f +
        +
      getMat3(float[][]) - +Method in class edu.nps.moves.math.Quaternion +
        +
      getMat3(Matrix3f) - +Method in class edu.nps.moves.math.Quaternion +
        +
      getMat4(float[][]) - +Method in class edu.nps.moves.math.Quaternion +
        +
      getMat4(Matrix4f) - +Method in class edu.nps.moves.math.Quaternion +
        +
      getMatValue(int, int) - +Method in class edu.nps.moves.math.Matrix3f +
        +
      getMatValue(int, int) - +Method in class edu.nps.moves.math.Matrix4f +
        +
      getMinefieldID() - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
        +
      getMinefieldID() - +Method in class edu.nps.moves.dis.MinefieldQueryPdu +
        +
      getMinefieldID() - +Method in class edu.nps.moves.dis.MinefieldResponseNackPdu +
        +
      getMinefieldID() - +Method in class edu.nps.moves.dis.MinefieldStatePdu +
        +
      getMinefieldLocation() - +Method in class edu.nps.moves.dis.MinefieldStatePdu +
        +
      getMinefieldOrientation() - +Method in class edu.nps.moves.dis.MinefieldStatePdu +
        +
      getMinefieldSequence() - +Method in class edu.nps.moves.dis.MinefieldStatePdu +
        +
      getMinefieldSequenceNumbeer() - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
        +
      getMinefieldType() - +Method in class edu.nps.moves.dis.MinefieldStatePdu +
        +
      getMineLocation() - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
        +
      getMineType() - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
        +
      getMineType() - +Method in class edu.nps.moves.dis.MinefieldStatePdu +
        +
      getMissingPduSequenceNumbers() - +Method in class edu.nps.moves.dis.MinefieldResponseNackPdu +
        +
      getModelType() - +Method in class edu.nps.moves.dis.EnvironmentalProcessPdu +
        +
      getModifications() - +Method in class edu.nps.moves.dis.ArealObjectStatePdu +
        +
      getModifications() - +Method in class edu.nps.moves.dis.PointObjectStatePdu +
        +
      getModifier() - +Method in class edu.nps.moves.dis.IffFundamentalData +
        +
      getModulationParameterCount() - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      getModulationParametersList() - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      getModulationType() - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      getMunition() - +Method in class edu.nps.moves.dis.BurstDescriptor +
        +
      getMunitionID() - +Method in class edu.nps.moves.dis.DetonationPdu +
        +
      getMunitionID() - +Method in class edu.nps.moves.dis.FirePdu +
        +
      getNamedLocationID() - +Method in class edu.nps.moves.dis.IsPartOfPdu +
        +
      getNature() - +Method in class edu.nps.moves.dis.Relationship +
        +
      getNioServer() - +Method in class edu.nps.moves.disutil.NioServer.Event +
      Returns the source of the event, a NioServer. +
      getNomenclature() - +Method in class edu.nps.moves.dis.RadioEntityType +
        +
      getNomenclatureVersion() - +Method in class edu.nps.moves.dis.RadioEntityType +
        +
      getNpsTimestamp() - +Method in class edu.nps.moves.disutil.DisTime +
      Returns a useful timestamp, hundredths of a second since the start of the year. +
      getNumberOfAPAs() - +Method in class edu.nps.moves.dis.UaPdu +
        +
      getNumberOfArticulationParameters() - +Method in class edu.nps.moves.dis.DetonationPdu +
        +
      getNumberOfArticulationParameters() - +Method in class edu.nps.moves.dis.EntityStatePdu +
        +
      getNumberOfArticulationParameters() - +Method in class edu.nps.moves.dis.EntityStateUpdatePdu +
        +
      getNumberOfArticulationParameters() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getNumberOfBeams() - +Method in class edu.nps.moves.dis.AcousticEmitterSystemData +
        +
      getNumberOfBeams() - +Method in class edu.nps.moves.dis.ElectronicEmissionSystemData +
        +
      getNumberOfBytes() - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation0 +
        +
      getNumberOfDisAggregates() - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      getNumberOfDisEntities() - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      getNumberOfEnvironmentRecords() - +Method in class edu.nps.moves.dis.EnvironmentalProcessPdu +
        +
      getNumberOfFixedDatumRecords() - +Method in class edu.nps.moves.dis.ActionRequestPdu +
        +
      getNumberOfFixedDatumRecords() - +Method in class edu.nps.moves.dis.ActionRequestReliablePdu +
        +
      getNumberOfFixedDatumRecords() - +Method in class edu.nps.moves.dis.ActionResponsePdu +
        +
      getNumberOfFixedDatumRecords() - +Method in class edu.nps.moves.dis.ActionResponseReliablePdu +
        +
      getNumberOfFixedDatumRecords() - +Method in class edu.nps.moves.dis.CommentPdu +
        +
      getNumberOfFixedDatumRecords() - +Method in class edu.nps.moves.dis.CommentReliablePdu +
        +
      getNumberOfFixedDatumRecords() - +Method in class edu.nps.moves.dis.DataPdu +
        +
      getNumberOfFixedDatumRecords() - +Method in class edu.nps.moves.dis.DataQueryPdu +
        +
      getNumberOfFixedDatumRecords() - +Method in class edu.nps.moves.dis.DataQueryReliablePdu +
        +
      getNumberOfFixedDatumRecords() - +Method in class edu.nps.moves.dis.DataReliablePdu +
        +
      getNumberOfFixedDatumRecords() - +Method in class edu.nps.moves.dis.EventReportPdu +
        +
      getNumberOfFixedDatumRecords() - +Method in class edu.nps.moves.dis.EventReportReliablePdu +
        +
      getNumberOfFixedDatumRecords() - +Method in class edu.nps.moves.dis.SetDataPdu +
        +
      getNumberOfFixedDatumRecords() - +Method in class edu.nps.moves.dis.SetDataReliablePdu +
        +
      getNumberOfGridAxes() - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      getNumberOfGroupedEntities() - +Method in class edu.nps.moves.dis.IsGroupOfPdu +
        +
      getNumberOfMinesInThisPdu() - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
        +
      getNumberOfMineTypes() - +Method in class edu.nps.moves.dis.MinefieldStatePdu +
        +
      getNumberOfMissingPdus() - +Method in class edu.nps.moves.dis.MinefieldResponseNackPdu +
        +
      getNumberOfPdus() - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
        +
      getNumberOfPdus() - +Method in class edu.nps.moves.dis.PduContainer +
        +
      getNumberOfPerimeterPoints() - +Method in class edu.nps.moves.dis.MinefieldQueryPdu +
        +
      getNumberOfPerimeterPoints() - +Method in class edu.nps.moves.dis.MinefieldStatePdu +
        +
      getNumberOfPoints() - +Method in class edu.nps.moves.dis.ArealObjectStatePdu +
        +
      getNumberOfPropulsionSystems() - +Method in class edu.nps.moves.dis.SeesPdu +
        +
      getNumberOfRecords() - +Method in class edu.nps.moves.dis.RecordQueryReliablePdu +
        +
      getNumberOfRecordSets() - +Method in class edu.nps.moves.dis.SetRecordReliablePdu +
        +
      getNumberOfRecordSets() - +Method in class edu.nps.moves.dis.TransferControlRequestPdu +
        +
      getNumberOfSegments() - +Method in class edu.nps.moves.dis.LinearObjectStatePdu +
        +
      getNumberOfSensorTypes() - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
        +
      getNumberOfSensorTypes() - +Method in class edu.nps.moves.dis.MinefieldQueryPdu +
        +
      getNumberOfShafts() - +Method in class edu.nps.moves.dis.UaPdu +
        +
      getNumberOfSilentAggregateTypes() - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      getNumberOfSilentEntityTypes() - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      getNumberOfSupplyTypes() - +Method in class edu.nps.moves.dis.ResupplyOfferPdu +
        +
      getNumberOfSupplyTypes() - +Method in class edu.nps.moves.dis.ResupplyReceivedPdu +
        +
      getNumberOfSupplyTypes() - +Method in class edu.nps.moves.dis.ServiceRequestPdu +
        +
      getNumberOfSystems() - +Method in class edu.nps.moves.dis.ElectronicEmissionsPdu +
        +
      getNumberOfTrackJamTargets() - +Method in class edu.nps.moves.dis.ElectronicEmissionBeamData +
        +
      getNumberOfUAEmitterSystems() - +Method in class edu.nps.moves.dis.UaPdu +
        +
      getNumberOfValues() - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation1 +
        +
      getNumberOfValues() - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation2 +
        +
      getNumberOfVariableDatumRecords() - +Method in class edu.nps.moves.dis.ActionRequestPdu +
        +
      getNumberOfVariableDatumRecords() - +Method in class edu.nps.moves.dis.ActionRequestReliablePdu +
        +
      getNumberOfVariableDatumRecords() - +Method in class edu.nps.moves.dis.ActionResponsePdu +
        +
      getNumberOfVariableDatumRecords() - +Method in class edu.nps.moves.dis.ActionResponseReliablePdu +
        +
      getNumberOfVariableDatumRecords() - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      getNumberOfVariableDatumRecords() - +Method in class edu.nps.moves.dis.CommentPdu +
        +
      getNumberOfVariableDatumRecords() - +Method in class edu.nps.moves.dis.CommentReliablePdu +
        +
      getNumberOfVariableDatumRecords() - +Method in class edu.nps.moves.dis.DataPdu +
        +
      getNumberOfVariableDatumRecords() - +Method in class edu.nps.moves.dis.DataQueryPdu +
        +
      getNumberOfVariableDatumRecords() - +Method in class edu.nps.moves.dis.DataQueryReliablePdu +
        +
      getNumberOfVariableDatumRecords() - +Method in class edu.nps.moves.dis.DataReliablePdu +
        +
      getNumberOfVariableDatumRecords() - +Method in class edu.nps.moves.dis.EventReportPdu +
        +
      getNumberOfVariableDatumRecords() - +Method in class edu.nps.moves.dis.EventReportReliablePdu +
        +
      getNumberOfVariableDatumRecords() - +Method in class edu.nps.moves.dis.SetDataPdu +
        +
      getNumberOfVariableDatumRecords() - +Method in class edu.nps.moves.dis.SetDataReliablePdu +
        +
      getNumberOfVectoringNozzleSystems() - +Method in class edu.nps.moves.dis.SeesPdu +
        +
      getObjectAppearance() - +Method in class edu.nps.moves.dis.ArealObjectStatePdu +
        +
      getObjectAppearance() - +Method in class edu.nps.moves.dis.PointObjectStatePdu +
        +
      getObjectID() - +Method in class edu.nps.moves.dis.ArealObjectStatePdu +
        +
      getObjectID() - +Method in class edu.nps.moves.dis.LinearObjectStatePdu +
        +
      getObjectID() - +Method in class edu.nps.moves.dis.PointObjectStatePdu +
        +
      getObjectLocation() - +Method in class edu.nps.moves.dis.ArealObjectStatePdu +
        +
      getObjectLocation() - +Method in class edu.nps.moves.dis.PointObjectStatePdu +
        +
      getObjectOrientation() - +Method in class edu.nps.moves.dis.PointObjectStatePdu +
        +
      getObjectType() - +Method in class edu.nps.moves.dis.ArealObjectStatePdu +
        +
      getObjectType() - +Method in class edu.nps.moves.dis.LinearObjectStatePdu +
        +
      getObjectType() - +Method in class edu.nps.moves.dis.PointObjectStatePdu +
        +
      getOrder() - +Method in class edu.nps.moves.dis.SphericalHarmonicAntennaPattern +
        +
      getOrderedShaftRPMs() - +Method in class edu.nps.moves.dis.ShaftRPMs +
        +
      getOrginatingEntityID() - +Method in class edu.nps.moves.dis.IsPartOfPdu +
        +
      getOrginatingEntityID() - +Method in class edu.nps.moves.dis.SeesPdu +
        +
      getOrginatingEntityID() - +Method in class edu.nps.moves.dis.TransferControlRequestPdu +
        +
      getOrientation() - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      getOrientation() - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      getOrientation() - +Method in class edu.nps.moves.dis.LinearSegmentParameter +
        +
      getOriginatingEntityID() - +Method in class edu.nps.moves.dis.SimulationManagementFamilyPdu +
        +
      getOriginatingEntityID() - +Method in class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu +
        +
      getOtherParameters() - +Method in class edu.nps.moves.dis.DeadReckoningParameter +
        +
      getOtherParameters() - +Method in class edu.nps.moves.dis.EightByteChunk +
        +
      getOtherParameters() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getOtherParameters() - +Method in class edu.nps.moves.dis.FourByteChunk +
        +
      getOtherParameters() - +Method in class edu.nps.moves.dis.OneByteChunk +
        +
      getOtherParameters() - +Method in class edu.nps.moves.dis.SixByteChunk +
        +
      getOtherParameters() - +Method in class edu.nps.moves.dis.TwoByteChunk +
        +
      getPacket() - +Method in class edu.nps.moves.disutil.UdpServer.Event +
      Returns the most recent datagram packet received + by the UdpServer. +
      getPacket() - +Method in class edu.nps.moves.disutil.UdpServer +
      Returns the last DatagramPacket received. +
      getPacketAsBytes() - +Method in class edu.nps.moves.disutil.UdpServer.Event +
      Copies and returns the bytes in the most recently + received packet, or null if not available. +
      getPacketAsString() - +Method in class edu.nps.moves.disutil.UdpServer.Event +
      Returns the data in the most recently-received + packet as if it were a String + or null if not available. +
      getPad() - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      getPad() - +Method in class edu.nps.moves.dis.CollisionPdu +
        +
      getPad() - +Method in class edu.nps.moves.dis.DetonationPdu +
        +
      getPad() - +Method in class edu.nps.moves.dis.UaPdu +
        +
      getPad1() - +Method in class edu.nps.moves.dis.ActionRequestReliablePdu +
        +
      getPad1() - +Method in class edu.nps.moves.dis.CreateEntityReliablePdu +
        +
      getPad1() - +Method in class edu.nps.moves.dis.DataQueryReliablePdu +
        +
      getPad1() - +Method in class edu.nps.moves.dis.DataReliablePdu +
        +
      getPad1() - +Method in class edu.nps.moves.dis.EventReportReliablePdu +
        +
      getPad1() - +Method in class edu.nps.moves.dis.LinearSegmentParameter +
        +
      getPad1() - +Method in class edu.nps.moves.dis.RecordQueryReliablePdu +
        +
      getPad1() - +Method in class edu.nps.moves.dis.RemoveEntityReliablePdu +
        +
      getPad1() - +Method in class edu.nps.moves.dis.SetDataReliablePdu +
        +
      getPad1() - +Method in class edu.nps.moves.dis.SetRecordReliablePdu +
        +
      getPad1() - +Method in class edu.nps.moves.dis.StartResumeReliablePdu +
        +
      getPad1() - +Method in class edu.nps.moves.dis.StopFreezeReliablePdu +
        +
      getPad2() - +Method in class edu.nps.moves.dis.AcousticBeamData +
        +
      getPad2() - +Method in class edu.nps.moves.dis.AcousticEmitterSystemData +
        +
      getPad2() - +Method in class edu.nps.moves.dis.ActionRequestReliablePdu +
        +
      getPad2() - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      getPad2() - +Method in class edu.nps.moves.dis.CreateEntityReliablePdu +
        +
      getPad2() - +Method in class edu.nps.moves.dis.DataQueryReliablePdu +
        +
      getPad2() - +Method in class edu.nps.moves.dis.DataReliablePdu +
        +
      getPad2() - +Method in class edu.nps.moves.dis.FundamentalParameterDataIff +
        +
      getPad2() - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer1Pdu +
        +
      getPad2() - +Method in class edu.nps.moves.dis.IsGroupOfPdu +
        +
      getPad2() - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
        +
      getPad2() - +Method in class edu.nps.moves.dis.MinefieldQueryPdu +
        +
      getPad2() - +Method in class edu.nps.moves.dis.PointObjectStatePdu +
        +
      getPad2() - +Method in class edu.nps.moves.dis.RecordQueryReliablePdu +
        +
      getPad2() - +Method in class edu.nps.moves.dis.RemoveEntityReliablePdu +
        +
      getPad2() - +Method in class edu.nps.moves.dis.SetDataReliablePdu +
        +
      getPad2() - +Method in class edu.nps.moves.dis.SetRecordReliablePdu +
        +
      getPad2() - +Method in class edu.nps.moves.dis.StartResumeReliablePdu +
        +
      getPad3() - +Method in class edu.nps.moves.dis.FundamentalParameterDataIff +
        +
      getPad3() - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
        +
      getPad4() - +Method in class edu.nps.moves.dis.ElectronicEmissionBeamData +
        +
      getPad4() - +Method in class edu.nps.moves.dis.RecordSet +
        +
      getPadding() - +Method in class edu.nps.moves.dis.Pdu +
        +
      getPadding() - +Method in class edu.nps.moves.dis.RepairCompletePdu +
        +
      getPadding1() - +Method in class edu.nps.moves.dis.BeamAntennaPattern +
        +
      getPadding1() - +Method in class edu.nps.moves.dis.DataPdu +
        +
      getPadding1() - +Method in class edu.nps.moves.dis.DesignatorPdu +
        +
      getPadding1() - +Method in class edu.nps.moves.dis.Environment +
        +
      getPadding1() - +Method in class edu.nps.moves.dis.EventReportPdu +
        +
      getPadding1() - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      getPadding1() - +Method in class edu.nps.moves.dis.ReceiverPdu +
        +
      getPadding1() - +Method in class edu.nps.moves.dis.RepairResponsePdu +
        +
      getPadding1() - +Method in class edu.nps.moves.dis.ResupplyOfferPdu +
        +
      getPadding1() - +Method in class edu.nps.moves.dis.ResupplyReceivedPdu +
        +
      getPadding1() - +Method in class edu.nps.moves.dis.SetDataPdu +
        +
      getPadding1() - +Method in class edu.nps.moves.dis.StopFreezePdu +
        +
      getPadding1() - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      getPadding2() - +Method in class edu.nps.moves.dis.BeamAntennaPattern +
        +
      getPadding2() - +Method in class edu.nps.moves.dis.DesignatorPdu +
        +
      getPadding2() - +Method in class edu.nps.moves.dis.Environment +
        +
      getPadding2() - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      getPadding2() - +Method in class edu.nps.moves.dis.RepairResponsePdu +
        +
      getPadding2() - +Method in class edu.nps.moves.dis.ResupplyOfferPdu +
        +
      getPadding2() - +Method in class edu.nps.moves.dis.ResupplyReceivedPdu +
        +
      getPadding2() - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      getPadding3() - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      getPaddingForEmissionsPdu() - +Method in class edu.nps.moves.dis.ElectronicEmissionsPdu +
        +
      getParameter1() - +Method in class edu.nps.moves.dis.IffFundamentalData +
        +
      getParameter2() - +Method in class edu.nps.moves.dis.IffFundamentalData +
        +
      getParameter3() - +Method in class edu.nps.moves.dis.IffFundamentalData +
        +
      getParameter4() - +Method in class edu.nps.moves.dis.IffFundamentalData +
        +
      getParameter5() - +Method in class edu.nps.moves.dis.IffFundamentalData +
        +
      getParameter6() - +Method in class edu.nps.moves.dis.IffFundamentalData +
        +
      getParameterIndex() - +Method in class edu.nps.moves.dis.ApaData +
        +
      getParameterType() - +Method in class edu.nps.moves.dis.ArticulationParameter +
        +
      getParameterTypeDesignator() - +Method in class edu.nps.moves.dis.ArticulationParameter +
        +
      getParameterValue() - +Method in class edu.nps.moves.dis.ApaData +
        +
      getParameterValue() - +Method in class edu.nps.moves.dis.ArticulationParameter +
        +
      getPartAttachedTo() - +Method in class edu.nps.moves.dis.ArticulationParameter +
        +
      getPartEntityType() - +Method in class edu.nps.moves.dis.IsPartOfPdu +
        +
      getPartLocation() - +Method in class edu.nps.moves.dis.IsPartOfPdu +
        +
      getPassiveParameterIndex() - +Method in class edu.nps.moves.dis.UaPdu +
        +
      getPdu() - +Method in class edu.nps.moves.disutil.PduMulticastReceiver.Event +
      Returns the Pdu for this event. +
      getPdu() - +Method in class edu.nps.moves.disutil.PduMulticastReceiver +
      Returns the last parsed PDU. +
      getPdu() - +Method in class edu.nps.moves.disutil.PduNioMulticastReceiver.Event +
      Returns the Pdu for this event. +
      getPdu() - +Method in class edu.nps.moves.disutil.PduNioMulticastReceiver +
      Returns the last parsed PDU. +
      getPduNumber() - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      getPdus() - +Method in class edu.nps.moves.dis.PduCollection +
        +
      getPdus() - +Method in class edu.nps.moves.dis.PduContainer +
        +
      getPduSequenceNumber() - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
        +
      getPduTotal() - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      getPduType() - +Method in class edu.nps.moves.dis.Pdu +
        +
      getPduTypeEnum() - +Method in class edu.nps.moves.dis.Pdu +
      Returns the PduType, an enumeration from the disenum jar file. +
      getPerimeterPoints() - +Method in class edu.nps.moves.dis.MinefieldStatePdu +
        +
      getPgrf() - +Method in class edu.nps.moves.dis.FundamentalParameterDataIff +
        +
      getPhase() - +Method in class edu.nps.moves.dis.BeamAntennaPattern +
        +
      getPhi() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getPhi() - +Method in class edu.nps.moves.dis.Orientation +
        +
      getPort() - +Method in class edu.nps.moves.disutil.UdpServer +
      Returns the port on which the server is or will be listening. +
      getPosition() - +Method in class edu.nps.moves.dis.Relationship +
        +
      getPower() - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      getPowerSetting() - +Method in class edu.nps.moves.dis.PropulsionSystemData +
        +
      getPropulsionPlantConfiguration() - +Method in class edu.nps.moves.dis.UaPdu +
        +
      getPropulsionSystemData() - +Method in class edu.nps.moves.dis.SeesPdu +
        +
      getProtocolFamily() - +Method in class edu.nps.moves.dis.Pdu +
        +
      getProtocolMode() - +Method in class edu.nps.moves.dis.MinefieldStatePdu +
        +
      getProtocolVersion() - +Method in class edu.nps.moves.dis.Pdu +
        +
      getPsi() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getPsi() - +Method in class edu.nps.moves.dis.Orientation +
        +
      getPulseRepetitionFrequency() - +Method in class edu.nps.moves.dis.FundamentalParameterData +
        +
      getPulseWidth() - +Method in class edu.nps.moves.dis.FundamentalParameterData +
        +
      getPulseWidth() - +Method in class edu.nps.moves.dis.FundamentalParameterDataIff +
        +
      getQuantity() - +Method in class edu.nps.moves.dis.BurstDescriptor +
        +
      getQuantity() - +Method in class edu.nps.moves.dis.SupplyQuantity +
        +
      getQuat(Quaternion) - +Method in class edu.nps.moves.math.Matrix3f +
        +
      getQuat(Quaternion) - +Method in class edu.nps.moves.math.Matrix4f +
        +
      getQuat(float[]) - +Method in class edu.nps.moves.math.Quaternion +
        +
      getQuat(Quaternion) - +Method in class edu.nps.moves.math.Quaternion +
        +
      getQuat(float[], float[], float[], float[]) - +Method in class edu.nps.moves.math.Quaternion +
        +
      getQuatValue(int) - +Method in class edu.nps.moves.math.Quaternion +
        +
      getRadarCrossSectionSignatureRepresentationIndex() - +Method in class edu.nps.moves.dis.SeesPdu +
        +
      getRadioEntityType() - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      getRadioId() - +Method in class edu.nps.moves.dis.RadioCommunicationsFamilyPdu +
        +
      getRange() - +Method in class edu.nps.moves.dis.FirePdu +
        +
      getRate() - +Method in class edu.nps.moves.dis.BurstDescriptor +
        +
      getRealWorldTime() - +Method in class edu.nps.moves.dis.StartResumePdu +
        +
      getRealWorldTime() - +Method in class edu.nps.moves.dis.StartResumeReliablePdu +
        +
      getRealWorldTime() - +Method in class edu.nps.moves.dis.StopFreezePdu +
        +
      getRealWorldTime() - +Method in class edu.nps.moves.dis.StopFreezeReliablePdu +
        +
      getReason() - +Method in class edu.nps.moves.dis.StopFreezePdu +
        +
      getReason() - +Method in class edu.nps.moves.dis.StopFreezeReliablePdu +
        +
      getReceiveBufferSize() - +Method in class edu.nps.moves.disutil.UdpServer +
      Returns the receive buffer for the underlying MulticastSocket + if the server is currently running (otherwise there is no + MulticastSocket to query). +
      getReceivedPoser() - +Method in class edu.nps.moves.dis.ReceiverPdu +
        +
      getReceiverState() - +Method in class edu.nps.moves.dis.ReceiverPdu +
        +
      getReceivingEntityID() - +Method in class edu.nps.moves.dis.IsPartOfPdu +
        +
      getReceivingEntityID() - +Method in class edu.nps.moves.dis.RepairCompletePdu +
        +
      getReceivingEntityID() - +Method in class edu.nps.moves.dis.RepairResponsePdu +
        +
      getReceivingEntityID() - +Method in class edu.nps.moves.dis.ResupplyCancelPdu +
        +
      getReceivingEntityID() - +Method in class edu.nps.moves.dis.ResupplyOfferPdu +
        +
      getReceivingEntityID() - +Method in class edu.nps.moves.dis.ResupplyReceivedPdu +
        +
      getReceivingEntityID() - +Method in class edu.nps.moves.dis.SimulationManagementFamilyPdu +
        +
      getReceivingEntityID() - +Method in class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu +
        +
      getReceivingID() - +Method in class edu.nps.moves.dis.ArealObjectStatePdu +
        +
      getReceivingID() - +Method in class edu.nps.moves.dis.LinearObjectStatePdu +
        +
      getReceivingID() - +Method in class edu.nps.moves.dis.PointObjectStatePdu +
        +
      getRecevingEntityID() - +Method in class edu.nps.moves.dis.TransferControlRequestPdu +
        +
      getRecordCount() - +Method in class edu.nps.moves.dis.RecordSet +
        +
      getRecordID() - +Method in class edu.nps.moves.dis.RecordSet +
        +
      getRecordIDs() - +Method in class edu.nps.moves.dis.RecordQueryReliablePdu +
        +
      getRecordLength() - +Method in class edu.nps.moves.dis.IntercomCommunicationsParameters +
        +
      getRecordLength() - +Method in class edu.nps.moves.dis.RecordSet +
        +
      getRecordSets() - +Method in class edu.nps.moves.dis.SetRecordReliablePdu +
        +
      getRecordSets() - +Method in class edu.nps.moves.dis.TransferControlRequestPdu +
        +
      getRecordSetSerialNumber() - +Method in class edu.nps.moves.dis.RecordSet +
        +
      getRecordSpecificField() - +Method in class edu.nps.moves.dis.IntercomCommunicationsParameters +
        +
      getRecordType() - +Method in class edu.nps.moves.dis.IntercomCommunicationsParameters +
        +
      getRecordValues() - +Method in class edu.nps.moves.dis.RecordSet +
        +
      getReferencedObjectID() - +Method in class edu.nps.moves.dis.ArealObjectStatePdu +
        +
      getReferencedObjectID() - +Method in class edu.nps.moves.dis.LinearObjectStatePdu +
        +
      getReferencedObjectID() - +Method in class edu.nps.moves.dis.PointObjectStatePdu +
        +
      getReferenceSystem() - +Method in class edu.nps.moves.dis.BeamAntennaPattern +
        +
      getRelationship() - +Method in class edu.nps.moves.dis.IsPartOfPdu +
        +
      getRelativeAntennaLocation() - +Method in class edu.nps.moves.dis.AntennaLocation +
        +
      getRelativeAntennaLocation() - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      getRemoteSocketAddress() - +Method in class edu.nps.moves.disutil.NioServer.Event +
      Returns the address of the endpoint this socket is + connected to, or null if it is unconnected. +
      getRepair() - +Method in class edu.nps.moves.dis.RepairCompletePdu +
        +
      getRepairingEntityID() - +Method in class edu.nps.moves.dis.RepairCompletePdu +
        +
      getRepairingEntityID() - +Method in class edu.nps.moves.dis.RepairResponsePdu +
        +
      getRepairResult() - +Method in class edu.nps.moves.dis.RepairResponsePdu +
        +
      getRequestedMineType() - +Method in class edu.nps.moves.dis.MinefieldQueryPdu +
        +
      getRequestedPerimeterPoints() - +Method in class edu.nps.moves.dis.MinefieldQueryPdu +
        +
      getRequesterID() - +Method in class edu.nps.moves.dis.ArealObjectStatePdu +
        +
      getRequesterID() - +Method in class edu.nps.moves.dis.LinearObjectStatePdu +
        +
      getRequesterID() - +Method in class edu.nps.moves.dis.PointObjectStatePdu +
        +
      getRequestID() - +Method in class edu.nps.moves.dis.AcknowledgePdu +
        +
      getRequestID() - +Method in class edu.nps.moves.dis.AcknowledgeReliablePdu +
        +
      getRequestID() - +Method in class edu.nps.moves.dis.ActionRequestPdu +
        +
      getRequestID() - +Method in class edu.nps.moves.dis.ActionRequestReliablePdu +
        +
      getRequestID() - +Method in class edu.nps.moves.dis.ActionResponsePdu +
        +
      getRequestID() - +Method in class edu.nps.moves.dis.ActionResponseReliablePdu +
        +
      getRequestID() - +Method in class edu.nps.moves.dis.CreateEntityPdu +
        +
      getRequestID() - +Method in class edu.nps.moves.dis.CreateEntityReliablePdu +
        +
      getRequestID() - +Method in class edu.nps.moves.dis.DataPdu +
        +
      getRequestID() - +Method in class edu.nps.moves.dis.DataQueryPdu +
        +
      getRequestID() - +Method in class edu.nps.moves.dis.DataQueryReliablePdu +
        +
      getRequestID() - +Method in class edu.nps.moves.dis.DataReliablePdu +
        +
      getRequestID() - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
        +
      getRequestID() - +Method in class edu.nps.moves.dis.MinefieldQueryPdu +
        +
      getRequestID() - +Method in class edu.nps.moves.dis.MinefieldResponseNackPdu +
        +
      getRequestID() - +Method in class edu.nps.moves.dis.RecordQueryReliablePdu +
        +
      getRequestID() - +Method in class edu.nps.moves.dis.RemoveEntityPdu +
        +
      getRequestID() - +Method in class edu.nps.moves.dis.RemoveEntityReliablePdu +
        +
      getRequestID() - +Method in class edu.nps.moves.dis.SetDataPdu +
        +
      getRequestID() - +Method in class edu.nps.moves.dis.SetDataReliablePdu +
        +
      getRequestID() - +Method in class edu.nps.moves.dis.SetRecordReliablePdu +
        +
      getRequestID() - +Method in class edu.nps.moves.dis.StartResumePdu +
        +
      getRequestID() - +Method in class edu.nps.moves.dis.StartResumeReliablePdu +
        +
      getRequestID() - +Method in class edu.nps.moves.dis.StopFreezePdu +
        +
      getRequestID() - +Method in class edu.nps.moves.dis.StopFreezeReliablePdu +
        +
      getRequestID() - +Method in class edu.nps.moves.dis.TransferControlRequestPdu +
        +
      getRequestingEntityID() - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
        +
      getRequestingEntityID() - +Method in class edu.nps.moves.dis.MinefieldQueryPdu +
        +
      getRequestingEntityID() - +Method in class edu.nps.moves.dis.MinefieldResponseNackPdu +
        +
      getRequestingEntityID() - +Method in class edu.nps.moves.dis.ServiceRequestPdu +
        +
      getRequestStatus() - +Method in class edu.nps.moves.dis.ActionResponsePdu +
        +
      getRequiredReliabilityService() - +Method in class edu.nps.moves.dis.ActionRequestReliablePdu +
        +
      getRequiredReliabilityService() - +Method in class edu.nps.moves.dis.CreateEntityReliablePdu +
        +
      getRequiredReliabilityService() - +Method in class edu.nps.moves.dis.DataQueryReliablePdu +
        +
      getRequiredReliabilityService() - +Method in class edu.nps.moves.dis.DataReliablePdu +
        +
      getRequiredReliabilityService() - +Method in class edu.nps.moves.dis.RecordQueryReliablePdu +
        +
      getRequiredReliabilityService() - +Method in class edu.nps.moves.dis.RemoveEntityReliablePdu +
        +
      getRequiredReliabilityService() - +Method in class edu.nps.moves.dis.SetDataReliablePdu +
        +
      getRequiredReliabilityService() - +Method in class edu.nps.moves.dis.SetRecordReliablePdu +
        +
      getRequiredReliabilityService() - +Method in class edu.nps.moves.dis.StartResumeReliablePdu +
        +
      getRequiredReliabilityService() - +Method in class edu.nps.moves.dis.TransferControlRequestPdu +
        +
      getRequiredReliablityService() - +Method in class edu.nps.moves.dis.StopFreezeReliablePdu +
        +
      getResponseFlag() - +Method in class edu.nps.moves.dis.AcknowledgePdu +
        +
      getResponseFlag() - +Method in class edu.nps.moves.dis.AcknowledgeReliablePdu +
        +
      getResponseStatus() - +Method in class edu.nps.moves.dis.ActionResponseReliablePdu +
        +
      getSampleRate() - +Method in class edu.nps.moves.dis.IntercomSignalPdu +
        +
      getSampleRate() - +Method in class edu.nps.moves.dis.SignalPdu +
        +
      getSamples() - +Method in class edu.nps.moves.dis.IntercomSignalPdu +
        +
      getSamples() - +Method in class edu.nps.moves.dis.SignalPdu +
        +
      getSampleTime() - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      getSampleType() - +Method in class edu.nps.moves.dis.GridAxisRecord +
        +
      getScanPattern() - +Method in class edu.nps.moves.dis.AcousticBeamFundamentalParameter +
        +
      getSecondaryOperationalData() - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer2Pdu +
        +
      getSegmentAppearance() - +Method in class edu.nps.moves.dis.LinearSegmentParameter +
        +
      getSegmentDepth() - +Method in class edu.nps.moves.dis.LinearSegmentParameter +
        +
      getSegmentHeight() - +Method in class edu.nps.moves.dis.LinearSegmentParameter +
        +
      getSegmentLength() - +Method in class edu.nps.moves.dis.LinearSegmentParameter +
        +
      getSegmentNumber() - +Method in class edu.nps.moves.dis.LinearSegmentParameter +
        +
      getSegmentWidth() - +Method in class edu.nps.moves.dis.LinearSegmentParameter +
        +
      getSensorTypes() - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
        +
      getSensorTypes() - +Method in class edu.nps.moves.dis.MinefieldQueryPdu +
        +
      getSequenceNumber() - +Method in class edu.nps.moves.dis.EnvironmentalProcessPdu +
        +
      getServiceRequestPadding() - +Method in class edu.nps.moves.dis.ServiceRequestPdu +
        +
      getServiceTypeRequested() - +Method in class edu.nps.moves.dis.ServiceRequestPdu +
        +
      getServicingEntityID() - +Method in class edu.nps.moves.dis.ServiceRequestPdu +
        +
      getShaftRPMRateOfChange() - +Method in class edu.nps.moves.dis.ShaftRPMs +
        +
      getShaftRPMs() - +Method in class edu.nps.moves.dis.UaPdu +
        +
      getSilentAggregateSystemList() - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      getSilentEntitySystemList() - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      getSimulationTime() - +Method in class edu.nps.moves.dis.StartResumePdu +
        +
      getSimulationTime() - +Method in class edu.nps.moves.dis.StartResumeReliablePdu +
        +
      getSingleTcpPort() - +Method in class edu.nps.moves.disutil.NioServer +
      Returns the port for the single TCP binding in effect, + or -1 (minus one) if there are no or multiple TCP + bindings or some other error. +
      getSingleUdpPort() - +Method in class edu.nps.moves.disutil.NioServer +
      Returns the port for the single UDP binding in effect, + or -1 (minus one) if there are no or multiple UDP + bindings or some other error. +
      getSite() - +Method in class edu.nps.moves.dis.AggregateID +
        +
      getSite() - +Method in class edu.nps.moves.dis.EntityID +
        +
      getSite() - +Method in class edu.nps.moves.dis.EventID +
        +
      getSite() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getSite() - +Method in class edu.nps.moves.dis.SimulationAddress +
        +
      getSourceCommunicationsDeviceID() - +Method in class edu.nps.moves.dis.IntercomControlPdu +
        +
      getSourceEntityID() - +Method in class edu.nps.moves.dis.IntercomControlPdu +
        +
      getSourceLineID() - +Method in class edu.nps.moves.dis.IntercomControlPdu +
        +
      getSpecific() - +Method in class edu.nps.moves.dis.AggregateType +
        +
      getSpecific() - +Method in class edu.nps.moves.dis.EntityType +
        +
      getSpecific() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getSpreadSpectrum() - +Method in class edu.nps.moves.dis.ModulationType +
        +
      getState() - +Method in class edu.nps.moves.disutil.NioServer.Event +
      Shorthand for getNioServer().getState(). +
      getState() - +Method in class edu.nps.moves.disutil.NioServer +
      Returns the current state of the server, one of + STOPPED, STARTING, or STARTED. +
      getState() - +Method in class edu.nps.moves.disutil.UdpServer.Event +
      Shorthand for getUdpServer().getState(). +
      getState() - +Method in class edu.nps.moves.disutil.UdpServer +
      Returns the current state of the server, one of + STOPPED, STARTING, or STARTED. +
      getStateChangeIndicator() - +Method in class edu.nps.moves.dis.UaPdu +
        +
      getStateUpdateIndicator() - +Method in class edu.nps.moves.dis.ElectronicEmissionsPdu +
        +
      getStationName() - +Method in class edu.nps.moves.dis.NamedLocation +
        +
      getStationNumber() - +Method in class edu.nps.moves.dis.NamedLocation +
        +
      getSubcategory() - +Method in class edu.nps.moves.dis.AggregateType +
        +
      getSubcategory() - +Method in class edu.nps.moves.dis.EntityType +
        +
      getSubcategory() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getSubcategory() - +Method in class edu.nps.moves.dis.ObjectType +
        +
      getSupplies() - +Method in class edu.nps.moves.dis.ResupplyOfferPdu +
        +
      getSupplies() - +Method in class edu.nps.moves.dis.ResupplyReceivedPdu +
        +
      getSupplies() - +Method in class edu.nps.moves.dis.ServiceRequestPdu +
        +
      getSupplyingEntityID() - +Method in class edu.nps.moves.dis.ResupplyCancelPdu +
        +
      getSupplyingEntityID() - +Method in class edu.nps.moves.dis.ResupplyOfferPdu +
        +
      getSupplyingEntityID() - +Method in class edu.nps.moves.dis.ResupplyReceivedPdu +
        +
      getSupplyType() - +Method in class edu.nps.moves.dis.SupplyQuantity +
        +
      getSystem() - +Method in class edu.nps.moves.dis.ModulationType +
        +
      getSystemDataLength() - +Method in class edu.nps.moves.dis.ElectronicEmissionSystemData +
        +
      getSystemID() - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer1Pdu +
        +
      getSystemMode() - +Method in class edu.nps.moves.dis.SystemID +
        +
      getSystemName() - +Method in class edu.nps.moves.dis.SystemID +
        +
      getSystems() - +Method in class edu.nps.moves.dis.ElectronicEmissionsPdu +
        +
      getSystemStatus() - +Method in class edu.nps.moves.dis.IffFundamentalData +
        +
      getSystemType() - +Method in class edu.nps.moves.dis.SystemID +
        +
      getTargetEntityID() - +Method in class edu.nps.moves.dis.WarfareFamilyPdu +
        +
      getTcpBindings() - +Method in class edu.nps.moves.disutil.NioServer +
      Returns a set of socket addresses that the server is (or will + be when started) bound to/listening on. +
      getTdlType() - +Method in class edu.nps.moves.dis.IntercomSignalPdu +
        +
      getTdlType() - +Method in class edu.nps.moves.dis.SignalPdu +
        +
      getTheta() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getTheta() - +Method in class edu.nps.moves.dis.Orientation +
        +
      getTime() - +Method in class edu.nps.moves.dis.RecordQueryReliablePdu +
        +
      getTimeInterval() - +Method in class edu.nps.moves.dis.DataQueryPdu +
        +
      getTimeInterval() - +Method in class edu.nps.moves.dis.DataQueryReliablePdu +
        +
      getTimePastHour() - +Method in class edu.nps.moves.dis.ClockTime +
        +
      getTimestamp() - +Method in class edu.nps.moves.dis.Pdu +
        +
      getTotalValues() - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      getTrackJam() - +Method in class edu.nps.moves.dis.TrackJamTarget +
        +
      getTrackJamTargets() - +Method in class edu.nps.moves.dis.ElectronicEmissionBeamData +
        +
      getTranferType() - +Method in class edu.nps.moves.dis.TransferControlRequestPdu +
        +
      getTransferEntityID() - +Method in class edu.nps.moves.dis.TransferControlRequestPdu +
        +
      getTransmitFrequencyBandwidth() - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      getTransmitLineState() - +Method in class edu.nps.moves.dis.IntercomControlPdu +
        +
      getTransmitPriority() - +Method in class edu.nps.moves.dis.IntercomControlPdu +
        +
      getTransmitState() - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      getTransmitterEntityId() - +Method in class edu.nps.moves.dis.ReceiverPdu +
        +
      getTransmitterRadioId() - +Method in class edu.nps.moves.dis.ReceiverPdu +
        +
      getUdpBindings() - +Method in class edu.nps.moves.disutil.NioServer +
      Returns a map of socket addresses and multicast groups + that the server is (or will + be when started) bound to/listening on. +
      getUdpServer() - +Method in class edu.nps.moves.disutil.UdpServer.Event +
      Returns the source of the event, a UdpServer. +
      getUnitSurfaceNormal() - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      getUnixTimestamp() - +Method in class edu.nps.moves.disutil.DisTime +
      Another option for marshalling with the timestamp field set automatically. +
      getUpdatedPositionOrientation() - +Method in class edu.nps.moves.deadreckoning.DIS_DeadReckoning +
      Gets the revised position and orientation of this entity +
      getUpdateNumber() - +Method in class edu.nps.moves.dis.ArealObjectStatePdu +
        +
      getUpdateNumber() - +Method in class edu.nps.moves.dis.LinearObjectStatePdu +
        +
      getUpdateNumber() - +Method in class edu.nps.moves.dis.PointObjectStatePdu +
        +
      getUseByteBuffer() - +Method in class edu.nps.moves.disutil.PduMulticastReceiver +
      Returns whether or not the ByteBuffer marshalling + technique is being used (default). +
      getUseByteBuffer() - +Method in class edu.nps.moves.disutil.PduNioMulticastReceiver +
      Returns whether or not the ByteBuffer marshalling + technique is being used (default). +
      getUseFastPdu() - +Method in class edu.nps.moves.disutil.PduFactory +
        +
      getUseFastPdu() - +Method in class edu.nps.moves.disutil.PduMulticastReceiver +
      Returns whether or not FastEspdu objects + are created which use less memory since + all their fields are flattened to primitives + instead of several objects. +
      getUseFastPdu() - +Method in class edu.nps.moves.disutil.PduNioMulticastReceiver +
      Returns whether or not FastEspdu objects + are created which use less memory since + all their fields are flattened to primitives + instead of several objects. +
      getVariableDatumID() - +Method in class edu.nps.moves.dis.VariableDatum +
        +
      getVariableDatumLength() - +Method in class edu.nps.moves.dis.VariableDatum +
        +
      getVariableDatumList() - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      getVariableDatumRecords() - +Method in class edu.nps.moves.dis.ActionRequestReliablePdu +
        +
      getVariableDatumRecords() - +Method in class edu.nps.moves.dis.ActionResponseReliablePdu +
        +
      getVariableDatumRecords() - +Method in class edu.nps.moves.dis.CommentReliablePdu +
        +
      getVariableDatumRecords() - +Method in class edu.nps.moves.dis.DataQueryReliablePdu +
        +
      getVariableDatumRecords() - +Method in class edu.nps.moves.dis.DataReliablePdu +
        +
      getVariableDatumRecords() - +Method in class edu.nps.moves.dis.EventReportReliablePdu +
        +
      getVariableDatumRecords() - +Method in class edu.nps.moves.dis.SetDataReliablePdu +
        +
      getVariableDatums() - +Method in class edu.nps.moves.dis.ActionRequestPdu +
        +
      getVariableDatums() - +Method in class edu.nps.moves.dis.ActionResponsePdu +
        +
      getVariableDatums() - +Method in class edu.nps.moves.dis.CommentPdu +
        +
      getVariableDatums() - +Method in class edu.nps.moves.dis.DataPdu +
        +
      getVariableDatums() - +Method in class edu.nps.moves.dis.DataQueryPdu +
        +
      getVariableDatums() - +Method in class edu.nps.moves.dis.EventReportPdu +
        +
      getVariableDatums() - +Method in class edu.nps.moves.dis.SetDataPdu +
        +
      getVariableDatums() - +Method in class edu.nps.moves.dis.VariableDatum +
        +
      getVec(float[], float[], float[]) - +Method in class edu.nps.moves.math.Quaternion +
        +
      getVec(float[]) - +Method in class edu.nps.moves.math.Quaternion +
        +
      getVec(Vec3f) - +Method in class edu.nps.moves.math.Quaternion +
        +
      getVectorDimension() - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      getVectoringSystemData() - +Method in class edu.nps.moves.dis.SeesPdu +
        +
      getVelocity() - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      getVelocity() - +Method in class edu.nps.moves.dis.CollisionPdu +
        +
      getVelocity() - +Method in class edu.nps.moves.dis.DetonationPdu +
        +
      getVelocity() - +Method in class edu.nps.moves.dis.FirePdu +
        +
      getVerticalDeflectionAngle() - +Method in class edu.nps.moves.dis.VectoringNozzleSystemData +
        +
      getW() - +Method in class edu.nps.moves.math.Quaternion2 +
      Returns the w value of quaternion. +
      getWarhead() - +Method in class edu.nps.moves.dis.BurstDescriptor +
        +
      getX() - +Method in class edu.nps.moves.dis.AngularVelocityVector +
        +
      getX() - +Method in class edu.nps.moves.dis.Point +
        +
      getX() - +Method in class edu.nps.moves.dis.Vector3Double +
        +
      getX() - +Method in class edu.nps.moves.dis.Vector3Float +
        +
      getX() - +Method in class edu.nps.moves.math.Quaternion2 +
      Returns the x value of quaternion. +
      getXAcceleration() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getXAngularVelocity() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getXLocation() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getXVelocity() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getY() - +Method in class edu.nps.moves.dis.AngularVelocityVector +
        +
      getY() - +Method in class edu.nps.moves.dis.Point +
        +
      getY() - +Method in class edu.nps.moves.dis.Vector3Double +
        +
      getY() - +Method in class edu.nps.moves.dis.Vector3Float +
        +
      getY() - +Method in class edu.nps.moves.math.Quaternion2 +
      Returns the y value of quaternion. +
      getYAcceleration() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getYAngularVelocity() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getYLocation() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getYVelocity() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getZ() - +Method in class edu.nps.moves.dis.AngularVelocityVector +
        +
      getZ() - +Method in class edu.nps.moves.dis.Vector3Double +
        +
      getZ() - +Method in class edu.nps.moves.dis.Vector3Float +
        +
      getZ() - +Method in class edu.nps.moves.math.Quaternion2 +
      Returns the z value of quaternion. +
      getZAcceleration() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getZAngularVelocity() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getZLocation() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      getZVelocity() - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      GridAxisRecord - Class in edu.nps.moves.dis
      5.2.44: Grid data record, a common abstract superclass for several subtypes + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      GridAxisRecord() - +Constructor for class edu.nps.moves.dis.GridAxisRecord +
      Constructor +
      GridAxisRecordRepresentation0 - Class in edu.nps.moves.dis
      5.2.44: Grid data record, representation 0 + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      GridAxisRecordRepresentation0() - +Constructor for class edu.nps.moves.dis.GridAxisRecordRepresentation0 +
      Constructor +
      GridAxisRecordRepresentation1 - Class in edu.nps.moves.dis
      5.2.44: Grid data record, representation 1 + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      GridAxisRecordRepresentation1() - +Constructor for class edu.nps.moves.dis.GridAxisRecordRepresentation1 +
      Constructor +
      GridAxisRecordRepresentation2 - Class in edu.nps.moves.dis
      5.2.44: Grid data record, representation 1 + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      GridAxisRecordRepresentation2() - +Constructor for class edu.nps.moves.dis.GridAxisRecordRepresentation2 +
      Constructor +
      gridDataList - +Variable in class edu.nps.moves.dis.GriddedDataPdu +
      Grid data @@@This is wrong +
      GriddedDataPdu - Class in edu.nps.moves.dis
      Section 5.3.11.2: Information about globat, spatially varying enviornmental effects.
      GriddedDataPdu() - +Constructor for class edu.nps.moves.dis.GriddedDataPdu +
      Constructor +
      groupedEntityCategory - +Variable in class edu.nps.moves.dis.IsGroupOfPdu +
      type of entities constituting the group +
      groupedEntityDescriptions - +Variable in class edu.nps.moves.dis.IsGroupOfPdu +
      GED records about each individual entity in the group. +
      groupEntityID - +Variable in class edu.nps.moves.dis.IsGroupOfPdu +
      ID of aggregated entities +
      GROUPS_PROP - +Static variable in class edu.nps.moves.disutil.UdpServer +
      The multicast groups property groups used with + the property change listeners and the preferences, + if a preferences object is given. +
      +
      +

      +H

      +
      +
      hashCode() - +Method in class edu.nps.moves.examples.ClassNameComparator +
        +
      highDensityTrackJam - +Variable in class edu.nps.moves.dis.ElectronicEmissionBeamData +
      wheher or not the receiving simulation apps can assume all the targets in the scan pattern are being tracked/jammed +
      horizontalDeflectionAngle - +Variable in class edu.nps.moves.dis.VectoringNozzleSystemData +
      horizontal deflection angle +
      hour - +Variable in class edu.nps.moves.dis.ClockTime +
      Hours in UTC +
      +
      +

      +I

      +
      +
      IffAtcNavAidsLayer1Pdu - Class in edu.nps.moves.dis
      5.3.7.4.1: Navigational and IFF PDU.
      IffAtcNavAidsLayer1Pdu() - +Constructor for class edu.nps.moves.dis.IffAtcNavAidsLayer1Pdu +
      Constructor +
      IffAtcNavAidsLayer2Pdu - Class in edu.nps.moves.dis
      Section 5.3.7.4.2 When present, layer 2 should follow layer 1 and have the following fields.
      IffAtcNavAidsLayer2Pdu() - +Constructor for class edu.nps.moves.dis.IffAtcNavAidsLayer2Pdu +
      Constructor +
      IffFundamentalData - Class in edu.nps.moves.dis
      5.2.42.
      IffFundamentalData() - +Constructor for class edu.nps.moves.dis.IffFundamentalData +
      Constructor +
      index - +Variable in class edu.nps.moves.dis.Environment +
      Identify the sequentially numbered record index +
      informationLayers - +Variable in class edu.nps.moves.dis.IffFundamentalData +
      eight boolean fields +
      infraredSignatureRepresentationIndex - +Variable in class edu.nps.moves.dis.SeesPdu +
      IR Signature representation index +
      inputSource - +Variable in class edu.nps.moves.dis.TransmitterPdu +
      input source +
      IntercomCommunicationsParameters - Class in edu.nps.moves.dis
      5.2.46.
      IntercomCommunicationsParameters() - +Constructor for class edu.nps.moves.dis.IntercomCommunicationsParameters +
      Constructor +
      IntercomControlPdu - Class in edu.nps.moves.dis
      Section 5.3.8.5.
      IntercomControlPdu() - +Constructor for class edu.nps.moves.dis.IntercomControlPdu +
      Constructor +
      intercomParameters - +Variable in class edu.nps.moves.dis.IntercomControlPdu +
        +
      intercomParametersLength - +Variable in class edu.nps.moves.dis.IntercomControlPdu +
      number of intercom parameters +
      IntercomSignalPdu - Class in edu.nps.moves.dis
      Section 5.3.8.4.
      IntercomSignalPdu() - +Constructor for class edu.nps.moves.dis.IntercomSignalPdu +
      Constructor +
      inversMat3x3(Matrix) - +Static method in class edu.nps.moves.deadreckoning.utils.Matrix +
      Given a 3 x 3 matrix and using Determinats to solve for inverse +
      invert() - +Method in class edu.nps.moves.math.Quaternion +
        +
      invert(Quaternion) - +Method in class edu.nps.moves.math.Quaternion +
        +
      invert() - +Method in class edu.nps.moves.math.Quaternion2 +
      Finds the inverse (conjugate) of a quaternion +
      IsGroupOfPdu - Class in edu.nps.moves.dis
      Section 5.3.9.2 Information about a particular group of entities grouped together for the purposes of netowrk bandwidth reduction or aggregation.
      IsGroupOfPdu() - +Constructor for class edu.nps.moves.dis.IsGroupOfPdu +
      Constructor +
      IsPartOfPdu - Class in edu.nps.moves.dis
      Section 5.3.9.4 The joining of two or more simulation entities is communicated by this PDU.
      IsPartOfPdu() - +Constructor for class edu.nps.moves.dis.IsPartOfPdu +
      Constructor +
      issuingEntityID - +Variable in class edu.nps.moves.dis.CollisionElasticPdu +
      ID of the entity that issued the collision PDU +
      issuingEntityID - +Variable in class edu.nps.moves.dis.CollisionPdu +
      ID of the entity that issued the collision PDU +
      isTcp() - +Method in class edu.nps.moves.disutil.NioServer.Event +
      Convenience method for checking + getKey().channel() instanceof SocketChannel. +
      isUdp() - +Method in class edu.nps.moves.disutil.NioServer.Event +
      Convenience method for checking + getKey().channel() instanceof DatagramChannel. +
      +
      +

      +J

      +
      +
      jammingModeSequence - +Variable in class edu.nps.moves.dis.ElectronicEmissionBeamData +
      identify jamming techniques used +
      +
      +

      +L

      +
      +
      LAST_EXCEPTION_PROP - +Static variable in class edu.nps.moves.disutil.NioServer +
        +
      latitude - +Variable in class edu.nps.moves.dis.IsGroupOfPdu +
      latitude +
      layerHeader - +Variable in class edu.nps.moves.dis.IffAtcNavAidsLayer2Pdu +
      layer header +
      LayerHeader - Class in edu.nps.moves.dis
      5.2.47.
      LayerHeader() - +Constructor for class edu.nps.moves.dis.LayerHeader +
      Constructor +
      layerNumber - +Variable in class edu.nps.moves.dis.LayerHeader +
      Layer number +
      layerSpecificInformaiton - +Variable in class edu.nps.moves.dis.LayerHeader +
      Layer speccific information enumeration +
      length - +Variable in class edu.nps.moves.dis.Environment +
      length, in bits +
      length - +Variable in class edu.nps.moves.dis.LayerHeader +
      information length +
      length - +Variable in class edu.nps.moves.dis.Pdu +
      Length, in bytes, of the PDU +
      length() - +Method in class edu.nps.moves.math.Quaternion +
        +
      length() - +Method in class edu.nps.moves.math.Vec3f +
        +
      length() - +Method in class edu.nps.moves.math.Vec4f +
        +
      length_sqr() - +Method in class edu.nps.moves.math.Quaternion +
        +
      length_sqr() - +Method in class edu.nps.moves.math.Vec3f +
        +
      length_sqr() - +Method in class edu.nps.moves.math.Vec4f +
        +
      LinearObjectStatePdu - Class in edu.nps.moves.dis
      Section 5.3.11.4: Information abut the addition or modification of a synthecic enviroment object that is anchored to the terrain with a single point and has size or orientation.
      LinearObjectStatePdu() - +Constructor for class edu.nps.moves.dis.LinearObjectStatePdu +
      Constructor +
      LinearSegmentParameter - Class in edu.nps.moves.dis
      5.2.48: Linear segment parameters + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      LinearSegmentParameter() - +Constructor for class edu.nps.moves.dis.LinearSegmentParameter +
      Constructor +
      linearSegmentParameters - +Variable in class edu.nps.moves.dis.LinearObjectStatePdu +
      Linear segment parameters +
      location - +Variable in class edu.nps.moves.dis.CollisionElasticPdu +
      Location with respect to entity the issuing entity collided with +
      location - +Variable in class edu.nps.moves.dis.CollisionPdu +
      Location with respect to entity the issuing entity collided with +
      location - +Variable in class edu.nps.moves.dis.ElectronicEmissionSystemData +
      Location with respect to the entity +
      location - +Variable in class edu.nps.moves.dis.IffAtcNavAidsLayer1Pdu +
      Location wrt entity. +
      location - +Variable in class edu.nps.moves.dis.LinearSegmentParameter +
      location +
      locationInEntityCoordinates - +Variable in class edu.nps.moves.dis.DetonationPdu +
      location of the detonation or impact in the target entity's coordinate system. +
      locationInWorldCoordinates - +Variable in class edu.nps.moves.dis.DetonationPdu +
      where the detonation is, in world coordinates +
      locationInWorldCoordinates - +Variable in class edu.nps.moves.dis.FirePdu +
      location of the firing event +
      LogisticsFamilyPdu - Class in edu.nps.moves.dis
      Section 5.3.5.
      LogisticsFamilyPdu() - +Constructor for class edu.nps.moves.dis.LogisticsFamilyPdu +
      Constructor +
      LogReplay - Class in edu.nps.moves.logger
      Reads from the log files, replaying the data on a multicast group.
      LogReplay(Properties) - +Constructor for class edu.nps.moves.logger.LogReplay +
        +
      LogWriter - Class in edu.nps.moves.logger
      Writes the contents of the PDU buffer to the file in a separate thread.
      LogWriter(String) - +Constructor for class edu.nps.moves.logger.LogWriter +
      Creates a new instance of LogWriter. +
      longitude - +Variable in class edu.nps.moves.dis.IsGroupOfPdu +
      longitude +
      +
      +

      +M

      +
      +
      main(String[]) - +Static method in class edu.nps.moves.examples.EspduReceiver +
        +
      main(String[]) - +Static method in class edu.nps.moves.examples.EspduReceiverNIO +
        +
      main(String[]) - +Static method in class edu.nps.moves.examples.EspduSender +
        +
      main(String[]) - +Static method in class edu.nps.moves.examples.EspduSenderNIO +
        +
      main(String[]) - +Static method in class edu.nps.moves.examples.MarshallExample +
      Shows two ways to marshal and unmarshal XML. +
      main(String[]) - +Static method in class edu.nps.moves.examples.PduSender +
        +
      main(String[]) - +Static method in class edu.nps.moves.examples.ReceiverPerformance +
        +
      main(String[]) - +Static method in class edu.nps.moves.logger.DisLogger +
      Entry point. +
      main(String[]) - +Static method in class edu.nps.moves.logger.LogReplay +
        +
      main(String[]) - +Static method in class edu.nps.moves.math.Quaternion2 +
      Main method for testing +
      major - +Variable in class edu.nps.moves.dis.ModulationType +
      major +
      makeFromVecs(float, float, float, float, float, float) - +Method in class edu.nps.moves.math.Quaternion +
        +
      makeFromVecs(float[], float[]) - +Method in class edu.nps.moves.math.Quaternion +
        +
      makeFromVecs(Vec3f, Vec3f) - +Method in class edu.nps.moves.math.Quaternion +
        +
      makeIdent() - +Method in class edu.nps.moves.math.Matrix3f +
        +
      makeIdent() - +Method in class edu.nps.moves.math.Matrix4f +
        +
      makeIdent() - +Method in class edu.nps.moves.math.Quaternion +
        +
      makeNull() - +Method in class edu.nps.moves.math.Matrix3f +
        +
      makeNull() - +Method in class edu.nps.moves.math.Matrix4f +
        +
      makeNull() - +Method in class edu.nps.moves.math.Vec3f +
        +
      makeNull() - +Method in class edu.nps.moves.math.Vec4f +
        +
      marking - +Variable in class edu.nps.moves.dis.EntityStatePdu +
      characters that can be used for debugging, or to draw unique strings on the side of entities in the world +
      marking - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      characters that can be used for debugging, or to draw unique strings on the side of entities in the world +
      Marking - Class in edu.nps.moves.dis
      Section 5.2.15.
      Marking() - +Constructor for class edu.nps.moves.dis.Marking +
      Constructor +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.AcknowledgePdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.AcknowledgePdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.AcknowledgeReliablePdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.AcknowledgeReliablePdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.AcousticBeamData +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.AcousticBeamData +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.AcousticBeamFundamentalParameter +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.AcousticBeamFundamentalParameter +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.AcousticEmitter +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.AcousticEmitter +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.AcousticEmitterSystem +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.AcousticEmitterSystem +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.AcousticEmitterSystemData +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.AcousticEmitterSystemData +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.ActionRequestPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ActionRequestPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.ActionRequestReliablePdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ActionRequestReliablePdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.ActionResponsePdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ActionResponsePdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.ActionResponseReliablePdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ActionResponseReliablePdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.AggregateID +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.AggregateID +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.AggregateMarking +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.AggregateMarking +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.AggregateStatePdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.AggregateType +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.AggregateType +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.AngularVelocityVector +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.AngularVelocityVector +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.AntennaLocation +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.AntennaLocation +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.ApaData +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ApaData +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.ArealObjectStatePdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ArealObjectStatePdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.ArticulationParameter +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ArticulationParameter +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.BeamAntennaPattern +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.BeamAntennaPattern +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.BeamData +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.BeamData +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.BurstDescriptor +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.BurstDescriptor +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.ClockTime +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ClockTime +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.CollisionPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.CollisionPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.CommentPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.CommentPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.CommentReliablePdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.CommentReliablePdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.CreateEntityPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.CreateEntityPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.CreateEntityReliablePdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.CreateEntityReliablePdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.DataPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.DataPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.DataQueryPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.DataQueryPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.DataQueryReliablePdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.DataQueryReliablePdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.DataReliablePdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.DataReliablePdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.DeadReckoningParameter +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.DeadReckoningParameter +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.DesignatorPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.DesignatorPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.DetonationPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.DetonationPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.DistributedEmissionsFamilyPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.DistributedEmissionsFamilyPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.EightByteChunk +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.EightByteChunk +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.ElectronicEmissionBeamData +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ElectronicEmissionBeamData +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.ElectronicEmissionsPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ElectronicEmissionsPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.ElectronicEmissionSystemData +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ElectronicEmissionSystemData +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.EmitterSystem +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.EmitterSystem +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.EntityID +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.EntityID +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.EntityInformationFamilyPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.EntityInformationFamilyPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.EntityManagementFamilyPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.EntityManagementFamilyPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.EntityStatePdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.EntityStatePdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.EntityStateUpdatePdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.EntityStateUpdatePdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.EntityType +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.EntityType +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.Environment +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.Environment +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.EnvironmentalProcessPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.EnvironmentalProcessPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.EventID +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.EventID +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.EventReportPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.EventReportPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.EventReportReliablePdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.EventReportReliablePdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.FirePdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.FirePdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.FixedDatum +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.FixedDatum +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.FourByteChunk +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.FourByteChunk +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.FundamentalParameterData +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.FundamentalParameterData +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.FundamentalParameterDataIff +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.FundamentalParameterDataIff +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.GridAxisRecord +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.GridAxisRecord +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation0 +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation0 +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation1 +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation1 +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation2 +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation2 +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.GriddedDataPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer1Pdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer1Pdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer2Pdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer2Pdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.IffFundamentalData +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.IffFundamentalData +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.IntercomCommunicationsParameters +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.IntercomCommunicationsParameters +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.IntercomControlPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.IntercomControlPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.IntercomSignalPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.IntercomSignalPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.IsGroupOfPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.IsGroupOfPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.IsPartOfPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.IsPartOfPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.LayerHeader +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.LayerHeader +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.LinearObjectStatePdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.LinearObjectStatePdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.LinearSegmentParameter +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.LinearSegmentParameter +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.LogisticsFamilyPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.LogisticsFamilyPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.Marking +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.Marking +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.MinefieldFamilyPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.MinefieldFamilyPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.MinefieldQueryPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.MinefieldQueryPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.MinefieldResponseNackPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.MinefieldResponseNackPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.MinefieldStatePdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.MinefieldStatePdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.ModulationType +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ModulationType +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.NamedLocation +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.NamedLocation +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.ObjectType +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ObjectType +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.OneByteChunk +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.OneByteChunk +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.Orientation +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.Orientation +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.Pdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.Pdu +
      Packs a Pdu into the ByteBuffer. +
      marshal() - +Method in class edu.nps.moves.dis.Pdu +
      A convenience method for marshalling to a byte array. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.PduContainer +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.PduContainer +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.Point +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.Point +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.PointObjectStatePdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.PointObjectStatePdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.PropulsionSystemData +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.PropulsionSystemData +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.RadioCommunicationsFamilyPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.RadioCommunicationsFamilyPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.RadioEntityType +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.RadioEntityType +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.ReceiverPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ReceiverPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.RecordQueryReliablePdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.RecordQueryReliablePdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.RecordSet +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.RecordSet +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.Relationship +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.Relationship +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.RemoveEntityPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.RemoveEntityPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.RemoveEntityReliablePdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.RemoveEntityReliablePdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.RepairCompletePdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.RepairCompletePdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.RepairResponsePdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.RepairResponsePdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.ResupplyCancelPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ResupplyCancelPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.ResupplyOfferPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ResupplyOfferPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.ResupplyReceivedPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ResupplyReceivedPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.SeesPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.SeesPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.ServiceRequestPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ServiceRequestPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.SetDataPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.SetDataPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.SetDataReliablePdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.SetDataReliablePdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.SetRecordReliablePdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.SetRecordReliablePdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.ShaftRPMs +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ShaftRPMs +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.SignalPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.SignalPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.SimulationAddress +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.SimulationAddress +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.SimulationManagementFamilyPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.SimulationManagementFamilyPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.SixByteChunk +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.SixByteChunk +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.SphericalHarmonicAntennaPattern +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.SphericalHarmonicAntennaPattern +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.StartResumePdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.StartResumePdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.StartResumeReliablePdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.StartResumeReliablePdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.StopFreezePdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.StopFreezePdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.StopFreezeReliablePdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.StopFreezeReliablePdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.SupplyQuantity +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.SupplyQuantity +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.SyntheticEnvironmentFamilyPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.SyntheticEnvironmentFamilyPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.SystemID +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.SystemID +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.TrackJamTarget +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.TrackJamTarget +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.TransferControlRequestPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.TransferControlRequestPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.TransmitterPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.TwoByteChunk +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.TwoByteChunk +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.UaPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.UaPdu +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.VariableDatum +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.VariableDatum +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.Vector3Double +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.Vector3Double +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.Vector3Float +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.Vector3Float +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.VectoringNozzleSystemData +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.VectoringNozzleSystemData +
      Packs a Pdu into the ByteBuffer. +
      marshal(DataOutputStream) - +Method in class edu.nps.moves.dis.WarfareFamilyPdu +
        +
      marshal(ByteBuffer) - +Method in class edu.nps.moves.dis.WarfareFamilyPdu +
      Packs a Pdu into the ByteBuffer. +
      MarshallExample - Class in edu.nps.moves.examples
      Example of using JAXB to marshal and unmarshal to XML.
      MarshallExample() - +Constructor for class edu.nps.moves.examples.MarshallExample +
        +
      marshallToXml(String) - +Method in class edu.nps.moves.dis.PduContainer +
      JAXB is picky about marshalling classes it hasn't heard of before. +
      marshalWithDisAbsoluteTimestamp() - +Method in class edu.nps.moves.dis.Pdu +
      A convieneince method to marshal to a byte array with the timestamp set to + the DIS standard for absolute timestamps (which works only if the host is + slaved to NTP). +
      marshalWithDisRelativeTimestamp() - +Method in class edu.nps.moves.dis.Pdu +
      A convieneince method to marshal to a byte array with the timestamp set to + the DIS standard for relative timestamps. +
      marshalWithNpsTimestamp() - +Method in class edu.nps.moves.dis.Pdu +
      A convienience method to marshal a PDU using the NPS-specific format for + timestamps, which is hundredths of a second since the start of the year. +
      marshalWithUnixTimestamp() - +Method in class edu.nps.moves.dis.Pdu +
      Another option for marshalling with the timestamp field set automatically. +
      mass - +Variable in class edu.nps.moves.dis.CollisionElasticPdu +
      mass of issuing entity +
      mass - +Variable in class edu.nps.moves.dis.CollisionPdu +
      mass of issuing entity +
      masterCommunicationsDeviceID - +Variable in class edu.nps.moves.dis.IntercomControlPdu +
      specific intercom device that has created this intercom channel +
      masterEntityID - +Variable in class edu.nps.moves.dis.IntercomControlPdu +
      eid of the entity that has created this intercom channel. +
      Matrix - Class in edu.nps.moves.deadreckoning.utils
      A class that performs some basic Matrix manipulations, stopping short of + Eigenvectors, Single Value Decomposition, LU, and other more advaced + manipulations.
      Matrix(int) - +Constructor for class edu.nps.moves.deadreckoning.utils.Matrix +
      create a square matrix initialized to the identity +
      Matrix(int, int) - +Constructor for class edu.nps.moves.deadreckoning.utils.Matrix +
      create a matrix of any dimensions initialized to all zeroes. +
      Matrix(Matrix) - +Constructor for class edu.nps.moves.deadreckoning.utils.Matrix +
      Creates a matrix of a matrix...a copy +
      Matrix3f - Class in edu.nps.moves.math
      EXECUTIVE SUMMARY + Module Name: Matrix3f.java + Description: Definition of the Matrix3f class
      Matrix3f() - +Constructor for class edu.nps.moves.math.Matrix3f +
        +
      Matrix3f(float[][]) - +Constructor for class edu.nps.moves.math.Matrix3f +
        +
      Matrix3f(Matrix3f) - +Constructor for class edu.nps.moves.math.Matrix3f +
        +
      Matrix3f(Quaternion) - +Constructor for class edu.nps.moves.math.Matrix3f +
        +
      Matrix3f(float[]) - +Constructor for class edu.nps.moves.math.Matrix3f +
        +
      Matrix3f(float, float, float) - +Constructor for class edu.nps.moves.math.Matrix3f +
        +
      Matrix4f - Class in edu.nps.moves.math
      EXECUTIVE SUMMARY + Module Name: Matrix4f.java + Description: Definition of the Matrix4f class
      Matrix4f() - +Constructor for class edu.nps.moves.math.Matrix4f +
        +
      Matrix4f(float[][]) - +Constructor for class edu.nps.moves.math.Matrix4f +
        +
      Matrix4f(Matrix4f) - +Constructor for class edu.nps.moves.math.Matrix4f +
        +
      Matrix4f(Quaternion) - +Constructor for class edu.nps.moves.math.Matrix4f +
        +
      Matrix4f(float[]) - +Constructor for class edu.nps.moves.math.Matrix4f +
        +
      Matrix4f(float, float, float) - +Constructor for class edu.nps.moves.math.Matrix4f +
        +
      MatrixException - Exception in edu.nps.moves.deadreckoning.utils
      The Exception class that is thrown by the Matrix.java class + Very basic Exception class, only passes a description of the error + that will hopefully lead to simple troubleshooting resolution...:)
      MatrixException(String) - +Constructor for exception edu.nps.moves.deadreckoning.utils.MatrixException +
        +
      MAX_PDU_LOGFILE_SIZE - +Static variable in class edu.nps.moves.logger.DisLogger +
        +
      MAX_PDU_SIZE - +Static variable in class edu.nps.moves.examples.EspduReceiver +
      Max size of a PDU in binary format that we can receive. +
      MAX_PDU_SIZE - +Static variable in class edu.nps.moves.examples.EspduReceiverNIO +
      Max size of a PDU in binary format that we can receive. +
      MAX_PDU_SIZE - +Static variable in class edu.nps.moves.logger.DisLogger +
      Maximum PDU size. +
      MemoryView - Class in edu.nps.moves.examples
      Used in support of PduByteBufferTester
      + Frame to display amount of free memory in the running application.
      MemoryView() - +Constructor for class edu.nps.moves.examples.MemoryView +
      Initializes the Form +
      MIN_SLEEP_TIME - +Static variable in class edu.nps.moves.logger.LogReplay +
      time, in milliseconds, that it is not worth sleeping for +
      MinefieldDataPdu - Class in edu.nps.moves.dis
      Section 5.3.10.3 Information about individual mines within a minefield.
      MinefieldDataPdu() - +Constructor for class edu.nps.moves.dis.MinefieldDataPdu +
      Constructor +
      MinefieldFamilyPdu - Class in edu.nps.moves.dis
      Section 5.3.10.1 Abstract superclass for PDUs relating to minefields + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      MinefieldFamilyPdu() - +Constructor for class edu.nps.moves.dis.MinefieldFamilyPdu +
      Constructor +
      minefieldID - +Variable in class edu.nps.moves.dis.MinefieldDataPdu +
      Minefield ID +
      minefieldID - +Variable in class edu.nps.moves.dis.MinefieldQueryPdu +
      Minefield ID +
      minefieldID - +Variable in class edu.nps.moves.dis.MinefieldResponseNackPdu +
      Minefield ID +
      minefieldID - +Variable in class edu.nps.moves.dis.MinefieldStatePdu +
      Minefield ID +
      minefieldLocation - +Variable in class edu.nps.moves.dis.MinefieldStatePdu +
      location of minefield in world coords +
      minefieldOrientation - +Variable in class edu.nps.moves.dis.MinefieldStatePdu +
      orientation of minefield +
      MinefieldQueryPdu - Class in edu.nps.moves.dis
      Section 5.3.10.2 Query a minefield for information about individual mines.
      MinefieldQueryPdu() - +Constructor for class edu.nps.moves.dis.MinefieldQueryPdu +
      Constructor +
      MinefieldResponseNackPdu - Class in edu.nps.moves.dis
      Section 5.3.10.4 proivde the means to request a retransmit of a minefield data pdu.
      MinefieldResponseNackPdu() - +Constructor for class edu.nps.moves.dis.MinefieldResponseNackPdu +
      Constructor +
      minefieldSequence - +Variable in class edu.nps.moves.dis.MinefieldStatePdu +
      Minefield sequence +
      minefieldSequenceNumbeer - +Variable in class edu.nps.moves.dis.MinefieldDataPdu +
      Minefield sequence number +
      MinefieldStatePdu - Class in edu.nps.moves.dis
      Section 5.3.10.1 Abstract superclass for PDUs relating to minefields.
      MinefieldStatePdu() - +Constructor for class edu.nps.moves.dis.MinefieldStatePdu +
      Constructor +
      minefieldType - +Variable in class edu.nps.moves.dis.MinefieldStatePdu +
      type of minefield +
      mineLocation - +Variable in class edu.nps.moves.dis.MinefieldDataPdu +
      Mine locations +
      mineType - +Variable in class edu.nps.moves.dis.MinefieldDataPdu +
      Mine type +
      mineType - +Variable in class edu.nps.moves.dis.MinefieldStatePdu +
      Type of mines +
      missingPduSequenceNumbers - +Variable in class edu.nps.moves.dis.MinefieldResponseNackPdu +
      PDU sequence numbers that were missing +
      modelType - +Variable in class edu.nps.moves.dis.EnvironmentalProcessPdu +
      model type +
      modifications - +Variable in class edu.nps.moves.dis.ArealObjectStatePdu +
      modifications enumeration +
      modifications - +Variable in class edu.nps.moves.dis.PointObjectStatePdu +
      modifications +
      modifier - +Variable in class edu.nps.moves.dis.IffFundamentalData +
      enumeration +
      modulationParameterCount - +Variable in class edu.nps.moves.dis.TransmitterPdu +
      how many modulation parameters we have +
      modulationParametersList - +Variable in class edu.nps.moves.dis.TransmitterPdu +
      variable length list of modulation parameters +
      ModulationType - Class in edu.nps.moves.dis
      Radio modulation + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      ModulationType() - +Constructor for class edu.nps.moves.dis.ModulationType +
      Constructor +
      modulationType - +Variable in class edu.nps.moves.dis.TransmitterPdu +
      modulation +
      MTU_SIZE - +Static variable in class edu.nps.moves.net.BehaviorProducerUDP +
      The (rough) size of an ethernet frame +
      mult(double) - +Method in class edu.nps.moves.deadreckoning.utils.Matrix +
      scales a matrix, but does not destroy the content of the original +
      mult(Matrix) - +Method in class edu.nps.moves.deadreckoning.utils.Matrix +
      Multiplies 2 matrixes together +
      mult(Matrix, Matrix) - +Static method in class edu.nps.moves.deadreckoning.utils.Matrix +
      multiplies two matrixes together + None Destructive +
      mult(Quaternion, Quaternion) - +Method in class edu.nps.moves.math.Quaternion +
        +
      MULTICAST_ADDRESS - +Static variable in class edu.nps.moves.examples.PduSender +
        +
      MULTICAST_GROUP - +Static variable in class edu.nps.moves.examples.EspduSender +
      multicast group we send on +
      MULTICAST_GROUP - +Static variable in class edu.nps.moves.examples.EspduSenderNIO +
      multicast group we send on +
      MULTICAST_GROUP - +Static variable in class edu.nps.moves.examples.ReceiverPerformance +
        +
      multiply(Quaternion2) - +Method in class edu.nps.moves.math.Quaternion2 +
      Multiplies two quaternions +
      multiply(double) - +Method in class edu.nps.moves.math.Quaternion2 +
      Multiplies this quaternion with a scalar +
      multSelf(double) - +Method in class edu.nps.moves.deadreckoning.utils.Matrix +
      Scalar multiply in place +
      multVec(Matrix, double[]) - +Static method in class edu.nps.moves.deadreckoning.utils.Matrix +
      Performs Ax multiplication +
      munition - +Variable in class edu.nps.moves.dis.BurstDescriptor +
      What munition was used in the burst +
      munitionID - +Variable in class edu.nps.moves.dis.DetonationPdu +
      ID of muntion that was fired +
      munitionID - +Variable in class edu.nps.moves.dis.FirePdu +
      ID of the munition that is being shot +
      +
      +

      +N

      +
      +
      NamedLocation - Class in edu.nps.moves.dis
      discrete ostional relationsihip + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      NamedLocation() - +Constructor for class edu.nps.moves.dis.NamedLocation +
      Constructor +
      namedLocationID - +Variable in class edu.nps.moves.dis.IsPartOfPdu +
      named location +
      nature - +Variable in class edu.nps.moves.dis.Relationship +
      Nature of join +
      negate() - +Method in class edu.nps.moves.math.Vec3f +
        +
      negate(Vec3f) - +Method in class edu.nps.moves.math.Vec3f +
        +
      negate() - +Method in class edu.nps.moves.math.Vec4f +
        +
      negate(Vec4f) - +Method in class edu.nps.moves.math.Vec4f +
        +
      NioServer - Class in edu.nps.moves.disutil
      A robust class for establishing simultaneous TCP and UDP servers and manipulating + their listening ports.
      NioServer() - +Constructor for class edu.nps.moves.disutil.NioServer +
      Constructs a new NioServer, listening to nothing, and not started. +
      NioServer(ThreadFactory) - +Constructor for class edu.nps.moves.disutil.NioServer +
      Constructs a new NioServer, listening to nothing, and not started. +
      NioServer.Adapter - Class in edu.nps.moves.disutil
      A helper class that implements all methods of the + NioServer.Listener interface with empty methods.
      NioServer.Adapter() - +Constructor for class edu.nps.moves.disutil.NioServer.Adapter +
        +
      NioServer.Event - Class in edu.nps.moves.disutil
      An event representing activity by a NioServer.
      NioServer.Event(NioServer) - +Constructor for class edu.nps.moves.disutil.NioServer.Event +
      Creates a Event based on the given NioServer. +
      NioServer.Listener - Interface in edu.nps.moves.disutil
      An interface for listening to events from a NioServer.
      NioServer.State - Enum in edu.nps.moves.disutil
      One of four possible states for the server to be in:
      nioServerConnectionClosed(NioServer.Event) - +Method in class edu.nps.moves.disutil.NioServer.Adapter +
      Empty method. +
      nioServerConnectionClosed(NioServer.Event) - +Method in interface edu.nps.moves.disutil.NioServer.Listener +
      Called when a connection is closed remotely. +
      nioServerNewConnectionReceived(NioServer.Event) - +Method in class edu.nps.moves.disutil.NioServer.Adapter +
      Empty method. +
      nioServerNewConnectionReceived(NioServer.Event) - +Method in interface edu.nps.moves.disutil.NioServer.Listener +
      Called when a new connection is received. +
      nioServerTcpDataReceived(NioServer.Event) - +Method in class edu.nps.moves.disutil.NioServer.Adapter +
      Empty method. +
      nioServerTcpDataReceived(NioServer.Event) - +Method in interface edu.nps.moves.disutil.NioServer.Listener +
      Called when TCP data is received. +
      nioServerUdpDataReceived(NioServer.Event) - +Method in class edu.nps.moves.disutil.NioServer.Adapter +
      Empty method. +
      nioServerUdpDataReceived(NioServer.Event) - +Method in interface edu.nps.moves.disutil.NioServer.Listener +
      Called when UDP data is received. +
      nomenclature - +Variable in class edu.nps.moves.dis.RadioEntityType +
        +
      nomenclatureVersion - +Variable in class edu.nps.moves.dis.RadioEntityType +
      specific info based on subcategory field +
      normalize() - +Method in class edu.nps.moves.math.Quaternion +
        +
      normalize(Quaternion) - +Method in class edu.nps.moves.math.Quaternion +
        +
      normalize() - +Method in class edu.nps.moves.math.Quaternion2 +
      Normalizes the quaternion + modifies the current quaternion +
      normalize() - +Method in class edu.nps.moves.math.Vec3f +
        +
      normalize(Vec3f) - +Method in class edu.nps.moves.math.Vec3f +
        +
      normalize() - +Method in class edu.nps.moves.math.Vec4f +
        +
      normalize(Vec4f) - +Method in class edu.nps.moves.math.Vec4f +
        +
      numberOfAPAs - +Variable in class edu.nps.moves.dis.UaPdu +
      This field shall indicate the number of APAs described in the current UA PDU +
      numberOfArticulationParameters - +Variable in class edu.nps.moves.dis.DetonationPdu +
      How many articulation parameters we have +
      numberOfArticulationParameters - +Variable in class edu.nps.moves.dis.EntityStatePdu +
      How many articulation parameters are in the variable length list +
      numberOfArticulationParameters - +Variable in class edu.nps.moves.dis.EntityStateUpdatePdu +
      How many articulation parameters are in the variable length list +
      numberOfArticulationParameters - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      How many articulation parameters are in the variable length list +
      numberOfBeams - +Variable in class edu.nps.moves.dis.AcousticEmitterSystemData +
      Number of beams +
      numberOfBeams - +Variable in class edu.nps.moves.dis.ElectronicEmissionSystemData +
      This field shall specify the number of beams being described in the current PDU for the system being described. +
      numberOfBytes - +Variable in class edu.nps.moves.dis.GridAxisRecordRepresentation0 +
      number of bytes of environmental state data +
      numberOfDisAggregates - +Variable in class edu.nps.moves.dis.AggregateStatePdu +
      number of aggregates +
      numberOfDisEntities - +Variable in class edu.nps.moves.dis.AggregateStatePdu +
      number of entities +
      numberOfEnvironmentRecords - +Variable in class edu.nps.moves.dis.EnvironmentalProcessPdu +
      number of environment records +
      numberOfFixedDatumRecords - +Variable in class edu.nps.moves.dis.ActionRequestPdu +
      Number of fixed datum records +
      numberOfFixedDatumRecords - +Variable in class edu.nps.moves.dis.ActionRequestReliablePdu +
      Fixed datum record count +
      numberOfFixedDatumRecords - +Variable in class edu.nps.moves.dis.ActionResponsePdu +
      Number of fixed datum records +
      numberOfFixedDatumRecords - +Variable in class edu.nps.moves.dis.ActionResponseReliablePdu +
      Fixed datum record count +
      numberOfFixedDatumRecords - +Variable in class edu.nps.moves.dis.CommentPdu +
      Number of fixed datum records +
      numberOfFixedDatumRecords - +Variable in class edu.nps.moves.dis.CommentReliablePdu +
      Fixed datum record count +
      numberOfFixedDatumRecords - +Variable in class edu.nps.moves.dis.DataPdu +
      Number of fixed datum records +
      numberOfFixedDatumRecords - +Variable in class edu.nps.moves.dis.DataQueryPdu +
      Number of fixed datum records +
      numberOfFixedDatumRecords - +Variable in class edu.nps.moves.dis.DataQueryReliablePdu +
      Fixed datum record count +
      numberOfFixedDatumRecords - +Variable in class edu.nps.moves.dis.DataReliablePdu +
      Fixed datum record count +
      numberOfFixedDatumRecords - +Variable in class edu.nps.moves.dis.EventReportPdu +
      Number of fixed datum records +
      numberOfFixedDatumRecords - +Variable in class edu.nps.moves.dis.EventReportReliablePdu +
      Fixed datum record count +
      numberOfFixedDatumRecords - +Variable in class edu.nps.moves.dis.SetDataPdu +
      Number of fixed datum records +
      numberOfFixedDatumRecords - +Variable in class edu.nps.moves.dis.SetDataReliablePdu +
      Fixed datum record count +
      numberOfGridAxes - +Variable in class edu.nps.moves.dis.GriddedDataPdu +
      number of grid axes for the environmental data +
      numberOfGroupedEntities - +Variable in class edu.nps.moves.dis.IsGroupOfPdu +
      Number of individual entities constituting the group +
      numberOfMinesInThisPdu - +Variable in class edu.nps.moves.dis.MinefieldDataPdu +
      how many mines are in this PDU +
      numberOfMineTypes - +Variable in class edu.nps.moves.dis.MinefieldStatePdu +
      how many mine types +
      numberOfMissingPdus - +Variable in class edu.nps.moves.dis.MinefieldResponseNackPdu +
      how many pdus were missing +
      numberOfPdus - +Variable in class edu.nps.moves.dis.MinefieldDataPdu +
      number of pdus in response +
      numberOfPdus - +Variable in class edu.nps.moves.dis.PduContainer +
      Number of PDUs in the container list +
      numberOfPerimeterPoints - +Variable in class edu.nps.moves.dis.MinefieldQueryPdu +
      Number of perimeter points for the minefield +
      numberOfPerimeterPoints - +Variable in class edu.nps.moves.dis.MinefieldStatePdu +
      Number of permieter points +
      numberOfPoints - +Variable in class edu.nps.moves.dis.ArealObjectStatePdu +
      Number of points +
      numberOfPropulsionSystems - +Variable in class edu.nps.moves.dis.SeesPdu +
      how many propulsion systems +
      numberOfRecords - +Variable in class edu.nps.moves.dis.RecordQueryReliablePdu +
      numberOfRecords +
      numberOfRecordSets - +Variable in class edu.nps.moves.dis.SetRecordReliablePdu +
      Number of record sets in list +
      numberOfRecordSets - +Variable in class edu.nps.moves.dis.TransferControlRequestPdu +
      number of record sets to transfer +
      numberOfSegments - +Variable in class edu.nps.moves.dis.LinearObjectStatePdu +
      number of linear segment parameters +
      numberOfSensorTypes - +Variable in class edu.nps.moves.dis.MinefieldDataPdu +
      how many sensor type are in this PDU +
      numberOfSensorTypes - +Variable in class edu.nps.moves.dis.MinefieldQueryPdu +
      Number of sensor types +
      numberOfShafts - +Variable in class edu.nps.moves.dis.UaPdu +
      This field shall represent the number of shafts on a platform +
      numberOfSilentAggregateTypes - +Variable in class edu.nps.moves.dis.AggregateStatePdu +
      number of silent aggregate types +
      numberOfSilentEntityTypes - +Variable in class edu.nps.moves.dis.AggregateStatePdu +
      number of silent entity types +
      numberOfSupplyTypes - +Variable in class edu.nps.moves.dis.ResupplyOfferPdu +
      how many supplies are being offered +
      numberOfSupplyTypes - +Variable in class edu.nps.moves.dis.ResupplyReceivedPdu +
      how many supplies are being offered +
      numberOfSupplyTypes - +Variable in class edu.nps.moves.dis.ServiceRequestPdu +
      How many requested +
      numberOfSystems - +Variable in class edu.nps.moves.dis.ElectronicEmissionsPdu +
      This field shall specify the number of emission systems being described in the current PDU. +
      numberOfTrackJamTargets - +Variable in class edu.nps.moves.dis.ElectronicEmissionBeamData +
      Number of track/jam targets +
      numberOfUAEmitterSystems - +Variable in class edu.nps.moves.dis.UaPdu +
      This field shall specify the number of UA emitter systems being described in the current UA PDU +
      numberOfValues - +Variable in class edu.nps.moves.dis.GridAxisRecordRepresentation1 +
      Number of data values +
      numberOfValues - +Variable in class edu.nps.moves.dis.GridAxisRecordRepresentation2 +
      number of values +
      numberOfVariableDatumRecords - +Variable in class edu.nps.moves.dis.ActionRequestPdu +
      Number of variable datum records +
      numberOfVariableDatumRecords - +Variable in class edu.nps.moves.dis.ActionRequestReliablePdu +
      variable datum record count +
      numberOfVariableDatumRecords - +Variable in class edu.nps.moves.dis.ActionResponsePdu +
      Number of variable datum records +
      numberOfVariableDatumRecords - +Variable in class edu.nps.moves.dis.ActionResponseReliablePdu +
      variable datum record count +
      numberOfVariableDatumRecords - +Variable in class edu.nps.moves.dis.AggregateStatePdu +
      number of variable datum records +
      numberOfVariableDatumRecords - +Variable in class edu.nps.moves.dis.CommentPdu +
      Number of variable datum records +
      numberOfVariableDatumRecords - +Variable in class edu.nps.moves.dis.CommentReliablePdu +
      variable datum record count +
      numberOfVariableDatumRecords - +Variable in class edu.nps.moves.dis.DataPdu +
      Number of variable datum records +
      numberOfVariableDatumRecords - +Variable in class edu.nps.moves.dis.DataQueryPdu +
      Number of variable datum records +
      numberOfVariableDatumRecords - +Variable in class edu.nps.moves.dis.DataQueryReliablePdu +
      variable datum record count +
      numberOfVariableDatumRecords - +Variable in class edu.nps.moves.dis.DataReliablePdu +
      variable datum record count +
      numberOfVariableDatumRecords - +Variable in class edu.nps.moves.dis.EventReportPdu +
      Number of variable datum records +
      numberOfVariableDatumRecords - +Variable in class edu.nps.moves.dis.EventReportReliablePdu +
      variable datum record count +
      numberOfVariableDatumRecords - +Variable in class edu.nps.moves.dis.SetDataPdu +
      Number of variable datum records +
      numberOfVariableDatumRecords - +Variable in class edu.nps.moves.dis.SetDataReliablePdu +
      variable datum record count +
      numberOfVectoringNozzleSystems - +Variable in class edu.nps.moves.dis.SeesPdu +
      how many vectoring nozzle systems +
      +
      +

      +O

      +
      +
      objectAppearance - +Variable in class edu.nps.moves.dis.ArealObjectStatePdu +
      Object appearance +
      objectAppearance - +Variable in class edu.nps.moves.dis.PointObjectStatePdu +
      Object apperance +
      objectID - +Variable in class edu.nps.moves.dis.ArealObjectStatePdu +
      Object in synthetic environment +
      objectID - +Variable in class edu.nps.moves.dis.LinearObjectStatePdu +
      Object in synthetic environment +
      objectID - +Variable in class edu.nps.moves.dis.PointObjectStatePdu +
      Object in synthetic environment +
      objectLocation - +Variable in class edu.nps.moves.dis.ArealObjectStatePdu +
      location of object +
      objectLocation - +Variable in class edu.nps.moves.dis.PointObjectStatePdu +
      Object location +
      objectOrientation - +Variable in class edu.nps.moves.dis.PointObjectStatePdu +
      Object orientation +
      objectType - +Variable in class edu.nps.moves.dis.ArealObjectStatePdu +
      Object type +
      objectType - +Variable in class edu.nps.moves.dis.LinearObjectStatePdu +
      Object type +
      ObjectType - Class in edu.nps.moves.dis
      Identifies type of object.
      ObjectType() - +Constructor for class edu.nps.moves.dis.ObjectType +
      Constructor +
      objectType - +Variable in class edu.nps.moves.dis.PointObjectStatePdu +
      Object type +
      OneByteChunk - Class in edu.nps.moves.dis
      8 bit piece of data + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      OneByteChunk() - +Constructor for class edu.nps.moves.dis.OneByteChunk +
      Constructor +
      order - +Variable in class edu.nps.moves.dis.SphericalHarmonicAntennaPattern +
        +
      orderedShaftRPMs - +Variable in class edu.nps.moves.dis.ShaftRPMs +
      ordered shaft rpms +
      orginatingEntityID - +Variable in class edu.nps.moves.dis.IsPartOfPdu +
      ID of entity originating PDU +
      orginatingEntityID - +Variable in class edu.nps.moves.dis.SeesPdu +
      Originating entity ID +
      orginatingEntityID - +Variable in class edu.nps.moves.dis.TransferControlRequestPdu +
      ID of entity originating request +
      orientation - +Variable in class edu.nps.moves.dis.AggregateStatePdu +
      orientation of the bounding box +
      orientation - +Variable in class edu.nps.moves.dis.GriddedDataPdu +
      orientation of the data grid +
      orientation - +Variable in class edu.nps.moves.dis.LinearSegmentParameter +
      orientation +
      Orientation - Class in edu.nps.moves.dis
      Section 5.2.17.
      Orientation() - +Constructor for class edu.nps.moves.dis.Orientation +
      Constructor +
      originatingEntityID - +Variable in class edu.nps.moves.dis.SimulationManagementFamilyPdu +
      Entity that is sending message +
      originatingEntityID - +Variable in class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu +
      Object originatig the request +
      otherParameters - +Variable in class edu.nps.moves.dis.DeadReckoningParameter +
      other parameters to use in the dead reckoning algorithm +
      otherParameters - +Variable in class edu.nps.moves.dis.EightByteChunk +
      Eight bytes of arbitrary data +
      otherParameters - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      other parameters to use in the dead reckoning algorithm +
      otherParameters - +Variable in class edu.nps.moves.dis.FourByteChunk +
      four bytes of arbitrary data +
      otherParameters - +Variable in class edu.nps.moves.dis.OneByteChunk +
      one byte of arbitrary data +
      otherParameters - +Variable in class edu.nps.moves.dis.SixByteChunk +
      six bytes of arbitrary data +
      otherParameters - +Variable in class edu.nps.moves.dis.TwoByteChunk +
      two bytes of arbitrary data +
      +
      +

      +P

      +
      +
      pad - +Variable in class edu.nps.moves.dis.CollisionElasticPdu +
      some padding +
      pad - +Variable in class edu.nps.moves.dis.CollisionPdu +
      some padding +
      pad - +Variable in class edu.nps.moves.dis.DetonationPdu +
      padding +
      pad - +Variable in class edu.nps.moves.dis.UaPdu +
      padding +
      pad1 - +Variable in class edu.nps.moves.dis.ActionRequestReliablePdu +
      padding +
      pad1 - +Variable in class edu.nps.moves.dis.CreateEntityReliablePdu +
      padding +
      pad1 - +Variable in class edu.nps.moves.dis.DataQueryReliablePdu +
      padding +
      pad1 - +Variable in class edu.nps.moves.dis.DataReliablePdu +
      padding +
      pad1 - +Variable in class edu.nps.moves.dis.EventReportReliablePdu +
      padding +
      pad1 - +Variable in class edu.nps.moves.dis.LinearSegmentParameter +
      segment Depth +
      pad1 - +Variable in class edu.nps.moves.dis.RecordQueryReliablePdu +
      padding. +
      pad1 - +Variable in class edu.nps.moves.dis.RemoveEntityReliablePdu +
      padding +
      pad1 - +Variable in class edu.nps.moves.dis.SetDataReliablePdu +
      padding +
      pad1 - +Variable in class edu.nps.moves.dis.SetRecordReliablePdu +
      padding. +
      pad1 - +Variable in class edu.nps.moves.dis.StartResumeReliablePdu +
      padding +
      pad1 - +Variable in class edu.nps.moves.dis.StopFreezeReliablePdu +
      padding +
      pad2 - +Variable in class edu.nps.moves.dis.AcousticBeamData +
      padding +
      pad2 - +Variable in class edu.nps.moves.dis.AcousticEmitterSystemData +
      padding +
      pad2 - +Variable in class edu.nps.moves.dis.ActionRequestReliablePdu +
      padding +
      pad2 - +Variable in class edu.nps.moves.dis.AggregateStatePdu +
        +
      pad2 - +Variable in class edu.nps.moves.dis.CreateEntityReliablePdu +
      padding +
      pad2 - +Variable in class edu.nps.moves.dis.DataQueryReliablePdu +
      padding +
      pad2 - +Variable in class edu.nps.moves.dis.DataReliablePdu +
      padding +
      pad2 - +Variable in class edu.nps.moves.dis.FundamentalParameterDataIff +
      padding +
      pad2 - +Variable in class edu.nps.moves.dis.IffAtcNavAidsLayer1Pdu +
      padding +
      pad2 - +Variable in class edu.nps.moves.dis.IsGroupOfPdu +
      padding +
      pad2 - +Variable in class edu.nps.moves.dis.MinefieldDataPdu +
      padding +
      pad2 - +Variable in class edu.nps.moves.dis.MinefieldQueryPdu +
      Padding +
      pad2 - +Variable in class edu.nps.moves.dis.PointObjectStatePdu +
      padding +
      pad2 - +Variable in class edu.nps.moves.dis.RecordQueryReliablePdu +
      padding +
      pad2 - +Variable in class edu.nps.moves.dis.RemoveEntityReliablePdu +
      padding +
      pad2 - +Variable in class edu.nps.moves.dis.SetDataReliablePdu +
      padding +
      pad2 - +Variable in class edu.nps.moves.dis.SetRecordReliablePdu +
      padding +
      pad2 - +Variable in class edu.nps.moves.dis.StartResumeReliablePdu +
      padding +
      pad3 - +Variable in class edu.nps.moves.dis.FundamentalParameterDataIff +
      padding +
      pad3 - +Variable in class edu.nps.moves.dis.MinefieldDataPdu +
      Padding to get things 32-bit aligned. +
      pad4 - +Variable in class edu.nps.moves.dis.ElectronicEmissionBeamData +
      padding +
      pad4 - +Variable in class edu.nps.moves.dis.RecordSet +
        +
      padding - +Variable in class edu.nps.moves.dis.Pdu +
      zero-filled array of padding +
      padding - +Variable in class edu.nps.moves.dis.RepairCompletePdu +
      padding +
      padding1 - +Variable in class edu.nps.moves.dis.BeamAntennaPattern +
        +
      padding1 - +Variable in class edu.nps.moves.dis.DataPdu +
      padding +
      padding1 - +Variable in class edu.nps.moves.dis.DesignatorPdu +
      padding +
      padding1 - +Variable in class edu.nps.moves.dis.Environment +
      padding +
      padding1 - +Variable in class edu.nps.moves.dis.EventReportPdu +
      padding +
      padding1 - +Variable in class edu.nps.moves.dis.GriddedDataPdu +
      padding +
      padding1 - +Variable in class edu.nps.moves.dis.ReceiverPdu +
      padding +
      padding1 - +Variable in class edu.nps.moves.dis.RepairResponsePdu +
      padding +
      padding1 - +Variable in class edu.nps.moves.dis.ResupplyOfferPdu +
      padding +
      padding1 - +Variable in class edu.nps.moves.dis.ResupplyReceivedPdu +
      padding +
      padding1 - +Variable in class edu.nps.moves.dis.SetDataPdu +
      padding +
      padding1 - +Variable in class edu.nps.moves.dis.StopFreezePdu +
      padding +
      padding1 - +Variable in class edu.nps.moves.dis.TransmitterPdu +
      padding +
      padding2 - +Variable in class edu.nps.moves.dis.BeamAntennaPattern +
        +
      padding2 - +Variable in class edu.nps.moves.dis.DesignatorPdu +
      padding +
      padding2 - +Variable in class edu.nps.moves.dis.Environment +
      padding to bring the total size up to a 64 bit boundry +
      padding2 - +Variable in class edu.nps.moves.dis.GriddedDataPdu +
      padding +
      padding2 - +Variable in class edu.nps.moves.dis.RepairResponsePdu +
      padding +
      padding2 - +Variable in class edu.nps.moves.dis.ResupplyOfferPdu +
      padding +
      padding2 - +Variable in class edu.nps.moves.dis.ResupplyReceivedPdu +
      padding +
      padding2 - +Variable in class edu.nps.moves.dis.TransmitterPdu +
      padding2 +
      padding3 - +Variable in class edu.nps.moves.dis.TransmitterPdu +
      padding3 +
      paddingForEmissionsPdu - +Variable in class edu.nps.moves.dis.ElectronicEmissionsPdu +
      padding +
      parameter1 - +Variable in class edu.nps.moves.dis.IffFundamentalData +
      parameter, enumeration +
      parameter2 - +Variable in class edu.nps.moves.dis.IffFundamentalData +
      parameter, enumeration +
      parameter3 - +Variable in class edu.nps.moves.dis.IffFundamentalData +
      parameter, enumeration +
      parameter4 - +Variable in class edu.nps.moves.dis.IffFundamentalData +
      parameter, enumeration +
      parameter5 - +Variable in class edu.nps.moves.dis.IffFundamentalData +
      parameter, enumeration +
      parameter6 - +Variable in class edu.nps.moves.dis.IffFundamentalData +
      parameter, enumeration +
      parameterIndex - +Variable in class edu.nps.moves.dis.ApaData +
      Index of APA parameter +
      parameterType - +Variable in class edu.nps.moves.dis.ArticulationParameter +
        +
      parameterTypeDesignator - +Variable in class edu.nps.moves.dis.ArticulationParameter +
        +
      parameterValue - +Variable in class edu.nps.moves.dis.ApaData +
      Index of APA parameter +
      parameterValue - +Variable in class edu.nps.moves.dis.ArticulationParameter +
        +
      partAttachedTo - +Variable in class edu.nps.moves.dis.ArticulationParameter +
        +
      partEntityType - +Variable in class edu.nps.moves.dis.IsPartOfPdu +
      entity type +
      partLocation - +Variable in class edu.nps.moves.dis.IsPartOfPdu +
      location of part; centroid of part in host's coordinate system. +
      passiveParameterIndex - +Variable in class edu.nps.moves.dis.UaPdu +
      This field indicates which database record (or file) shall be used in the definition of passive signature (unintentional) emissions of the entity. +
      Pdu - Class in edu.nps.moves.dis
      The superclass for all PDUs.
      Pdu() - +Constructor for class edu.nps.moves.dis.Pdu +
      Constructor +
      PduCollection - Class in edu.nps.moves.dis
       
      PduCollection() - +Constructor for class edu.nps.moves.dis.PduCollection +
        +
      PduContainer - Class in edu.nps.moves.dis
      Used for XML compatability.
      PduContainer() - +Constructor for class edu.nps.moves.dis.PduContainer +
      Constructor +
      PduFactory - Class in edu.nps.moves.disutil
      Simple factory for PDUs.
      PduFactory() - +Constructor for class edu.nps.moves.disutil.PduFactory +
      Creates a new instance of PduFactory +
      PduFactory(boolean) - +Constructor for class edu.nps.moves.disutil.PduFactory +
      Create a new PDU factory; if true is passed in, we use "fast PDUs", + which minimize the memory garbage generated at the cost of being + somewhat less pleasant to work with. +
      PduMulticastReceiver - Class in edu.nps.moves.disutil
      A UDP server that receives DIS PDU packets and fires off events + to interested parties.
      PduMulticastReceiver() - +Constructor for class edu.nps.moves.disutil.PduMulticastReceiver +
      Creates a new instance of PduMulticastReceiver that is + in the UdpServer.State.STOPPED state +
      PduMulticastReceiver.Event - Class in edu.nps.moves.disutil
       
      PduMulticastReceiver.Event(PduMulticastReceiver) - +Constructor for class edu.nps.moves.disutil.PduMulticastReceiver.Event +
      Creates a Event based on the given PduMulticastReceiver. +
      PduMulticastReceiver.Listener - Interface in edu.nps.moves.disutil
       
      PduNioMulticastReceiver - Class in edu.nps.moves.disutil
      A UDP server that receives DIS PDU packets and fires off events + to interested parties.
      PduNioMulticastReceiver() - +Constructor for class edu.nps.moves.disutil.PduNioMulticastReceiver +
      Creates a new instance of PduMulticastReceiver that is + in the UdpServer.State.STOPPED state +
      PduNioMulticastReceiver.Event - Class in edu.nps.moves.disutil
       
      PduNioMulticastReceiver.Event(PduNioMulticastReceiver) - +Constructor for class edu.nps.moves.disutil.PduNioMulticastReceiver.Event +
      Creates a Event based on the given PduMulticastReceiver. +
      PduNioMulticastReceiver.Listener - Interface in edu.nps.moves.disutil
       
      pduNumber - +Variable in class edu.nps.moves.dis.GriddedDataPdu +
      sequence number for the total set of PDUS used to transmit the data +
      pduReceived(PduMulticastReceiver.Event) - +Method in interface edu.nps.moves.disutil.PduMulticastReceiver.Listener +
      Called when a packet is received. +
      pduReceived(PduNioMulticastReceiver.Event) - +Method in interface edu.nps.moves.disutil.PduNioMulticastReceiver.Listener +
      Called when a packet is received. +
      pdus - +Variable in class edu.nps.moves.dis.PduContainer +
      record sets +
      PduSender - Class in edu.nps.moves.examples
      This is an example that sends many/most types of PDUs.
      PduSender(int, String) - +Constructor for class edu.nps.moves.examples.PduSender +
        +
      pduSequenceNumber - +Variable in class edu.nps.moves.dis.MinefieldDataPdu +
      pdu sequence number +
      pduTotal - +Variable in class edu.nps.moves.dis.GriddedDataPdu +
      Total number of PDUS used to transmit the data +
      pduType - +Variable in class edu.nps.moves.dis.Pdu +
      Type of pdu, unique for each PDU class +
      perimeterPoints - +Variable in class edu.nps.moves.dis.MinefieldStatePdu +
      perimeter points for the minefield +
      pgrf - +Variable in class edu.nps.moves.dis.FundamentalParameterDataIff +
      pgrf +
      phase - +Variable in class edu.nps.moves.dis.BeamAntennaPattern +
      THe phase angle between Ez and Ex in radians. +
      phi - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      phi - +Variable in class edu.nps.moves.dis.Orientation +
        +
      Point - Class in edu.nps.moves.dis
      x,y point + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      Point() - +Constructor for class edu.nps.moves.dis.Point +
      Constructor +
      PointObjectStatePdu - Class in edu.nps.moves.dis
      Section 5.3.11.3: Inormation abut the addition or modification of a synthecic enviroment object that is anchored to the terrain with a single point.
      PointObjectStatePdu() - +Constructor for class edu.nps.moves.dis.PointObjectStatePdu +
      Constructor +
      PORT - +Static variable in class edu.nps.moves.examples.EspduSender +
      Port we send on +
      PORT - +Static variable in class edu.nps.moves.examples.EspduSenderNIO +
      Port we send on +
      PORT - +Static variable in class edu.nps.moves.examples.PduSender +
        +
      PORT - +Static variable in class edu.nps.moves.examples.ReceiverPerformance +
        +
      PORT_PROP - +Static variable in class edu.nps.moves.disutil.UdpServer +
      The port property port used with + the property change listeners and the preferences, + if a preferences object is given. +
      position - +Variable in class edu.nps.moves.dis.Relationship +
      position of join +
      postMult(Quaternion) - +Method in class edu.nps.moves.math.Quaternion +
        +
      power - +Variable in class edu.nps.moves.dis.TransmitterPdu +
      transmission power +
      powerSetting - +Variable in class edu.nps.moves.dis.PropulsionSystemData +
      powerSetting +
      preMult(Quaternion) - +Method in class edu.nps.moves.math.Quaternion +
        +
      print() - +Method in class edu.nps.moves.deadreckoning.utils.Matrix +
      Prints the content of a matrix to standard out +
      print() - +Method in class edu.nps.moves.math.Matrix3f +
        +
      print() - +Method in class edu.nps.moves.math.Matrix4f +
        +
      print() - +Method in class edu.nps.moves.math.Quaternion +
        +
      print() - +Method in class edu.nps.moves.math.Vec3f +
        +
      print() - +Method in class edu.nps.moves.math.Vec4f +
        +
      propulsionPlantConfiguration - +Variable in class edu.nps.moves.dis.UaPdu +
      This field shall specify the entity propulsion plant configuration. +
      PropulsionSystemData - Class in edu.nps.moves.dis
      Data about a propulsion system + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      PropulsionSystemData() - +Constructor for class edu.nps.moves.dis.PropulsionSystemData +
      Constructor +
      propulsionSystemData - +Variable in class edu.nps.moves.dis.SeesPdu +
      variable length list of propulsion system data +
      protocolFamily - +Variable in class edu.nps.moves.dis.Pdu +
      value that refers to the protocol family, eg SimulationManagement, et +
      protocolMode - +Variable in class edu.nps.moves.dis.MinefieldStatePdu +
      protocolMode +
      protocolVersion - +Variable in class edu.nps.moves.dis.Pdu +
      The version of the protocol. +
      psi - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      psi - +Variable in class edu.nps.moves.dis.Orientation +
        +
      pulseRepetitionFrequency - +Variable in class edu.nps.moves.dis.FundamentalParameterData +
      Average repetition frequency of the emission in hertz. +
      pulseWidth - +Variable in class edu.nps.moves.dis.FundamentalParameterData +
      Average pulse width of the emission in microseconds. +
      pulseWidth - +Variable in class edu.nps.moves.dis.FundamentalParameterDataIff +
      Pulse width +
      +
      +

      +Q

      +
      +
      quantity - +Variable in class edu.nps.moves.dis.BurstDescriptor +
      how many of the munition were fired +
      quantity - +Variable in class edu.nps.moves.dis.SupplyQuantity +
      quantity to be supplied +
      Quaternion - Class in edu.nps.moves.math
      EXECUTIVE SUMMARY + Module Name: Quaternion.java + Description: Definition of the Quaternion class
      Quaternion() - +Constructor for class edu.nps.moves.math.Quaternion +
        +
      Quaternion(float[], float) - +Constructor for class edu.nps.moves.math.Quaternion +
        +
      Quaternion(Vec3f, float) - +Constructor for class edu.nps.moves.math.Quaternion +
        +
      Quaternion(Matrix3f) - +Constructor for class edu.nps.moves.math.Quaternion +
        +
      Quaternion(Matrix4f) - +Constructor for class edu.nps.moves.math.Quaternion +
        +
      Quaternion(Quaternion) - +Constructor for class edu.nps.moves.math.Quaternion +
        +
      Quaternion(float[], float[]) - +Constructor for class edu.nps.moves.math.Quaternion +
        +
      Quaternion(Vec3f, Vec3f) - +Constructor for class edu.nps.moves.math.Quaternion +
        +
      Quaternion2 - Class in edu.nps.moves.math
      The Quaternion2 class executes quaternion operations.
      Quaternion2(String, double, double, double, double) - +Constructor for class edu.nps.moves.math.Quaternion2 +
      Default constructor +
      Quaternion2(String) - +Constructor for class edu.nps.moves.math.Quaternion2 +
      Default constructor +
      Quaternion2() - +Constructor for class edu.nps.moves.math.Quaternion2 +
      Default constructor +
      +
      +

      +R

      +
      +
      radarCrossSectionSignatureRepresentationIndex - +Variable in class edu.nps.moves.dis.SeesPdu +
      radar cross section representation index +
      RadioCommunicationsFamilyPdu - Class in edu.nps.moves.dis
      Section 5.3.8.
      RadioCommunicationsFamilyPdu() - +Constructor for class edu.nps.moves.dis.RadioCommunicationsFamilyPdu +
      Constructor +
      RadioEntityType - Class in edu.nps.moves.dis
      Section 5.2.25.
      RadioEntityType() - +Constructor for class edu.nps.moves.dis.RadioEntityType +
      Constructor +
      radioEntityType - +Variable in class edu.nps.moves.dis.TransmitterPdu +
      linear accelleration of entity +
      radioId - +Variable in class edu.nps.moves.dis.RadioCommunicationsFamilyPdu +
      particular radio within an entity +
      range - +Variable in class edu.nps.moves.dis.FirePdu +
      range to the target +
      rate - +Variable in class edu.nps.moves.dis.BurstDescriptor +
      rate at which the munition was fired +
      READ_TIMEOUT - +Static variable in class edu.nps.moves.logger.DisLogger +
      How long to wait for a packet to arrive, in ms, before throwing an exception +
      realWorldTime - +Variable in class edu.nps.moves.dis.StartResumePdu +
      UTC time at which the simulation shall start or resume +
      realWorldTime - +Variable in class edu.nps.moves.dis.StartResumeReliablePdu +
      time in real world for this operation to happen +
      realWorldTime - +Variable in class edu.nps.moves.dis.StopFreezePdu +
      UTC time at which the simulation shall stop or freeze +
      realWorldTime - +Variable in class edu.nps.moves.dis.StopFreezeReliablePdu +
      time in real world for this operation to happen +
      reason - +Variable in class edu.nps.moves.dis.StopFreezePdu +
      Reason the simulation was stopped or frozen +
      reason - +Variable in class edu.nps.moves.dis.StopFreezeReliablePdu +
      Reason for stopping/freezing simulation +
      receivedPoser - +Variable in class edu.nps.moves.dis.ReceiverPdu +
      received power +
      receivePdu(Pdu, BehaviorProducerIF) - +Method in interface edu.nps.moves.net.BehaviorConsumerIF +
      Receives a PDU from the BehaviorProducer. +
      receivePdu(Pdu, BehaviorProducerIF, Object) - +Method in interface edu.nps.moves.net.BehaviorConsumerIF +
      Does the same as receivePdu(), but can also pass in an arbitrary + object with the other information. +
      ReceiverPdu - Class in edu.nps.moves.dis
      Section 5.3.8.3.
      ReceiverPdu() - +Constructor for class edu.nps.moves.dis.ReceiverPdu +
      Constructor +
      ReceiverPerformance - Class in edu.nps.moves.examples
       
      ReceiverPerformance() - +Constructor for class edu.nps.moves.examples.ReceiverPerformance +
        +
      receiverState - +Variable in class edu.nps.moves.dis.ReceiverPdu +
      encoding scheme used, and enumeration +
      receivingEntityID - +Variable in class edu.nps.moves.dis.IsPartOfPdu +
      ID of entity receiving PDU +
      receivingEntityID - +Variable in class edu.nps.moves.dis.RepairCompletePdu +
      Entity that is receiving service +
      receivingEntityID - +Variable in class edu.nps.moves.dis.RepairResponsePdu +
      Entity that is receiving service +
      receivingEntityID - +Variable in class edu.nps.moves.dis.ResupplyCancelPdu +
      Entity that is receiving service +
      receivingEntityID - +Variable in class edu.nps.moves.dis.ResupplyOfferPdu +
      Entity that is receiving service +
      receivingEntityID - +Variable in class edu.nps.moves.dis.ResupplyReceivedPdu +
      Entity that is receiving service +
      receivingEntityID - +Variable in class edu.nps.moves.dis.SimulationManagementFamilyPdu +
      Entity that is intended to receive message +
      receivingEntityID - +Variable in class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu +
      Object with which this point object is associated +
      receivingID - +Variable in class edu.nps.moves.dis.ArealObjectStatePdu +
      receiver ID +
      receivingID - +Variable in class edu.nps.moves.dis.LinearObjectStatePdu +
      receiver ID +
      receivingID - +Variable in class edu.nps.moves.dis.PointObjectStatePdu +
      receiver ID +
      recevingEntityID - +Variable in class edu.nps.moves.dis.TransferControlRequestPdu +
      ID of entity receiving request +
      recordCount - +Variable in class edu.nps.moves.dis.RecordSet +
      record count +
      recordID - +Variable in class edu.nps.moves.dis.RecordSet +
      record ID +
      recordIDs - +Variable in class edu.nps.moves.dis.RecordQueryReliablePdu +
      record IDs +
      recordLength - +Variable in class edu.nps.moves.dis.IntercomCommunicationsParameters +
      length of record +
      recordLength - +Variable in class edu.nps.moves.dis.RecordSet +
      record length +
      RecordQueryReliablePdu - Class in edu.nps.moves.dis
      Section 5.3.12.13: A request for one or more records of data from an entity.
      RecordQueryReliablePdu() - +Constructor for class edu.nps.moves.dis.RecordQueryReliablePdu +
      Constructor +
      RecordSet - Class in edu.nps.moves.dis
      Record sets, used in transfer control request PDU + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      RecordSet() - +Constructor for class edu.nps.moves.dis.RecordSet +
      Constructor +
      recordSets - +Variable in class edu.nps.moves.dis.SetRecordReliablePdu +
      record sets +
      recordSets - +Variable in class edu.nps.moves.dis.TransferControlRequestPdu +
        +
      recordSetSerialNumber - +Variable in class edu.nps.moves.dis.RecordSet +
      record set serial number +
      recordSpecificField - +Variable in class edu.nps.moves.dis.IntercomCommunicationsParameters +
      Jerks. +
      recordState(UdpServer.State) - +Method in class edu.nps.moves.disutil.UdpServer +
      Records (sets) the state and fires an event. +
      recordType - +Variable in class edu.nps.moves.dis.IntercomCommunicationsParameters +
      Type of intercom parameters record +
      recordValues - +Variable in class edu.nps.moves.dis.RecordSet +
        +
      referencedObjectID - +Variable in class edu.nps.moves.dis.ArealObjectStatePdu +
      Object with which this point object is associated +
      referencedObjectID - +Variable in class edu.nps.moves.dis.LinearObjectStatePdu +
      Object with which this point object is associated +
      referencedObjectID - +Variable in class edu.nps.moves.dis.PointObjectStatePdu +
      Object with which this point object is associated +
      referenceSystem - +Variable in class edu.nps.moves.dis.BeamAntennaPattern +
        +
      relationship - +Variable in class edu.nps.moves.dis.IsPartOfPdu +
      relationship of joined parts +
      Relationship - Class in edu.nps.moves.dis
      5.2.56.
      Relationship() - +Constructor for class edu.nps.moves.dis.Relationship +
      Constructor +
      RELATIVE_TIMESTAMP_MASK - +Static variable in class edu.nps.moves.dis.Pdu +
      The DIS relative timestamp mask; used to ensure the LSB in timestamps is always set to 0 +
      RELATIVE_TIMESTAMP_MASK - +Static variable in class edu.nps.moves.disutil.DisTime +
        +
      relativeAntennaLocation - +Variable in class edu.nps.moves.dis.AntennaLocation +
      Location of the radiating portion of the antenna in entity coordinates +
      relativeAntennaLocation - +Variable in class edu.nps.moves.dis.TransmitterPdu +
      relative location of antenna +
      RemoveEntityPdu - Class in edu.nps.moves.dis
      Section 5.3.6.2.
      RemoveEntityPdu() - +Constructor for class edu.nps.moves.dis.RemoveEntityPdu +
      Constructor +
      RemoveEntityReliablePdu - Class in edu.nps.moves.dis
      Section 5.3.12.2: Removal of an entity , reliable.
      RemoveEntityReliablePdu() - +Constructor for class edu.nps.moves.dis.RemoveEntityReliablePdu +
      Constructor +
      removeListener(BehaviorConsumerIF) - +Method in interface edu.nps.moves.net.BehaviorProducerIF +
      Remove a listener/consumer of PDUs from the notification list. +
      removeListener(BehaviorConsumerIF) - +Method in class edu.nps.moves.net.BehaviorProducerUDP +
      Remove a listener/consumer of PDUs from the notification list. +
      removeNioServerListener(NioServer.Listener) - +Method in class edu.nps.moves.disutil.NioServer +
      Removes a NioServer.Listener. +
      removeNotify() - +Method in class edu.nps.moves.examples.MemoryView +
      Stops the timer. +
      removePduMulticastReceiverListener(PduMulticastReceiver.Listener) - +Method in class edu.nps.moves.disutil.PduMulticastReceiver +
      Removes a PduMulticastReceiver.Listener. +
      removePduMulticastReceiverListener(PduNioMulticastReceiver.Listener) - +Method in class edu.nps.moves.disutil.PduNioMulticastReceiver +
      Removes a PduNioMulticastReceiver.Listener. +
      removePropertyChangeListener(PropertyChangeListener) - +Method in class edu.nps.moves.disutil.NioServer +
      Remove a property listener. +
      removePropertyChangeListener(String, PropertyChangeListener) - +Method in class edu.nps.moves.disutil.NioServer +
      Remove a property listener for the named property. +
      removePropertyChangeListener(PropertyChangeListener) - +Method in class edu.nps.moves.disutil.UdpServer +
      Remove a property listener. +
      removePropertyChangeListener(String, PropertyChangeListener) - +Method in class edu.nps.moves.disutil.UdpServer +
      Remove a property listener for the named property. +
      removeTcpBinding(SocketAddress) - +Method in class edu.nps.moves.disutil.NioServer +
      Removes a TCP binding. +
      removeUdpBinding(SocketAddress) - +Method in class edu.nps.moves.disutil.NioServer +
      Removes a UDP binding. +
      removeUdpServerListener(UdpServer.Listener) - +Method in class edu.nps.moves.disutil.UdpServer +
      Removes a UdpServer.Listener. +
      repair - +Variable in class edu.nps.moves.dis.RepairCompletePdu +
      Enumeration for type of repair +
      RepairCompletePdu - Class in edu.nps.moves.dis
      Section 5.2.5.5.
      RepairCompletePdu() - +Constructor for class edu.nps.moves.dis.RepairCompletePdu +
      Constructor +
      repairingEntityID - +Variable in class edu.nps.moves.dis.RepairCompletePdu +
      Entity that is supplying +
      repairingEntityID - +Variable in class edu.nps.moves.dis.RepairResponsePdu +
      Entity that is supplying +
      RepairResponsePdu - Class in edu.nps.moves.dis
      Section 5.2.5.6.
      RepairResponsePdu() - +Constructor for class edu.nps.moves.dis.RepairResponsePdu +
      Constructor +
      repairResult - +Variable in class edu.nps.moves.dis.RepairResponsePdu +
      Result of repair operation +
      replace(Matrix) - +Method in class edu.nps.moves.deadreckoning.utils.Matrix +
      copy each cell from M to this.data +
      replayExercise() - +Method in class edu.nps.moves.logger.LogReplay +
      Replay the PDUs that have been logged +
      requestedMineType - +Variable in class edu.nps.moves.dis.MinefieldQueryPdu +
      Entity type of mine being requested +
      requestedPerimeterPoints - +Variable in class edu.nps.moves.dis.MinefieldQueryPdu +
      perimeter points of request +
      requesterID - +Variable in class edu.nps.moves.dis.ArealObjectStatePdu +
      requesterID +
      requesterID - +Variable in class edu.nps.moves.dis.LinearObjectStatePdu +
      requesterID +
      requesterID - +Variable in class edu.nps.moves.dis.PointObjectStatePdu +
      requesterID +
      requestID - +Variable in class edu.nps.moves.dis.AcknowledgePdu +
      Request ID that is unique +
      requestID - +Variable in class edu.nps.moves.dis.AcknowledgeReliablePdu +
      Request ID +
      requestID - +Variable in class edu.nps.moves.dis.ActionRequestPdu +
      Request ID that is unique +
      requestID - +Variable in class edu.nps.moves.dis.ActionRequestReliablePdu +
      request ID +
      requestID - +Variable in class edu.nps.moves.dis.ActionResponsePdu +
      Request ID that is unique +
      requestID - +Variable in class edu.nps.moves.dis.ActionResponseReliablePdu +
      request ID +
      requestID - +Variable in class edu.nps.moves.dis.CreateEntityPdu +
      Identifier for the request +
      requestID - +Variable in class edu.nps.moves.dis.CreateEntityReliablePdu +
      Request ID +
      requestID - +Variable in class edu.nps.moves.dis.DataPdu +
      ID of request +
      requestID - +Variable in class edu.nps.moves.dis.DataQueryPdu +
      ID of request +
      requestID - +Variable in class edu.nps.moves.dis.DataQueryReliablePdu +
      request ID +
      requestID - +Variable in class edu.nps.moves.dis.DataReliablePdu +
      Request ID +
      requestID - +Variable in class edu.nps.moves.dis.MinefieldDataPdu +
      request ID +
      requestID - +Variable in class edu.nps.moves.dis.MinefieldQueryPdu +
      request ID +
      requestID - +Variable in class edu.nps.moves.dis.MinefieldResponseNackPdu +
      request ID +
      requestID - +Variable in class edu.nps.moves.dis.RecordQueryReliablePdu +
      request ID +
      requestID - +Variable in class edu.nps.moves.dis.RemoveEntityPdu +
      Identifier for the request +
      requestID - +Variable in class edu.nps.moves.dis.RemoveEntityReliablePdu +
      Request ID +
      requestID - +Variable in class edu.nps.moves.dis.SetDataPdu +
      ID of request +
      requestID - +Variable in class edu.nps.moves.dis.SetDataReliablePdu +
      Request ID +
      requestID - +Variable in class edu.nps.moves.dis.SetRecordReliablePdu +
      request ID +
      requestID - +Variable in class edu.nps.moves.dis.StartResumePdu +
      Identifier for the request +
      requestID - +Variable in class edu.nps.moves.dis.StartResumeReliablePdu +
      Request ID +
      requestID - +Variable in class edu.nps.moves.dis.StopFreezePdu +
      Request ID that is unique +
      requestID - +Variable in class edu.nps.moves.dis.StopFreezeReliablePdu +
      Request ID +
      requestID - +Variable in class edu.nps.moves.dis.TransferControlRequestPdu +
      ID ofrequest +
      requestingEntityID - +Variable in class edu.nps.moves.dis.MinefieldDataPdu +
      ID of entity making request +
      requestingEntityID - +Variable in class edu.nps.moves.dis.MinefieldQueryPdu +
      EID of entity making the request +
      requestingEntityID - +Variable in class edu.nps.moves.dis.MinefieldResponseNackPdu +
      entity ID making the request +
      requestingEntityID - +Variable in class edu.nps.moves.dis.ServiceRequestPdu +
      Entity that is requesting service +
      requestStatus - +Variable in class edu.nps.moves.dis.ActionResponsePdu +
      Status of response +
      requiredReliabilityService - +Variable in class edu.nps.moves.dis.ActionRequestReliablePdu +
      level of reliability service used for this transaction +
      requiredReliabilityService - +Variable in class edu.nps.moves.dis.CreateEntityReliablePdu +
      level of reliability service used for this transaction +
      requiredReliabilityService - +Variable in class edu.nps.moves.dis.DataQueryReliablePdu +
      level of reliability service used for this transaction +
      requiredReliabilityService - +Variable in class edu.nps.moves.dis.DataReliablePdu +
      level of reliability service used for this transaction +
      requiredReliabilityService - +Variable in class edu.nps.moves.dis.RecordQueryReliablePdu +
      level of reliability service used for this transaction +
      requiredReliabilityService - +Variable in class edu.nps.moves.dis.RemoveEntityReliablePdu +
      level of reliability service used for this transaction +
      requiredReliabilityService - +Variable in class edu.nps.moves.dis.SetDataReliablePdu +
      level of reliability service used for this transaction +
      requiredReliabilityService - +Variable in class edu.nps.moves.dis.SetRecordReliablePdu +
      level of reliability service used for this transaction +
      requiredReliabilityService - +Variable in class edu.nps.moves.dis.StartResumeReliablePdu +
      level of reliability service used for this transaction +
      requiredReliabilityService - +Variable in class edu.nps.moves.dis.TransferControlRequestPdu +
      required level of reliabliity service. +
      requiredReliablityService - +Variable in class edu.nps.moves.dis.StopFreezeReliablePdu +
      reliablity level +
      reset(SelectionKey, ByteBuffer, SocketAddress) - +Method in class edu.nps.moves.disutil.NioServer.Event +
      Resets an event between firings by updating the parameters + that change. +
      reset() - +Method in class edu.nps.moves.disutil.NioServer +
      Resets the server, if it is running, otherwise does nothing. +
      reset() - +Method in class edu.nps.moves.disutil.UdpServer +
      Resets the server, if it is running, otherwise does nothing. +
      responseFlag - +Variable in class edu.nps.moves.dis.AcknowledgePdu +
      Whether or not the receiving entity was able to comply with the request +
      responseFlag - +Variable in class edu.nps.moves.dis.AcknowledgeReliablePdu +
      response flags +
      responseStatus - +Variable in class edu.nps.moves.dis.ActionResponseReliablePdu +
      status of response +
      ResupplyCancelPdu - Class in edu.nps.moves.dis
      Section 5.2.5.4.
      ResupplyCancelPdu() - +Constructor for class edu.nps.moves.dis.ResupplyCancelPdu +
      Constructor +
      ResupplyOfferPdu - Class in edu.nps.moves.dis
      Section 5.3.5.2.
      ResupplyOfferPdu() - +Constructor for class edu.nps.moves.dis.ResupplyOfferPdu +
      Constructor +
      ResupplyReceivedPdu - Class in edu.nps.moves.dis
      Section 5.3.5.3.
      ResupplyReceivedPdu() - +Constructor for class edu.nps.moves.dis.ResupplyReceivedPdu +
      Constructor +
      rotate(Quaternion2) - +Method in class edu.nps.moves.math.Quaternion2 +
      Rotates a vector by quaternions +
      rows() - +Method in class edu.nps.moves.deadreckoning.utils.Matrix +
      Gets the number of rows in this matrix +
      run() - +Method in class edu.nps.moves.deadreckoning.DIS_DR_FPB_06 +
      The driver for a DIS_DR_FPB_06 DR algorithm from the Runnable interface +
      run() - +Method in class edu.nps.moves.deadreckoning.DIS_DR_FPW_02 +
      The driver for a DIS_DR_FPW_02 DR algorithm from the Runnable interface +
      run() - +Method in class edu.nps.moves.deadreckoning.DIS_DR_FVB_09 +
      The driver for a DIS_DR_FVB_09 DR algorithm from the Runnable interface +
      run() - +Method in class edu.nps.moves.deadreckoning.DIS_DR_FVW_05 +
      The driver for a DIS_DR_FVW_05 DR algorithm from the Runnable interface +
      run() - +Method in class edu.nps.moves.deadreckoning.DIS_DR_RPB_07 +
      The driver for a DIS_DR_RPB_07 DR algorithm from the Runnable interface +
      run() - +Method in class edu.nps.moves.deadreckoning.DIS_DR_RPW_03 +
      The driver for a DIS_DR_RPW_03 DR algorithm from the Runnable interface +
      run() - +Method in class edu.nps.moves.deadreckoning.DIS_DR_RPW_03b +
      The driver for a DIS_DR_RPW_03b DR algorithm from the Runnable interface +
      run() - +Method in class edu.nps.moves.deadreckoning.DIS_DR_RVB_08 +
      The driver for a DIS_DR_RVB_08 DR algorithm from the Runnable interface +
      run() - +Method in class edu.nps.moves.deadreckoning.DIS_DR_RVW_04 +
      The driver for a DIS_DR_RVW_04 DR algorithm from the Runnable interface +
      run() - +Method in class edu.nps.moves.deadreckoning.DIS_DR_RVW_04b +
      The driver for a DIS_DR_RVW_04 DR algorithm from the Runnable interface +
      run() - +Method in class edu.nps.moves.deadreckoning.DIS_DR_Static_01 +
      The driver for a DIS_DR_Static_01 DR algorithm from the Runnable interface +
      run() - +Method in class edu.nps.moves.examples.PduSender +
        +
      run() - +Method in class edu.nps.moves.logger.DisLogger +
      Run the logger. +
      run() - +Method in class edu.nps.moves.logger.LogWriter +
      Start writing PDUs. +
      run() - +Method in class edu.nps.moves.net.BehaviorProducerUDP +
      Entry point for thread. +
      runServer() - +Method in class edu.nps.moves.disutil.NioServer +
      This method starts up and listens indefinitely + for TCP packets. +
      runServer() - +Method in class edu.nps.moves.disutil.UdpServer +
      This method starts up and listens indefinitely + for UDP packets. +
      +
      +

      +S

      +
      +
      sampleRate - +Variable in class edu.nps.moves.dis.IntercomSignalPdu +
      sample rate +
      sampleRate - +Variable in class edu.nps.moves.dis.SignalPdu +
      sample rate +
      samples - +Variable in class edu.nps.moves.dis.IntercomSignalPdu +
      samples +
      samples - +Variable in class edu.nps.moves.dis.SignalPdu +
      number of samples +
      sampleTime - +Variable in class edu.nps.moves.dis.GriddedDataPdu +
      valid time of the enviormental data sample, 64 bit unsigned int +
      sampleType - +Variable in class edu.nps.moves.dis.GridAxisRecord +
      type of environmental sample +
      scale(float) - +Method in class edu.nps.moves.math.Vec3f +
        +
      scale(float, Vec3f) - +Method in class edu.nps.moves.math.Vec3f +
        +
      scale(float) - +Method in class edu.nps.moves.math.Vec4f +
        +
      scale(float, Vec4f) - +Method in class edu.nps.moves.math.Vec4f +
        +
      scanPattern - +Variable in class edu.nps.moves.dis.AcousticBeamFundamentalParameter +
      scan pattern +
      secondaryOperationalData - +Variable in class edu.nps.moves.dis.IffAtcNavAidsLayer2Pdu +
      Secondary operational data, 5.2.57 +
      SeesPdu - Class in edu.nps.moves.dis
      Section 5.3.7.5.
      SeesPdu() - +Constructor for class edu.nps.moves.dis.SeesPdu +
      Constructor +
      segmentAppearance - +Variable in class edu.nps.moves.dis.LinearSegmentParameter +
      segment appearance +
      segmentDepth - +Variable in class edu.nps.moves.dis.LinearSegmentParameter +
      segment Depth +
      segmentHeight - +Variable in class edu.nps.moves.dis.LinearSegmentParameter +
      segmentHeight +
      segmentLength - +Variable in class edu.nps.moves.dis.LinearSegmentParameter +
      segmentLength +
      segmentNumber - +Variable in class edu.nps.moves.dis.LinearSegmentParameter +
      number of segments +
      segmentWidth - +Variable in class edu.nps.moves.dis.LinearSegmentParameter +
      segmentWidth +
      sensorTypes - +Variable in class edu.nps.moves.dis.MinefieldDataPdu +
      Sensor types, each 16 bits long +
      sensorTypes - +Variable in class edu.nps.moves.dis.MinefieldQueryPdu +
      Sensor types, each 16 bits long +
      sequenceNumber - +Variable in class edu.nps.moves.dis.EnvironmentalProcessPdu +
      PDU sequence number for the environmentla process if pdu sequencing required +
      serviceRequestPadding - +Variable in class edu.nps.moves.dis.ServiceRequestPdu +
      padding +
      ServiceRequestPdu - Class in edu.nps.moves.dis
      Section 5.3.5.1.
      ServiceRequestPdu() - +Constructor for class edu.nps.moves.dis.ServiceRequestPdu +
      Constructor +
      serviceTypeRequested - +Variable in class edu.nps.moves.dis.ServiceRequestPdu +
      type of service requested +
      servicingEntityID - +Variable in class edu.nps.moves.dis.ServiceRequestPdu +
      Entity that is providing the service +
      set(float, float, float) - +Method in class edu.nps.moves.math.Vec3f +
        +
      set(int, float) - +Method in class edu.nps.moves.math.Vec3f +
        +
      set(float[]) - +Method in class edu.nps.moves.math.Vec3f +
        +
      set(Vec3f) - +Method in class edu.nps.moves.math.Vec3f +
        +
      set(float, float, float, float) - +Method in class edu.nps.moves.math.Vec4f +
        +
      set(int, float) - +Method in class edu.nps.moves.math.Vec4f +
        +
      set(float[]) - +Method in class edu.nps.moves.math.Vec4f +
        +
      set(Vec4f) - +Method in class edu.nps.moves.math.Vec4f +
        +
      setAcknowledgeFlag(int) - +Method in class edu.nps.moves.dis.AcknowledgePdu +
        +
      setAcknowledgeFlag(int) - +Method in class edu.nps.moves.dis.AcknowledgeReliablePdu +
        +
      setAcousticEmitterSystem(AcousticEmitterSystem) - +Method in class edu.nps.moves.dis.AcousticEmitterSystemData +
        +
      setAcousticFunction(short) - +Method in class edu.nps.moves.dis.AcousticEmitterSystem +
        +
      setAcousticID(short) - +Method in class edu.nps.moves.dis.AcousticEmitterSystem +
        +
      setAcousticIdNumber(short) - +Method in class edu.nps.moves.dis.AcousticEmitter +
        +
      setAcousticName(int) - +Method in class edu.nps.moves.dis.AcousticEmitter +
        +
      setAcousticName(int) - +Method in class edu.nps.moves.dis.AcousticEmitterSystem +
        +
      setAcousticSignatureRepresentationIndex(int) - +Method in class edu.nps.moves.dis.SeesPdu +
        +
      setActionID(long) - +Method in class edu.nps.moves.dis.ActionRequestPdu +
        +
      setActionID(long) - +Method in class edu.nps.moves.dis.ActionRequestReliablePdu +
        +
      setActiveEmissionParameterIndex(int) - +Method in class edu.nps.moves.dis.AcousticBeamFundamentalParameter +
        +
      setAggregateID(int) - +Method in class edu.nps.moves.dis.AggregateID +
        +
      setAggregateID(EntityID) - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      setAggregateIDList(List<AggregateID>) - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      setAggregateKind(short) - +Method in class edu.nps.moves.dis.AggregateType +
        +
      setAggregateMarking(AggregateMarking) - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      setAggregateState(short) - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      setAggregateType(EntityType) - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      setAltCategory(short) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setAltCountry(int) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setAltDomain(short) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setAltEntityKind(short) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setAlternateParameter4(short) - +Method in class edu.nps.moves.dis.IffFundamentalData +
        +
      setAlternativeEntityType(EntityType) - +Method in class edu.nps.moves.dis.EntityStatePdu +
        +
      setAltExtra(short) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setAltSpecific(short) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setAltSubcategory(short) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setAntennaLocation(Vector3Double) - +Method in class edu.nps.moves.dis.AntennaLocation +
        +
      setAntennaLocation(Vector3Double) - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      setAntennaPatternCount(int) - +Method in class edu.nps.moves.dis.TransmitterPdu +
      Note that setting this value will not change the marshalled value. +
      setAntennaPatternList(List<Vector3Float>) - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      setAntennaPatternType(int) - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      setApaData(List<ApaData>) - +Method in class edu.nps.moves.dis.UaPdu +
        +
      setAppearance(int) - +Method in class edu.nps.moves.dis.MinefieldStatePdu +
        +
      setApplicableModes(short) - +Method in class edu.nps.moves.dis.FundamentalParameterDataIff +
        +
      setApplication(int) - +Method in class edu.nps.moves.dis.AggregateID +
        +
      setApplication(int) - +Method in class edu.nps.moves.dis.EntityID +
        +
      setApplication(int) - +Method in class edu.nps.moves.dis.EventID +
        +
      setApplication(int) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setApplication(int) - +Method in class edu.nps.moves.dis.SimulationAddress +
        +
      setArticulationParameters(List<ArticulationParameter>) - +Method in class edu.nps.moves.dis.DetonationPdu +
        +
      setArticulationParameters(List<ArticulationParameter>) - +Method in class edu.nps.moves.dis.EntityStatePdu +
        +
      setArticulationParameters(List<ArticulationParameter>) - +Method in class edu.nps.moves.dis.EntityStateUpdatePdu +
        +
      setArticulationParameters(List<ArticulationParameter>) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setAxisAngle(float[]) - +Method in class edu.nps.moves.math.Quaternion +
        +
      setAxisAngle(Vec4f) - +Method in class edu.nps.moves.math.Quaternion +
        +
      setAxisAngle(float[], float) - +Method in class edu.nps.moves.math.Quaternion +
        +
      setAxisAngle(Vec3f, float) - +Method in class edu.nps.moves.math.Quaternion +
        +
      setAxisAngle(float, float, float, float) - +Method in class edu.nps.moves.math.Quaternion +
        +
      setAzimuthalBeamwidth(float) - +Method in class edu.nps.moves.dis.AcousticBeamFundamentalParameter +
        +
      setAzimuthBeamwidth(float) - +Method in class edu.nps.moves.dis.BeamAntennaPattern +
        +
      setBeamAzimuthCenter(float) - +Method in class edu.nps.moves.dis.BeamData +
        +
      setBeamAzimuthCenter(float) - +Method in class edu.nps.moves.dis.FundamentalParameterData +
        +
      setBeamAzimuthSweep(float) - +Method in class edu.nps.moves.dis.BeamData +
        +
      setBeamAzimuthSweep(float) - +Method in class edu.nps.moves.dis.FundamentalParameterData +
        +
      setBeamCenterAzimuth(float) - +Method in class edu.nps.moves.dis.AcousticBeamFundamentalParameter +
        +
      setBeamCenterDE(float) - +Method in class edu.nps.moves.dis.AcousticBeamFundamentalParameter +
        +
      setBeamData(BeamData) - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer2Pdu +
        +
      setBeamDataLength(int) - +Method in class edu.nps.moves.dis.AcousticBeamData +
        +
      setBeamDataLength(short) - +Method in class edu.nps.moves.dis.ElectronicEmissionBeamData +
        +
      setBeamDataRecords(List<ElectronicEmissionBeamData>) - +Method in class edu.nps.moves.dis.ElectronicEmissionSystemData +
        +
      setBeamDirection(Orientation) - +Method in class edu.nps.moves.dis.BeamAntennaPattern +
        +
      setBeamElevationCenter(float) - +Method in class edu.nps.moves.dis.BeamData +
        +
      setBeamElevationCenter(float) - +Method in class edu.nps.moves.dis.FundamentalParameterData +
        +
      setBeamElevationSweep(float) - +Method in class edu.nps.moves.dis.BeamData +
        +
      setBeamElevationSweep(float) - +Method in class edu.nps.moves.dis.FundamentalParameterData +
        +
      setBeamFunction(short) - +Method in class edu.nps.moves.dis.ElectronicEmissionBeamData +
        +
      setBeamID(short) - +Method in class edu.nps.moves.dis.TrackJamTarget +
        +
      setBeamIDNumber(short) - +Method in class edu.nps.moves.dis.AcousticBeamData +
        +
      setBeamIDNumber(short) - +Method in class edu.nps.moves.dis.ElectronicEmissionBeamData +
        +
      setBeamParameterIndex(int) - +Method in class edu.nps.moves.dis.ElectronicEmissionBeamData +
        +
      setBeamRecords(List<AcousticBeamData>) - +Method in class edu.nps.moves.dis.AcousticEmitterSystemData +
        +
      setBeamSweepSync(float) - +Method in class edu.nps.moves.dis.BeamData +
        +
      setBeamSweepSync(float) - +Method in class edu.nps.moves.dis.FundamentalParameterData +
        +
      setBufferSize(int) - +Method in class edu.nps.moves.disutil.NioServer +
      Sets the size of the ByteBuffer used to read + from the connections. +
      setBurstDescriptor(BurstDescriptor) - +Method in class edu.nps.moves.dis.DetonationPdu +
        +
      setBurstDescriptor(BurstDescriptor) - +Method in class edu.nps.moves.dis.FirePdu +
        +
      setBurstLength(long) - +Method in class edu.nps.moves.dis.FundamentalParameterDataIff +
        +
      setCapabilities(int) - +Method in class edu.nps.moves.dis.EntityStatePdu +
        +
      setCapabilities(int) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setCategory(short) - +Method in class edu.nps.moves.dis.AggregateType +
        +
      setCategory(short) - +Method in class edu.nps.moves.dis.EntityType +
        +
      setCategory(short) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setCategory(short) - +Method in class edu.nps.moves.dis.ObjectType +
        +
      setCategory(short) - +Method in class edu.nps.moves.dis.RadioEntityType +
        +
      setCell(int, int, double) - +Method in class edu.nps.moves.deadreckoning.utils.Matrix +
      set the value of the cell at the ith row and jth column to value +
      setCenterOfMass(Vector3Double) - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      setChangeIndicator(short) - +Method in class edu.nps.moves.dis.ArticulationParameter +
        +
      setChangeOptions(short) - +Method in class edu.nps.moves.dis.SystemID +
        +
      setCharacters(byte[]) - +Method in class edu.nps.moves.dis.AggregateMarking +
        +
      setCharacters(byte[]) - +Method in class edu.nps.moves.dis.Marking +
        +
      setCharacterSet(short) - +Method in class edu.nps.moves.dis.AggregateMarking +
        +
      setCharacterSet(short) - +Method in class edu.nps.moves.dis.Marking +
        +
      setCodeName(int) - +Method in class edu.nps.moves.dis.DesignatorPdu +
        +
      setCoefficientOfRestitution(float) - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      setCollidingEntityID(EntityID) - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      setCollidingEntityID(EntityID) - +Method in class edu.nps.moves.dis.CollisionPdu +
        +
      setCollisionEventID(EventID) - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      setCollisionResultXX(float) - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      setCollisionResultXY(float) - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      setCollisionResultXZ(float) - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      setCollisionResultYY(float) - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      setCollisionResultYZ(float) - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      setCollisionResultZZ(float) - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      setCollisionType(short) - +Method in class edu.nps.moves.dis.CollisionPdu +
        +
      setCommand(short) - +Method in class edu.nps.moves.dis.IntercomControlPdu +
        +
      setCommunicationsChannelType(short) - +Method in class edu.nps.moves.dis.IntercomControlPdu +
        +
      setCommunicationsDeviceID(int) - +Method in class edu.nps.moves.dis.IntercomSignalPdu +
        +
      setConstantGrid(short) - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      setContactVelocity(Vector3Float) - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      setControlType(short) - +Method in class edu.nps.moves.dis.IntercomControlPdu +
        +
      setCoordinateSystem(int) - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      setCountry(int) - +Method in class edu.nps.moves.dis.AggregateType +
        +
      setCountry(int) - +Method in class edu.nps.moves.dis.EntityType +
        +
      setCountry(int) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setCountry(int) - +Method in class edu.nps.moves.dis.ObjectType +
        +
      setCountry(int) - +Method in class edu.nps.moves.dis.RadioEntityType +
        +
      setCryptoKeyId(int) - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      setCryptoSystem(int) - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      setCurrentShaftRPMs(short) - +Method in class edu.nps.moves.dis.ShaftRPMs +
        +
      setData(List<OneByteChunk>) - +Method in class edu.nps.moves.dis.IntercomSignalPdu +
        +
      setData(List<OneByteChunk>) - +Method in class edu.nps.moves.dis.SignalPdu +
        +
      setDataFilter(long) - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
        +
      setDataFilter(long) - +Method in class edu.nps.moves.dis.MinefieldQueryPdu +
        +
      setDataLength(int) - +Method in class edu.nps.moves.dis.IntercomSignalPdu +
      Note that setting this value will not change the marshalled value. +
      setDataLength(short) - +Method in class edu.nps.moves.dis.SignalPdu +
      Note that setting this value will not change the marshalled value. +
      SetDataPdu - Class in edu.nps.moves.dis
      Section 5.3.6.9.
      SetDataPdu() - +Constructor for class edu.nps.moves.dis.SetDataPdu +
      Constructor +
      SetDataReliablePdu - Class in edu.nps.moves.dis
      Section 5.3.12.9: initializing or chaning internal state information, reliable.
      SetDataReliablePdu() - +Constructor for class edu.nps.moves.dis.SetDataReliablePdu +
      Constructor +
      setDataRepresentation(int) - +Method in class edu.nps.moves.dis.GridAxisRecord +
        +
      setDataValues(List<OneByteChunk>) - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation0 +
        +
      setDataValues(List<TwoByteChunk>) - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation1 +
        +
      setDataValues(List<FourByteChunk>) - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation2 +
        +
      setDeadReckoningAlgorithm(short) - +Method in class edu.nps.moves.dis.DeadReckoningParameter +
        +
      setDeadReckoningAlgorithm(byte) - +Method in class edu.nps.moves.dis.DesignatorPdu +
        +
      setDeadReckoningAlgorithm(short) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setDeadReckoningParameters(DeadReckoningParameter) - +Method in class edu.nps.moves.dis.EntityStatePdu +
        +
      setDeBeamwidth(float) - +Method in class edu.nps.moves.dis.AcousticBeamFundamentalParameter +
        +
      setDefaultDestination(Object) - +Method in class edu.nps.moves.net.BehaviorProducerUDP +
      Set a default destination, the destination that the plain + write(Pdu pdu) method will send to. +
      setDefaultDestination(Object, Object) - +Method in class edu.nps.moves.net.BehaviorProducerUDP +
      Set the default destination that the plain write(pdu) method + will send data to. +
      setDefaultDestination(Object[]) - +Method in class edu.nps.moves.net.BehaviorProducerUDP +
      Set the default destination that the plain write(pdu) method + will send data to. +
      setDefaultDestination(Object) - +Method in interface edu.nps.moves.net.BehaviorWriterIF +
      Set a default destination, the destination that the plain + write(Pdu pdu) method will send to. +
      setDefaultDestination(Object, Object) - +Method in interface edu.nps.moves.net.BehaviorWriterIF +
      Set the default destination that the plain write(pdu) method + will send data to. +
      setDefaultDestination(Object[]) - +Method in interface edu.nps.moves.net.BehaviorWriterIF +
      Set the default destination that the plain write(pdu) method + will send data to. +
      setDesignatedEntityID(EntityID) - +Method in class edu.nps.moves.dis.DesignatorPdu +
        +
      setDesignatingEntityID(EntityID) - +Method in class edu.nps.moves.dis.DesignatorPdu +
        +
      setDesignatorCode(int) - +Method in class edu.nps.moves.dis.DesignatorPdu +
        +
      setDesignatorPower(float) - +Method in class edu.nps.moves.dis.DesignatorPdu +
        +
      setDesignatorSpotLocation(Vector3Double) - +Method in class edu.nps.moves.dis.DesignatorPdu +
        +
      setDesignatorSpotWrtDesignated(Vector3Float) - +Method in class edu.nps.moves.dis.DesignatorPdu +
        +
      setDesignatorWavelength(float) - +Method in class edu.nps.moves.dis.DesignatorPdu +
        +
      setDetail(int) - +Method in class edu.nps.moves.dis.ModulationType +
        +
      setDetonationResult(short) - +Method in class edu.nps.moves.dis.DetonationPdu +
        +
      setDimensions(Vector3Float) - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      setDomain(short) - +Method in class edu.nps.moves.dis.AggregateType +
        +
      setDomain(short) - +Method in class edu.nps.moves.dis.EntityType +
        +
      setDomain(short) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setDomain(short) - +Method in class edu.nps.moves.dis.ObjectType +
        +
      setDomain(short) - +Method in class edu.nps.moves.dis.RadioEntityType +
        +
      setDone() - +Method in class edu.nps.moves.logger.DisLogger +
      Breaks us out of network read log loop (perhaps after READ_TIMEOUT has passed +
      setEffectiveRadiatedPower(float) - +Method in class edu.nps.moves.dis.FundamentalParameterData +
        +
      setEmissionsPadding2(int) - +Method in class edu.nps.moves.dis.ElectronicEmissionSystemData +
        +
      setEmitterID(short) - +Method in class edu.nps.moves.dis.TrackJamTarget +
        +
      setEmitterIdNumber(short) - +Method in class edu.nps.moves.dis.EmitterSystem +
        +
      setEmitterLocation(Vector3Float) - +Method in class edu.nps.moves.dis.AcousticEmitterSystemData +
        +
      setEmitterName(int) - +Method in class edu.nps.moves.dis.EmitterSystem +
        +
      setEmitterSystem(EmitterSystem) - +Method in class edu.nps.moves.dis.ElectronicEmissionSystemData +
        +
      setEmitterSystemDataLength(short) - +Method in class edu.nps.moves.dis.AcousticEmitterSystemData +
        +
      setEmitterSystems(List<AcousticEmitterSystemData>) - +Method in class edu.nps.moves.dis.UaPdu +
        +
      setEmittingEntityID(EntityID) - +Method in class edu.nps.moves.dis.ElectronicEmissionsPdu +
        +
      setEmittingEntityId(EntityID) - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer1Pdu +
        +
      setEmittingEntityID(EntityID) - +Method in class edu.nps.moves.dis.UaPdu +
        +
      setEncodingScheme(int) - +Method in class edu.nps.moves.dis.IntercomSignalPdu +
        +
      setEncodingScheme(int) - +Method in class edu.nps.moves.dis.SignalPdu +
        +
      setEngineRpm(float) - +Method in class edu.nps.moves.dis.PropulsionSystemData +
        +
      setEntity(int) - +Method in class edu.nps.moves.dis.EntityID +
        +
      setEntity(int) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setEntityAngularVelocity(Vector3Float) - +Method in class edu.nps.moves.dis.DeadReckoningParameter +
        +
      setEntityAppearance(int) - +Method in class edu.nps.moves.dis.EntityStatePdu +
        +
      setEntityAppearance(int) - +Method in class edu.nps.moves.dis.EntityStateUpdatePdu +
        +
      setEntityAppearance(int) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setEntityID(EntityID) - +Method in class edu.nps.moves.dis.EntityStatePdu +
        +
      setEntityID(EntityID) - +Method in class edu.nps.moves.dis.EntityStateUpdatePdu +
        +
      setEntityID(EntityID) - +Method in class edu.nps.moves.dis.IntercomSignalPdu +
        +
      setEntityId(EntityID) - +Method in class edu.nps.moves.dis.RadioCommunicationsFamilyPdu +
        +
      setEntityIDList(List<EntityID>) - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      setEntityKind(short) - +Method in class edu.nps.moves.dis.EntityType +
        +
      setEntityKind(short) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setEntityKind(short) - +Method in class edu.nps.moves.dis.ObjectType +
        +
      setEntityKind(short) - +Method in class edu.nps.moves.dis.RadioEntityType +
        +
      setEntityLinearAcceleration(Vector3Float) - +Method in class edu.nps.moves.dis.DeadReckoningParameter +
        +
      setEntityLinearAcceleration(Vector3Float) - +Method in class edu.nps.moves.dis.DesignatorPdu +
        +
      setEntityLinearVelocity(Vector3Float) - +Method in class edu.nps.moves.dis.EntityStatePdu +
        +
      setEntityLinearVelocity(Vector3Float) - +Method in class edu.nps.moves.dis.EntityStateUpdatePdu +
        +
      setEntityLocation(Vector3Double) - +Method in class edu.nps.moves.dis.EntityStatePdu +
        +
      setEntityLocation(Vector3Double) - +Method in class edu.nps.moves.dis.EntityStateUpdatePdu +
        +
      setEntityOrientation(Orientation) - +Method in class edu.nps.moves.dis.EntityStatePdu +
        +
      setEntityOrientation(Orientation) - +Method in class edu.nps.moves.dis.EntityStateUpdatePdu +
        +
      setEntityType(EntityType) - +Method in class edu.nps.moves.dis.EntityStatePdu +
        +
      setEnvironementalProcessID(EntityID) - +Method in class edu.nps.moves.dis.EnvironmentalProcessPdu +
        +
      setEnvironmentalSimulationApplicationID(EntityID) - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      setEnvironmentRecords(List<Environment>) - +Method in class edu.nps.moves.dis.EnvironmentalProcessPdu +
        +
      setEnvironmentStatus(short) - +Method in class edu.nps.moves.dis.EnvironmentalProcessPdu +
        +
      setEnvironmentType(long) - +Method in class edu.nps.moves.dis.Environment +
        +
      setEnvironmentType(EntityType) - +Method in class edu.nps.moves.dis.EnvironmentalProcessPdu +
        +
      setEnvironmentType(EntityType) - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      setErp(float) - +Method in class edu.nps.moves.dis.FundamentalParameterDataIff +
        +
      setEulers(float[]) - +Method in class edu.nps.moves.math.Matrix3f +
        +
      setEulers(float, float, float) - +Method in class edu.nps.moves.math.Matrix3f +
        +
      setEulers(float[]) - +Method in class edu.nps.moves.math.Matrix4f +
        +
      setEulers(float, float, float) - +Method in class edu.nps.moves.math.Matrix4f +
        +
      setEulers(float[]) - +Method in class edu.nps.moves.math.Quaternion +
        +
      setEulers(float, float, float) - +Method in class edu.nps.moves.math.Quaternion +
        +
      setEventID(EventID) - +Method in class edu.nps.moves.dis.CollisionPdu +
        +
      setEventID(EventID) - +Method in class edu.nps.moves.dis.DetonationPdu +
        +
      setEventID(EventID) - +Method in class edu.nps.moves.dis.ElectronicEmissionsPdu +
        +
      setEventID(EventID) - +Method in class edu.nps.moves.dis.FirePdu +
        +
      setEventID(EventID) - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer1Pdu +
        +
      setEventID(EventID) - +Method in class edu.nps.moves.dis.UaPdu +
        +
      setEventNumber(int) - +Method in class edu.nps.moves.dis.EventID +
        +
      setEventType(long) - +Method in class edu.nps.moves.dis.EventReportPdu +
        +
      setEventType(int) - +Method in class edu.nps.moves.dis.EventReportReliablePdu +
        +
      setEventType(int) - +Method in class edu.nps.moves.dis.RecordQueryReliablePdu +
        +
      setEx(float) - +Method in class edu.nps.moves.dis.BeamAntennaPattern +
        +
      setExerciseID(short) - +Method in class edu.nps.moves.dis.Pdu +
        +
      setExtra(short) - +Method in class edu.nps.moves.dis.AggregateType +
        +
      setExtra(short) - +Method in class edu.nps.moves.dis.EntityType +
        +
      setExtra(short) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setEz(float) - +Method in class edu.nps.moves.dis.BeamAntennaPattern +
        +
      setFieldNumber(int) - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      setFieldOffset(float) - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation1 +
        +
      setFieldScale(float) - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation1 +
        +
      setFireMissionIndex(int) - +Method in class edu.nps.moves.dis.FirePdu +
        +
      setFiringEntityID(EntityID) - +Method in class edu.nps.moves.dis.WarfareFamilyPdu +
        +
      setFixedDatumID(long) - +Method in class edu.nps.moves.dis.FixedDatum +
        +
      setFixedDatumRecords(List<FixedDatum>) - +Method in class edu.nps.moves.dis.ActionRequestReliablePdu +
        +
      setFixedDatumRecords(List<FixedDatum>) - +Method in class edu.nps.moves.dis.ActionResponseReliablePdu +
        +
      setFixedDatumRecords(List<FixedDatum>) - +Method in class edu.nps.moves.dis.CommentReliablePdu +
        +
      setFixedDatumRecords(List<FixedDatum>) - +Method in class edu.nps.moves.dis.DataQueryReliablePdu +
        +
      setFixedDatumRecords(List<FixedDatum>) - +Method in class edu.nps.moves.dis.DataReliablePdu +
        +
      setFixedDatumRecords(List<FixedDatum>) - +Method in class edu.nps.moves.dis.EventReportReliablePdu +
        +
      setFixedDatumRecords(List<FixedDatum>) - +Method in class edu.nps.moves.dis.SetDataReliablePdu +
        +
      setFixedDatums(List<FixedDatum>) - +Method in class edu.nps.moves.dis.ActionRequestPdu +
        +
      setFixedDatums(List<FixedDatum>) - +Method in class edu.nps.moves.dis.ActionResponsePdu +
        +
      setFixedDatums(List<FixedDatum>) - +Method in class edu.nps.moves.dis.CommentPdu +
        +
      setFixedDatums(List<FixedDatum>) - +Method in class edu.nps.moves.dis.DataPdu +
        +
      setFixedDatums(List<FixedDatum>) - +Method in class edu.nps.moves.dis.DataQueryPdu +
        +
      setFixedDatums(List<FixedDatum>) - +Method in class edu.nps.moves.dis.EventReportPdu +
        +
      setFixedDatums(List<FixedDatum>) - +Method in class edu.nps.moves.dis.SetDataPdu +
        +
      setFixedDatumValue(long) - +Method in class edu.nps.moves.dis.FixedDatum +
        +
      setForceID(short) - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      setForceID(short) - +Method in class edu.nps.moves.dis.ArealObjectStatePdu +
        +
      setForceId(short) - +Method in class edu.nps.moves.dis.EntityStatePdu +
        +
      setForceId(short) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setForceID(short) - +Method in class edu.nps.moves.dis.LinearObjectStatePdu +
        +
      setForceID(short) - +Method in class edu.nps.moves.dis.MinefieldStatePdu +
        +
      setForceID(short) - +Method in class edu.nps.moves.dis.PointObjectStatePdu +
        +
      setFormation(long) - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      setFPS(int) - +Method in class edu.nps.moves.deadreckoning.DIS_DeadReckoning +
      Sets the refresh rate for the scene. +
      setFrequency(float) - +Method in class edu.nps.moves.dis.FundamentalParameterData +
        +
      setFrequency(float) - +Method in class edu.nps.moves.dis.FundamentalParameterDataIff +
        +
      setFrequency(double) - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      setFrequencyRange(float) - +Method in class edu.nps.moves.dis.FundamentalParameterData +
        +
      setFrozenBehavior(short) - +Method in class edu.nps.moves.dis.StopFreezePdu +
        +
      setFrozenBehavior(short) - +Method in class edu.nps.moves.dis.StopFreezeReliablePdu +
        +
      setFunction(short) - +Method in class edu.nps.moves.dis.AcousticEmitter +
        +
      setFunction(short) - +Method in class edu.nps.moves.dis.EmitterSystem +
        +
      setFundamentalDataParameters(AcousticBeamFundamentalParameter) - +Method in class edu.nps.moves.dis.AcousticBeamData +
        +
      setFundamentalIffParameters(List<FundamentalParameterDataIff>) - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer2Pdu +
        +
      setFundamentalParameterData(FundamentalParameterData) - +Method in class edu.nps.moves.dis.ElectronicEmissionBeamData +
        +
      setFundamentalParameters(IffFundamentalData) - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer1Pdu +
        +
      setFuse(int) - +Method in class edu.nps.moves.dis.BurstDescriptor +
        +
      setGeometry(short) - +Method in class edu.nps.moves.dis.Environment +
        +
      setGridDataList(List<GridAxisRecord>) - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      setGroupedEntityCategory(short) - +Method in class edu.nps.moves.dis.IsGroupOfPdu +
        +
      setGroupedEntityDescriptions(List<VariableDatum>) - +Method in class edu.nps.moves.dis.IsGroupOfPdu +
        +
      setGroupEntityID(EntityID) - +Method in class edu.nps.moves.dis.IsGroupOfPdu +
        +
      setGroups(String) - +Method in class edu.nps.moves.disutil.UdpServer +
      Sets the new multicast groups to which the server will join. +
      setHighDensityTrackJam(short) - +Method in class edu.nps.moves.dis.ElectronicEmissionBeamData +
        +
      setHorizontalDeflectionAngle(float) - +Method in class edu.nps.moves.dis.VectoringNozzleSystemData +
        +
      setHour(int) - +Method in class edu.nps.moves.dis.ClockTime +
        +
      setIndex(short) - +Method in class edu.nps.moves.dis.Environment +
        +
      setInformationLayers(short) - +Method in class edu.nps.moves.dis.IffFundamentalData +
        +
      setInfraredSignatureRepresentationIndex(int) - +Method in class edu.nps.moves.dis.SeesPdu +
        +
      setInputSource(short) - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      setIntercomParameters(List<IntercomCommunicationsParameters>) - +Method in class edu.nps.moves.dis.IntercomControlPdu +
        +
      setIntercomParametersLength(long) - +Method in class edu.nps.moves.dis.IntercomControlPdu +
      Note that setting this value will not change the marshalled value. +
      setIssuingEntityID(EntityID) - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      setIssuingEntityID(EntityID) - +Method in class edu.nps.moves.dis.CollisionPdu +
        +
      setJammingModeSequence(long) - +Method in class edu.nps.moves.dis.ElectronicEmissionBeamData +
        +
      setLatitude(double) - +Method in class edu.nps.moves.dis.IsGroupOfPdu +
        +
      setLayerHeader(LayerHeader) - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer2Pdu +
        +
      setLayerNumber(short) - +Method in class edu.nps.moves.dis.LayerHeader +
        +
      setLayerSpecificInformaiton(short) - +Method in class edu.nps.moves.dis.LayerHeader +
        +
      setLength(short) - +Method in class edu.nps.moves.dis.Environment +
        +
      setLength(int) - +Method in class edu.nps.moves.dis.LayerHeader +
        +
      setLength(int) - +Method in class edu.nps.moves.dis.Pdu +
        +
      setLinearSegmentParameters(List<LinearSegmentParameter>) - +Method in class edu.nps.moves.dis.LinearObjectStatePdu +
        +
      setLocation(Vector3Float) - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      setLocation(Vector3Float) - +Method in class edu.nps.moves.dis.CollisionPdu +
        +
      setLocation(Vector3Float) - +Method in class edu.nps.moves.dis.ElectronicEmissionSystemData +
        +
      setLocation(Vector3Float) - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer1Pdu +
        +
      setLocation(Vector3Double) - +Method in class edu.nps.moves.dis.LinearSegmentParameter +
        +
      setLocationInEntityCoordinates(Vector3Float) - +Method in class edu.nps.moves.dis.DetonationPdu +
        +
      setLocationInWorldCoordinates(Vector3Double) - +Method in class edu.nps.moves.dis.DetonationPdu +
        +
      setLocationInWorldCoordinates(Vector3Double) - +Method in class edu.nps.moves.dis.FirePdu +
        +
      setLoggingLevel(Level) - +Static method in class edu.nps.moves.disutil.NioServer +
      Static method to set the logging level using Java's + java.util.logging package. +
      setLoggingLevel(Level) - +Static method in class edu.nps.moves.disutil.UdpServer +
      Static method to set the logging level using Java's + java.util.logging package. +
      setLongitude(double) - +Method in class edu.nps.moves.dis.IsGroupOfPdu +
        +
      setMajor(int) - +Method in class edu.nps.moves.dis.ModulationType +
        +
      setMarking(Marking) - +Method in class edu.nps.moves.dis.EntityStatePdu +
        +
      setMarking(byte[]) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setMass(float) - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      setMass(float) - +Method in class edu.nps.moves.dis.CollisionPdu +
        +
      setMasterCommunicationsDeviceID(int) - +Method in class edu.nps.moves.dis.IntercomControlPdu +
        +
      setMasterEntityID(EntityID) - +Method in class edu.nps.moves.dis.IntercomControlPdu +
        +
      setMat(float[][]) - +Method in class edu.nps.moves.math.Matrix3f +
        +
      setMat(Matrix3f) - +Method in class edu.nps.moves.math.Matrix3f +
        +
      setMat(float[][]) - +Method in class edu.nps.moves.math.Matrix4f +
        +
      setMat(Matrix4f) - +Method in class edu.nps.moves.math.Matrix4f +
        +
      setMat3(float[][]) - +Method in class edu.nps.moves.math.Quaternion +
        +
      setMat3(Matrix3f) - +Method in class edu.nps.moves.math.Quaternion +
        +
      setMat4(float[][]) - +Method in class edu.nps.moves.math.Quaternion +
        +
      setMat4(Matrix4f) - +Method in class edu.nps.moves.math.Quaternion +
        +
      setMatValue(int, int, float) - +Method in class edu.nps.moves.math.Matrix3f +
        +
      setMatValue(int, int, float) - +Method in class edu.nps.moves.math.Matrix4f +
        +
      setMinefieldID(EntityID) - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
        +
      setMinefieldID(EntityID) - +Method in class edu.nps.moves.dis.MinefieldQueryPdu +
        +
      setMinefieldID(EntityID) - +Method in class edu.nps.moves.dis.MinefieldResponseNackPdu +
        +
      setMinefieldID(EntityID) - +Method in class edu.nps.moves.dis.MinefieldStatePdu +
        +
      setMinefieldLocation(Vector3Double) - +Method in class edu.nps.moves.dis.MinefieldStatePdu +
        +
      setMinefieldOrientation(Orientation) - +Method in class edu.nps.moves.dis.MinefieldStatePdu +
        +
      setMinefieldSequence(int) - +Method in class edu.nps.moves.dis.MinefieldStatePdu +
        +
      setMinefieldSequenceNumbeer(int) - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
        +
      setMinefieldType(EntityType) - +Method in class edu.nps.moves.dis.MinefieldStatePdu +
        +
      setMineLocation(List<Vector3Float>) - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
        +
      setMineType(EntityType) - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
        +
      setMineType(List<EntityType>) - +Method in class edu.nps.moves.dis.MinefieldStatePdu +
        +
      setMissingPduSequenceNumbers(List<EightByteChunk>) - +Method in class edu.nps.moves.dis.MinefieldResponseNackPdu +
        +
      setModelType(short) - +Method in class edu.nps.moves.dis.EnvironmentalProcessPdu +
        +
      setModifications(short) - +Method in class edu.nps.moves.dis.ArealObjectStatePdu +
        +
      setModifications(short) - +Method in class edu.nps.moves.dis.PointObjectStatePdu +
        +
      setModifier(short) - +Method in class edu.nps.moves.dis.IffFundamentalData +
        +
      setModulationParameterCount(short) - +Method in class edu.nps.moves.dis.TransmitterPdu +
      Note that setting this value will not change the marshalled value. +
      setModulationParametersList(List<Vector3Float>) - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      setModulationType(ModulationType) - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      setMunition(EntityType) - +Method in class edu.nps.moves.dis.BurstDescriptor +
        +
      setMunitionID(EntityID) - +Method in class edu.nps.moves.dis.DetonationPdu +
        +
      setMunitionID(EntityID) - +Method in class edu.nps.moves.dis.FirePdu +
        +
      setNamedLocationID(NamedLocation) - +Method in class edu.nps.moves.dis.IsPartOfPdu +
        +
      setNature(int) - +Method in class edu.nps.moves.dis.Relationship +
        +
      setNewAll(double[]) - +Method in class edu.nps.moves.deadreckoning.DIS_DeadReckoning +
      Set the parameters for this entity's DR function based on the most + recent PDU. +
      setNomenclature(int) - +Method in class edu.nps.moves.dis.RadioEntityType +
        +
      setNomenclatureVersion(short) - +Method in class edu.nps.moves.dis.RadioEntityType +
        +
      setNumberOfAPAs(short) - +Method in class edu.nps.moves.dis.UaPdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfArticulationParameters(short) - +Method in class edu.nps.moves.dis.DetonationPdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfArticulationParameters(byte) - +Method in class edu.nps.moves.dis.EntityStatePdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfArticulationParameters(byte) - +Method in class edu.nps.moves.dis.EntityStateUpdatePdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfArticulationParameters(byte) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfBeams(short) - +Method in class edu.nps.moves.dis.AcousticEmitterSystemData +
      Note that setting this value will not change the marshalled value. +
      setNumberOfBeams(short) - +Method in class edu.nps.moves.dis.ElectronicEmissionSystemData +
      Note that setting this value will not change the marshalled value. +
      setNumberOfBytes(int) - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation0 +
      Note that setting this value will not change the marshalled value. +
      setNumberOfDisAggregates(int) - +Method in class edu.nps.moves.dis.AggregateStatePdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfDisEntities(int) - +Method in class edu.nps.moves.dis.AggregateStatePdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfEnvironmentRecords(short) - +Method in class edu.nps.moves.dis.EnvironmentalProcessPdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfFixedDatumRecords(long) - +Method in class edu.nps.moves.dis.ActionRequestPdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfFixedDatumRecords(long) - +Method in class edu.nps.moves.dis.ActionRequestReliablePdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfFixedDatumRecords(long) - +Method in class edu.nps.moves.dis.ActionResponsePdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfFixedDatumRecords(long) - +Method in class edu.nps.moves.dis.ActionResponseReliablePdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfFixedDatumRecords(long) - +Method in class edu.nps.moves.dis.CommentPdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfFixedDatumRecords(long) - +Method in class edu.nps.moves.dis.CommentReliablePdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfFixedDatumRecords(long) - +Method in class edu.nps.moves.dis.DataPdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfFixedDatumRecords(long) - +Method in class edu.nps.moves.dis.DataQueryPdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfFixedDatumRecords(long) - +Method in class edu.nps.moves.dis.DataQueryReliablePdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfFixedDatumRecords(long) - +Method in class edu.nps.moves.dis.DataReliablePdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfFixedDatumRecords(long) - +Method in class edu.nps.moves.dis.EventReportPdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfFixedDatumRecords(long) - +Method in class edu.nps.moves.dis.EventReportReliablePdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfFixedDatumRecords(long) - +Method in class edu.nps.moves.dis.SetDataPdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfFixedDatumRecords(long) - +Method in class edu.nps.moves.dis.SetDataReliablePdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfGridAxes(short) - +Method in class edu.nps.moves.dis.GriddedDataPdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfGroupedEntities(short) - +Method in class edu.nps.moves.dis.IsGroupOfPdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfMinesInThisPdu(short) - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfMineTypes(int) - +Method in class edu.nps.moves.dis.MinefieldStatePdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfMissingPdus(short) - +Method in class edu.nps.moves.dis.MinefieldResponseNackPdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfPdus(short) - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
        +
      setNumberOfPdus(int) - +Method in class edu.nps.moves.dis.PduContainer +
      Note that setting this value will not change the marshalled value. +
      setNumberOfPerimeterPoints(short) - +Method in class edu.nps.moves.dis.MinefieldQueryPdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfPerimeterPoints(short) - +Method in class edu.nps.moves.dis.MinefieldStatePdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfPoints(int) - +Method in class edu.nps.moves.dis.ArealObjectStatePdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfPropulsionSystems(int) - +Method in class edu.nps.moves.dis.SeesPdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfRecords(long) - +Method in class edu.nps.moves.dis.RecordQueryReliablePdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfRecordSets(long) - +Method in class edu.nps.moves.dis.SetRecordReliablePdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfRecordSets(short) - +Method in class edu.nps.moves.dis.TransferControlRequestPdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfSegments(short) - +Method in class edu.nps.moves.dis.LinearObjectStatePdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfSensorTypes(short) - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfSensorTypes(short) - +Method in class edu.nps.moves.dis.MinefieldQueryPdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfShafts(short) - +Method in class edu.nps.moves.dis.UaPdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfSilentAggregateTypes(int) - +Method in class edu.nps.moves.dis.AggregateStatePdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfSilentEntityTypes(int) - +Method in class edu.nps.moves.dis.AggregateStatePdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfSupplyTypes(short) - +Method in class edu.nps.moves.dis.ResupplyOfferPdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfSupplyTypes(short) - +Method in class edu.nps.moves.dis.ResupplyReceivedPdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfSupplyTypes(short) - +Method in class edu.nps.moves.dis.ServiceRequestPdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfSystems(short) - +Method in class edu.nps.moves.dis.ElectronicEmissionsPdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfTrackJamTargets(short) - +Method in class edu.nps.moves.dis.ElectronicEmissionBeamData +
      Note that setting this value will not change the marshalled value. +
      setNumberOfUAEmitterSystems(short) - +Method in class edu.nps.moves.dis.UaPdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfValues(int) - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation1 +
      Note that setting this value will not change the marshalled value. +
      setNumberOfValues(int) - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation2 +
      Note that setting this value will not change the marshalled value. +
      setNumberOfVariableDatumRecords(long) - +Method in class edu.nps.moves.dis.ActionRequestPdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfVariableDatumRecords(long) - +Method in class edu.nps.moves.dis.ActionRequestReliablePdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfVariableDatumRecords(long) - +Method in class edu.nps.moves.dis.ActionResponsePdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfVariableDatumRecords(long) - +Method in class edu.nps.moves.dis.ActionResponseReliablePdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfVariableDatumRecords(long) - +Method in class edu.nps.moves.dis.AggregateStatePdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfVariableDatumRecords(long) - +Method in class edu.nps.moves.dis.CommentPdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfVariableDatumRecords(long) - +Method in class edu.nps.moves.dis.CommentReliablePdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfVariableDatumRecords(long) - +Method in class edu.nps.moves.dis.DataPdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfVariableDatumRecords(long) - +Method in class edu.nps.moves.dis.DataQueryPdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfVariableDatumRecords(long) - +Method in class edu.nps.moves.dis.DataQueryReliablePdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfVariableDatumRecords(long) - +Method in class edu.nps.moves.dis.DataReliablePdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfVariableDatumRecords(long) - +Method in class edu.nps.moves.dis.EventReportPdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfVariableDatumRecords(long) - +Method in class edu.nps.moves.dis.EventReportReliablePdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfVariableDatumRecords(long) - +Method in class edu.nps.moves.dis.SetDataPdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfVariableDatumRecords(long) - +Method in class edu.nps.moves.dis.SetDataReliablePdu +
      Note that setting this value will not change the marshalled value. +
      setNumberOfVectoringNozzleSystems(int) - +Method in class edu.nps.moves.dis.SeesPdu +
      Note that setting this value will not change the marshalled value. +
      setObjectAppearance(SixByteChunk) - +Method in class edu.nps.moves.dis.ArealObjectStatePdu +
        +
      setObjectAppearance(double) - +Method in class edu.nps.moves.dis.PointObjectStatePdu +
        +
      setObjectID(EntityID) - +Method in class edu.nps.moves.dis.ArealObjectStatePdu +
        +
      setObjectID(EntityID) - +Method in class edu.nps.moves.dis.LinearObjectStatePdu +
        +
      setObjectID(EntityID) - +Method in class edu.nps.moves.dis.PointObjectStatePdu +
        +
      setObjectLocation(List<Vector3Double>) - +Method in class edu.nps.moves.dis.ArealObjectStatePdu +
        +
      setObjectLocation(Vector3Double) - +Method in class edu.nps.moves.dis.PointObjectStatePdu +
        +
      setObjectOrientation(Orientation) - +Method in class edu.nps.moves.dis.PointObjectStatePdu +
        +
      setObjectType(EntityType) - +Method in class edu.nps.moves.dis.ArealObjectStatePdu +
        +
      setObjectType(ObjectType) - +Method in class edu.nps.moves.dis.LinearObjectStatePdu +
        +
      setObjectType(ObjectType) - +Method in class edu.nps.moves.dis.PointObjectStatePdu +
        +
      setOrder(byte) - +Method in class edu.nps.moves.dis.SphericalHarmonicAntennaPattern +
        +
      setOrderedShaftRPMs(short) - +Method in class edu.nps.moves.dis.ShaftRPMs +
        +
      setOrginatingEntityID(EntityID) - +Method in class edu.nps.moves.dis.IsPartOfPdu +
        +
      setOrginatingEntityID(EntityID) - +Method in class edu.nps.moves.dis.SeesPdu +
        +
      setOrginatingEntityID(EntityID) - +Method in class edu.nps.moves.dis.TransferControlRequestPdu +
        +
      setOrientation(Orientation) - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      setOrientation(Orientation) - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      setOrientation(Orientation) - +Method in class edu.nps.moves.dis.LinearSegmentParameter +
        +
      setOriginatingEntityID(EntityID) - +Method in class edu.nps.moves.dis.SimulationManagementFamilyPdu +
        +
      setOriginatingEntityID(EntityID) - +Method in class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu +
        +
      setOtherParameters(byte[]) - +Method in class edu.nps.moves.dis.DeadReckoningParameter +
        +
      setOtherParameters(byte[]) - +Method in class edu.nps.moves.dis.EightByteChunk +
        +
      setOtherParameters(byte[]) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setOtherParameters(byte[]) - +Method in class edu.nps.moves.dis.FourByteChunk +
        +
      setOtherParameters(byte[]) - +Method in class edu.nps.moves.dis.OneByteChunk +
        +
      setOtherParameters(byte[]) - +Method in class edu.nps.moves.dis.SixByteChunk +
        +
      setOtherParameters(byte[]) - +Method in class edu.nps.moves.dis.TwoByteChunk +
        +
      setPad(short) - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      setPad(byte) - +Method in class edu.nps.moves.dis.CollisionPdu +
        +
      setPad(short) - +Method in class edu.nps.moves.dis.DetonationPdu +
        +
      setPad(byte) - +Method in class edu.nps.moves.dis.UaPdu +
        +
      setPad1(int) - +Method in class edu.nps.moves.dis.ActionRequestReliablePdu +
        +
      setPad1(int) - +Method in class edu.nps.moves.dis.CreateEntityReliablePdu +
        +
      setPad1(int) - +Method in class edu.nps.moves.dis.DataQueryReliablePdu +
        +
      setPad1(int) - +Method in class edu.nps.moves.dis.DataReliablePdu +
        +
      setPad1(long) - +Method in class edu.nps.moves.dis.EventReportReliablePdu +
        +
      setPad1(long) - +Method in class edu.nps.moves.dis.LinearSegmentParameter +
        +
      setPad1(int) - +Method in class edu.nps.moves.dis.RecordQueryReliablePdu +
        +
      setPad1(int) - +Method in class edu.nps.moves.dis.RemoveEntityReliablePdu +
        +
      setPad1(int) - +Method in class edu.nps.moves.dis.SetDataReliablePdu +
        +
      setPad1(int) - +Method in class edu.nps.moves.dis.SetRecordReliablePdu +
        +
      setPad1(int) - +Method in class edu.nps.moves.dis.StartResumeReliablePdu +
        +
      setPad1(short) - +Method in class edu.nps.moves.dis.StopFreezeReliablePdu +
        +
      setPad2(int) - +Method in class edu.nps.moves.dis.AcousticBeamData +
        +
      setPad2(int) - +Method in class edu.nps.moves.dis.AcousticEmitterSystemData +
        +
      setPad2(short) - +Method in class edu.nps.moves.dis.ActionRequestReliablePdu +
        +
      setPad2(short) - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      setPad2(short) - +Method in class edu.nps.moves.dis.CreateEntityReliablePdu +
        +
      setPad2(short) - +Method in class edu.nps.moves.dis.DataQueryReliablePdu +
        +
      setPad2(short) - +Method in class edu.nps.moves.dis.DataReliablePdu +
        +
      setPad2(int) - +Method in class edu.nps.moves.dis.FundamentalParameterDataIff +
        +
      setPad2(int) - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer1Pdu +
        +
      setPad2(long) - +Method in class edu.nps.moves.dis.IsGroupOfPdu +
        +
      setPad2(short) - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
        +
      setPad2(short) - +Method in class edu.nps.moves.dis.MinefieldQueryPdu +
        +
      setPad2(long) - +Method in class edu.nps.moves.dis.PointObjectStatePdu +
        +
      setPad2(short) - +Method in class edu.nps.moves.dis.RecordQueryReliablePdu +
        +
      setPad2(short) - +Method in class edu.nps.moves.dis.RemoveEntityReliablePdu +
        +
      setPad2(short) - +Method in class edu.nps.moves.dis.SetDataReliablePdu +
        +
      setPad2(short) - +Method in class edu.nps.moves.dis.SetRecordReliablePdu +
        +
      setPad2(short) - +Method in class edu.nps.moves.dis.StartResumeReliablePdu +
        +
      setPad3(short) - +Method in class edu.nps.moves.dis.FundamentalParameterDataIff +
        +
      setPad3(short) - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
        +
      setPad4(short) - +Method in class edu.nps.moves.dis.ElectronicEmissionBeamData +
        +
      setPad4(short) - +Method in class edu.nps.moves.dis.RecordSet +
        +
      setPadding(short) - +Method in class edu.nps.moves.dis.Pdu +
        +
      setPadding(short) - +Method in class edu.nps.moves.dis.RepairCompletePdu +
        +
      setPadding1(short) - +Method in class edu.nps.moves.dis.BeamAntennaPattern +
        +
      setPadding1(long) - +Method in class edu.nps.moves.dis.DataPdu +
        +
      setPadding1(int) - +Method in class edu.nps.moves.dis.DesignatorPdu +
        +
      setPadding1(short) - +Method in class edu.nps.moves.dis.Environment +
        +
      setPadding1(long) - +Method in class edu.nps.moves.dis.EventReportPdu +
        +
      setPadding1(int) - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      setPadding1(int) - +Method in class edu.nps.moves.dis.ReceiverPdu +
        +
      setPadding1(short) - +Method in class edu.nps.moves.dis.RepairResponsePdu +
        +
      setPadding1(short) - +Method in class edu.nps.moves.dis.ResupplyOfferPdu +
        +
      setPadding1(short) - +Method in class edu.nps.moves.dis.ResupplyReceivedPdu +
        +
      setPadding1(long) - +Method in class edu.nps.moves.dis.SetDataPdu +
        +
      setPadding1(short) - +Method in class edu.nps.moves.dis.StopFreezePdu +
        +
      setPadding1(int) - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      setPadding2(byte) - +Method in class edu.nps.moves.dis.BeamAntennaPattern +
        +
      setPadding2(byte) - +Method in class edu.nps.moves.dis.DesignatorPdu +
        +
      setPadding2(short) - +Method in class edu.nps.moves.dis.Environment +
        +
      setPadding2(short) - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      setPadding2(byte) - +Method in class edu.nps.moves.dis.RepairResponsePdu +
        +
      setPadding2(byte) - +Method in class edu.nps.moves.dis.ResupplyOfferPdu +
        +
      setPadding2(byte) - +Method in class edu.nps.moves.dis.ResupplyReceivedPdu +
        +
      setPadding2(int) - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      setPadding3(short) - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      setPaddingForEmissionsPdu(int) - +Method in class edu.nps.moves.dis.ElectronicEmissionsPdu +
        +
      setParameter1(int) - +Method in class edu.nps.moves.dis.IffFundamentalData +
        +
      setParameter2(int) - +Method in class edu.nps.moves.dis.IffFundamentalData +
        +
      setParameter3(int) - +Method in class edu.nps.moves.dis.IffFundamentalData +
        +
      setParameter4(int) - +Method in class edu.nps.moves.dis.IffFundamentalData +
        +
      setParameter5(int) - +Method in class edu.nps.moves.dis.IffFundamentalData +
        +
      setParameter6(int) - +Method in class edu.nps.moves.dis.IffFundamentalData +
        +
      setParameterIndex(int) - +Method in class edu.nps.moves.dis.ApaData +
        +
      setParameterType(int) - +Method in class edu.nps.moves.dis.ArticulationParameter +
        +
      setParameterTypeDesignator(short) - +Method in class edu.nps.moves.dis.ArticulationParameter +
        +
      setParameterValue(short) - +Method in class edu.nps.moves.dis.ApaData +
        +
      setParameterValue(double) - +Method in class edu.nps.moves.dis.ArticulationParameter +
        +
      setPartAttachedTo(int) - +Method in class edu.nps.moves.dis.ArticulationParameter +
        +
      setPartEntityType(EntityType) - +Method in class edu.nps.moves.dis.IsPartOfPdu +
        +
      setPartLocation(Vector3Float) - +Method in class edu.nps.moves.dis.IsPartOfPdu +
        +
      setPassiveParameterIndex(int) - +Method in class edu.nps.moves.dis.UaPdu +
        +
      setPduNumber(int) - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      setPdus(List<Pdu>) - +Method in class edu.nps.moves.dis.PduCollection +
        +
      setPdus(List<Pdu>) - +Method in class edu.nps.moves.dis.PduContainer +
        +
      setPduSequenceNumber(short) - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
        +
      setPduTotal(int) - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      setPduType(short) - +Method in class edu.nps.moves.dis.Pdu +
        +
      setPerimeterPoints(List<Point>) - +Method in class edu.nps.moves.dis.MinefieldStatePdu +
        +
      setPgrf(float) - +Method in class edu.nps.moves.dis.FundamentalParameterDataIff +
        +
      setPhase(float) - +Method in class edu.nps.moves.dis.BeamAntennaPattern +
        +
      setPhi(float) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setPhi(float) - +Method in class edu.nps.moves.dis.Orientation +
        +
      setPort(int) - +Method in class edu.nps.moves.disutil.UdpServer +
      Sets the new port on which the server will attempt to listen. +
      setPosition(int) - +Method in class edu.nps.moves.dis.Relationship +
        +
      setPower(float) - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      setPowerSetting(float) - +Method in class edu.nps.moves.dis.PropulsionSystemData +
        +
      setPropulsionPlantConfiguration(short) - +Method in class edu.nps.moves.dis.UaPdu +
        +
      setPropulsionSystemData(List<PropulsionSystemData>) - +Method in class edu.nps.moves.dis.SeesPdu +
        +
      setProtocolFamily(short) - +Method in class edu.nps.moves.dis.Pdu +
        +
      setProtocolMode(int) - +Method in class edu.nps.moves.dis.MinefieldStatePdu +
        +
      setProtocolVersion(short) - +Method in class edu.nps.moves.dis.Pdu +
        +
      setPsi(float) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setPsi(float) - +Method in class edu.nps.moves.dis.Orientation +
        +
      setPulseRepetitionFrequency(float) - +Method in class edu.nps.moves.dis.FundamentalParameterData +
        +
      setPulseWidth(float) - +Method in class edu.nps.moves.dis.FundamentalParameterData +
        +
      setPulseWidth(float) - +Method in class edu.nps.moves.dis.FundamentalParameterDataIff +
        +
      setQuantity(int) - +Method in class edu.nps.moves.dis.BurstDescriptor +
        +
      setQuantity(short) - +Method in class edu.nps.moves.dis.SupplyQuantity +
        +
      setQuat(Quaternion) - +Method in class edu.nps.moves.math.Matrix3f +
        +
      setQuat(Quaternion) - +Method in class edu.nps.moves.math.Matrix4f +
        +
      setQuat(float[]) - +Method in class edu.nps.moves.math.Quaternion +
        +
      setQuat(Quaternion) - +Method in class edu.nps.moves.math.Quaternion +
        +
      setQuat(float, float, float, float) - +Method in class edu.nps.moves.math.Quaternion +
        +
      setQuaternion2(double, double, double, double) - +Method in class edu.nps.moves.math.Quaternion2 +
      Sets the quaternion values +
      setQuatValue(int, float) - +Method in class edu.nps.moves.math.Quaternion +
        +
      setRadarCrossSectionSignatureRepresentationIndex(int) - +Method in class edu.nps.moves.dis.SeesPdu +
        +
      setRadioEntityType(RadioEntityType) - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      setRadioId(int) - +Method in class edu.nps.moves.dis.RadioCommunicationsFamilyPdu +
        +
      setRange(float) - +Method in class edu.nps.moves.dis.FirePdu +
        +
      setRate(int) - +Method in class edu.nps.moves.dis.BurstDescriptor +
        +
      setRealWorldTime(ClockTime) - +Method in class edu.nps.moves.dis.StartResumePdu +
        +
      setRealWorldTime(ClockTime) - +Method in class edu.nps.moves.dis.StartResumeReliablePdu +
        +
      setRealWorldTime(ClockTime) - +Method in class edu.nps.moves.dis.StopFreezePdu +
        +
      setRealWorldTime(ClockTime) - +Method in class edu.nps.moves.dis.StopFreezeReliablePdu +
        +
      setReason(short) - +Method in class edu.nps.moves.dis.StopFreezePdu +
        +
      setReason(short) - +Method in class edu.nps.moves.dis.StopFreezeReliablePdu +
        +
      setReceiveBufferSize(int) - +Method in class edu.nps.moves.disutil.UdpServer +
      Recommends a receive buffer size for the underlying MulticastSocket. +
      setReceivedPoser(float) - +Method in class edu.nps.moves.dis.ReceiverPdu +
        +
      setReceiverState(int) - +Method in class edu.nps.moves.dis.ReceiverPdu +
        +
      setReceivingEntityID(EntityID) - +Method in class edu.nps.moves.dis.IsPartOfPdu +
        +
      setReceivingEntityID(EntityID) - +Method in class edu.nps.moves.dis.RepairCompletePdu +
        +
      setReceivingEntityID(EntityID) - +Method in class edu.nps.moves.dis.RepairResponsePdu +
        +
      setReceivingEntityID(EntityID) - +Method in class edu.nps.moves.dis.ResupplyCancelPdu +
        +
      setReceivingEntityID(EntityID) - +Method in class edu.nps.moves.dis.ResupplyOfferPdu +
        +
      setReceivingEntityID(EntityID) - +Method in class edu.nps.moves.dis.ResupplyReceivedPdu +
        +
      setReceivingEntityID(EntityID) - +Method in class edu.nps.moves.dis.SimulationManagementFamilyPdu +
        +
      setReceivingEntityID(EntityID) - +Method in class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu +
        +
      setReceivingID(SimulationAddress) - +Method in class edu.nps.moves.dis.ArealObjectStatePdu +
        +
      setReceivingID(SimulationAddress) - +Method in class edu.nps.moves.dis.LinearObjectStatePdu +
        +
      setReceivingID(SimulationAddress) - +Method in class edu.nps.moves.dis.PointObjectStatePdu +
        +
      setRecevingEntityID(EntityID) - +Method in class edu.nps.moves.dis.TransferControlRequestPdu +
        +
      setRecordCount(int) - +Method in class edu.nps.moves.dis.RecordSet +
        +
      setRecordID(long) - +Method in class edu.nps.moves.dis.RecordSet +
        +
      setRecordIDs(List<FourByteChunk>) - +Method in class edu.nps.moves.dis.RecordQueryReliablePdu +
        +
      setRecordLength(int) - +Method in class edu.nps.moves.dis.IntercomCommunicationsParameters +
        +
      setRecordLength(int) - +Method in class edu.nps.moves.dis.RecordSet +
        +
      SetRecordReliablePdu - Class in edu.nps.moves.dis
      Section 5.3.12.14: Initializing or changing internal parameter info.
      SetRecordReliablePdu() - +Constructor for class edu.nps.moves.dis.SetRecordReliablePdu +
      Constructor +
      setRecordSets(List<RecordSet>) - +Method in class edu.nps.moves.dis.SetRecordReliablePdu +
        +
      setRecordSets(List<RecordSet>) - +Method in class edu.nps.moves.dis.TransferControlRequestPdu +
        +
      setRecordSetSerialNumber(long) - +Method in class edu.nps.moves.dis.RecordSet +
        +
      setRecordSpecificField(long) - +Method in class edu.nps.moves.dis.IntercomCommunicationsParameters +
        +
      setRecordType(int) - +Method in class edu.nps.moves.dis.IntercomCommunicationsParameters +
        +
      setRecordValues(int) - +Method in class edu.nps.moves.dis.RecordSet +
        +
      setReferencedObjectID(EntityID) - +Method in class edu.nps.moves.dis.ArealObjectStatePdu +
        +
      setReferencedObjectID(EntityID) - +Method in class edu.nps.moves.dis.LinearObjectStatePdu +
        +
      setReferencedObjectID(EntityID) - +Method in class edu.nps.moves.dis.PointObjectStatePdu +
        +
      setReferenceSystem(float) - +Method in class edu.nps.moves.dis.BeamAntennaPattern +
        +
      setRefresh(int) - +Method in class edu.nps.moves.examples.MemoryView +
        +
      setRelationship(Relationship) - +Method in class edu.nps.moves.dis.IsPartOfPdu +
        +
      setRelativeAntennaLocation(Vector3Float) - +Method in class edu.nps.moves.dis.AntennaLocation +
        +
      setRelativeAntennaLocation(Vector3Float) - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      setRepair(int) - +Method in class edu.nps.moves.dis.RepairCompletePdu +
        +
      setRepairingEntityID(EntityID) - +Method in class edu.nps.moves.dis.RepairCompletePdu +
        +
      setRepairingEntityID(EntityID) - +Method in class edu.nps.moves.dis.RepairResponsePdu +
        +
      setRepairResult(short) - +Method in class edu.nps.moves.dis.RepairResponsePdu +
        +
      setRequestedMineType(EntityType) - +Method in class edu.nps.moves.dis.MinefieldQueryPdu +
        +
      setRequestedPerimeterPoints(List<Point>) - +Method in class edu.nps.moves.dis.MinefieldQueryPdu +
        +
      setRequesterID(SimulationAddress) - +Method in class edu.nps.moves.dis.ArealObjectStatePdu +
        +
      setRequesterID(SimulationAddress) - +Method in class edu.nps.moves.dis.LinearObjectStatePdu +
        +
      setRequesterID(SimulationAddress) - +Method in class edu.nps.moves.dis.PointObjectStatePdu +
        +
      setRequestID(long) - +Method in class edu.nps.moves.dis.AcknowledgePdu +
        +
      setRequestID(long) - +Method in class edu.nps.moves.dis.AcknowledgeReliablePdu +
        +
      setRequestID(long) - +Method in class edu.nps.moves.dis.ActionRequestPdu +
        +
      setRequestID(long) - +Method in class edu.nps.moves.dis.ActionRequestReliablePdu +
        +
      setRequestID(long) - +Method in class edu.nps.moves.dis.ActionResponsePdu +
        +
      setRequestID(long) - +Method in class edu.nps.moves.dis.ActionResponseReliablePdu +
        +
      setRequestID(long) - +Method in class edu.nps.moves.dis.CreateEntityPdu +
        +
      setRequestID(long) - +Method in class edu.nps.moves.dis.CreateEntityReliablePdu +
        +
      setRequestID(long) - +Method in class edu.nps.moves.dis.DataPdu +
        +
      setRequestID(long) - +Method in class edu.nps.moves.dis.DataQueryPdu +
        +
      setRequestID(long) - +Method in class edu.nps.moves.dis.DataQueryReliablePdu +
        +
      setRequestID(long) - +Method in class edu.nps.moves.dis.DataReliablePdu +
        +
      setRequestID(short) - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
        +
      setRequestID(short) - +Method in class edu.nps.moves.dis.MinefieldQueryPdu +
        +
      setRequestID(short) - +Method in class edu.nps.moves.dis.MinefieldResponseNackPdu +
        +
      setRequestID(long) - +Method in class edu.nps.moves.dis.RecordQueryReliablePdu +
        +
      setRequestID(long) - +Method in class edu.nps.moves.dis.RemoveEntityPdu +
        +
      setRequestID(long) - +Method in class edu.nps.moves.dis.RemoveEntityReliablePdu +
        +
      setRequestID(long) - +Method in class edu.nps.moves.dis.SetDataPdu +
        +
      setRequestID(long) - +Method in class edu.nps.moves.dis.SetDataReliablePdu +
        +
      setRequestID(long) - +Method in class edu.nps.moves.dis.SetRecordReliablePdu +
        +
      setRequestID(long) - +Method in class edu.nps.moves.dis.StartResumePdu +
        +
      setRequestID(long) - +Method in class edu.nps.moves.dis.StartResumeReliablePdu +
        +
      setRequestID(long) - +Method in class edu.nps.moves.dis.StopFreezePdu +
        +
      setRequestID(long) - +Method in class edu.nps.moves.dis.StopFreezeReliablePdu +
        +
      setRequestID(long) - +Method in class edu.nps.moves.dis.TransferControlRequestPdu +
        +
      setRequestingEntityID(EntityID) - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
        +
      setRequestingEntityID(EntityID) - +Method in class edu.nps.moves.dis.MinefieldQueryPdu +
        +
      setRequestingEntityID(EntityID) - +Method in class edu.nps.moves.dis.MinefieldResponseNackPdu +
        +
      setRequestingEntityID(EntityID) - +Method in class edu.nps.moves.dis.ServiceRequestPdu +
        +
      setRequestStatus(long) - +Method in class edu.nps.moves.dis.ActionResponsePdu +
        +
      setRequiredReliabilityService(short) - +Method in class edu.nps.moves.dis.ActionRequestReliablePdu +
        +
      setRequiredReliabilityService(short) - +Method in class edu.nps.moves.dis.CreateEntityReliablePdu +
        +
      setRequiredReliabilityService(short) - +Method in class edu.nps.moves.dis.DataQueryReliablePdu +
        +
      setRequiredReliabilityService(short) - +Method in class edu.nps.moves.dis.DataReliablePdu +
        +
      setRequiredReliabilityService(short) - +Method in class edu.nps.moves.dis.RecordQueryReliablePdu +
        +
      setRequiredReliabilityService(short) - +Method in class edu.nps.moves.dis.RemoveEntityReliablePdu +
        +
      setRequiredReliabilityService(short) - +Method in class edu.nps.moves.dis.SetDataReliablePdu +
        +
      setRequiredReliabilityService(short) - +Method in class edu.nps.moves.dis.SetRecordReliablePdu +
        +
      setRequiredReliabilityService(short) - +Method in class edu.nps.moves.dis.StartResumeReliablePdu +
        +
      setRequiredReliabilityService(short) - +Method in class edu.nps.moves.dis.TransferControlRequestPdu +
        +
      setRequiredReliablityService(short) - +Method in class edu.nps.moves.dis.StopFreezeReliablePdu +
        +
      setResponseFlag(int) - +Method in class edu.nps.moves.dis.AcknowledgePdu +
        +
      setResponseFlag(int) - +Method in class edu.nps.moves.dis.AcknowledgeReliablePdu +
        +
      setResponseStatus(long) - +Method in class edu.nps.moves.dis.ActionResponseReliablePdu +
        +
      setSampleRate(long) - +Method in class edu.nps.moves.dis.IntercomSignalPdu +
        +
      setSampleRate(int) - +Method in class edu.nps.moves.dis.SignalPdu +
        +
      setSamples(int) - +Method in class edu.nps.moves.dis.IntercomSignalPdu +
        +
      setSamples(short) - +Method in class edu.nps.moves.dis.SignalPdu +
        +
      setSampleTime(long) - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      setSampleType(int) - +Method in class edu.nps.moves.dis.GridAxisRecord +
        +
      setScanPattern(int) - +Method in class edu.nps.moves.dis.AcousticBeamFundamentalParameter +
        +
      setSecondaryOperationalData(BeamData) - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer2Pdu +
        +
      setSegmentAppearance(SixByteChunk) - +Method in class edu.nps.moves.dis.LinearSegmentParameter +
        +
      setSegmentDepth(int) - +Method in class edu.nps.moves.dis.LinearSegmentParameter +
        +
      setSegmentHeight(int) - +Method in class edu.nps.moves.dis.LinearSegmentParameter +
        +
      setSegmentLength(int) - +Method in class edu.nps.moves.dis.LinearSegmentParameter +
        +
      setSegmentNumber(short) - +Method in class edu.nps.moves.dis.LinearSegmentParameter +
        +
      setSegmentWidth(int) - +Method in class edu.nps.moves.dis.LinearSegmentParameter +
        +
      setSensorTypes(List<TwoByteChunk>) - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
        +
      setSensorTypes(List<TwoByteChunk>) - +Method in class edu.nps.moves.dis.MinefieldQueryPdu +
        +
      setSequenceNumber(int) - +Method in class edu.nps.moves.dis.EnvironmentalProcessPdu +
        +
      setServiceRequestPadding(short) - +Method in class edu.nps.moves.dis.ServiceRequestPdu +
        +
      setServiceTypeRequested(short) - +Method in class edu.nps.moves.dis.ServiceRequestPdu +
        +
      setServicingEntityID(EntityID) - +Method in class edu.nps.moves.dis.ServiceRequestPdu +
        +
      setShaftRPMRateOfChange(float) - +Method in class edu.nps.moves.dis.ShaftRPMs +
        +
      setShaftRPMs(List<ShaftRPMs>) - +Method in class edu.nps.moves.dis.UaPdu +
        +
      setSilentAggregateSystemList(List<EntityType>) - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      setSilentEntitySystemList(List<EntityType>) - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      setSimulationTime(ClockTime) - +Method in class edu.nps.moves.dis.StartResumePdu +
        +
      setSimulationTime(ClockTime) - +Method in class edu.nps.moves.dis.StartResumeReliablePdu +
        +
      setSingleTcpPort(int) - +Method in class edu.nps.moves.disutil.NioServer +
      Convenience method for clearing all bindings and + setting up listening for TCP on the given port. +
      setSingleUdpPort(int) - +Method in class edu.nps.moves.disutil.NioServer +
      Convenience method for clearing all bindings and + setting up listening for UDP on the given port. +
      setSingleUdpPort(int, String) - +Method in class edu.nps.moves.disutil.NioServer +
      Convenience method for clearing all bindings and + setting up listening for UDP on the given port + and joining the provided multicast group. +
      setSite(int) - +Method in class edu.nps.moves.dis.AggregateID +
        +
      setSite(int) - +Method in class edu.nps.moves.dis.EntityID +
        +
      setSite(int) - +Method in class edu.nps.moves.dis.EventID +
        +
      setSite(int) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setSite(int) - +Method in class edu.nps.moves.dis.SimulationAddress +
        +
      setSourceCommunicationsDeviceID(short) - +Method in class edu.nps.moves.dis.IntercomControlPdu +
        +
      setSourceEntityID(EntityID) - +Method in class edu.nps.moves.dis.IntercomControlPdu +
        +
      setSourceLineID(short) - +Method in class edu.nps.moves.dis.IntercomControlPdu +
        +
      setSpecific(short) - +Method in class edu.nps.moves.dis.AggregateType +
        +
      setSpecific(short) - +Method in class edu.nps.moves.dis.EntityType +
        +
      setSpecific(short) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setSpreadSpectrum(int) - +Method in class edu.nps.moves.dis.ModulationType +
        +
      setState(NioServer.State) - +Method in class edu.nps.moves.disutil.NioServer +
      Sets the state and fires an event. +
      setStateChangeIndicator(byte) - +Method in class edu.nps.moves.dis.UaPdu +
        +
      setStateUpdateIndicator(short) - +Method in class edu.nps.moves.dis.ElectronicEmissionsPdu +
        +
      setStationName(int) - +Method in class edu.nps.moves.dis.NamedLocation +
        +
      setStationNumber(int) - +Method in class edu.nps.moves.dis.NamedLocation +
        +
      setSubcategory(short) - +Method in class edu.nps.moves.dis.AggregateType +
        +
      setSubcategory(short) - +Method in class edu.nps.moves.dis.EntityType +
        +
      setSubcategory(short) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setSubcategory(short) - +Method in class edu.nps.moves.dis.ObjectType +
        +
      setSupplies(List<SupplyQuantity>) - +Method in class edu.nps.moves.dis.ResupplyOfferPdu +
        +
      setSupplies(List<SupplyQuantity>) - +Method in class edu.nps.moves.dis.ResupplyReceivedPdu +
        +
      setSupplies(List<SupplyQuantity>) - +Method in class edu.nps.moves.dis.ServiceRequestPdu +
        +
      setSupplyingEntityID(EntityID) - +Method in class edu.nps.moves.dis.ResupplyCancelPdu +
        +
      setSupplyingEntityID(EntityID) - +Method in class edu.nps.moves.dis.ResupplyOfferPdu +
        +
      setSupplyingEntityID(EntityID) - +Method in class edu.nps.moves.dis.ResupplyReceivedPdu +
        +
      setSupplyType(EntityType) - +Method in class edu.nps.moves.dis.SupplyQuantity +
        +
      setSystem(int) - +Method in class edu.nps.moves.dis.ModulationType +
        +
      setSystemDataLength(short) - +Method in class edu.nps.moves.dis.ElectronicEmissionSystemData +
        +
      setSystemID(SystemID) - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer1Pdu +
        +
      setSystemMode(short) - +Method in class edu.nps.moves.dis.SystemID +
        +
      setSystemName(int) - +Method in class edu.nps.moves.dis.SystemID +
        +
      setSystems(List<ElectronicEmissionSystemData>) - +Method in class edu.nps.moves.dis.ElectronicEmissionsPdu +
        +
      setSystemStatus(short) - +Method in class edu.nps.moves.dis.IffFundamentalData +
        +
      setSystemType(int) - +Method in class edu.nps.moves.dis.SystemID +
        +
      setTargetEntityID(EntityID) - +Method in class edu.nps.moves.dis.WarfareFamilyPdu +
        +
      setTcpBindings(Set<SocketAddress>) - +Method in class edu.nps.moves.disutil.NioServer +
      Sets the TCP bindings that the server should use. +
      setTdlType(int) - +Method in class edu.nps.moves.dis.IntercomSignalPdu +
        +
      setTdlType(int) - +Method in class edu.nps.moves.dis.SignalPdu +
        +
      setTheta(float) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setTheta(float) - +Method in class edu.nps.moves.dis.Orientation +
        +
      setTime(long) - +Method in class edu.nps.moves.dis.RecordQueryReliablePdu +
        +
      setTimeInterval(long) - +Method in class edu.nps.moves.dis.DataQueryPdu +
        +
      setTimeInterval(long) - +Method in class edu.nps.moves.dis.DataQueryReliablePdu +
        +
      setTimePastHour(long) - +Method in class edu.nps.moves.dis.ClockTime +
        +
      setTimestamp(long) - +Method in class edu.nps.moves.dis.Pdu +
        +
      setTotalValues(long) - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      setTrackJam(EntityID) - +Method in class edu.nps.moves.dis.TrackJamTarget +
        +
      setTrackJamTargets(List<TrackJamTarget>) - +Method in class edu.nps.moves.dis.ElectronicEmissionBeamData +
        +
      setTranferType(short) - +Method in class edu.nps.moves.dis.TransferControlRequestPdu +
        +
      setTransferEntityID(EntityID) - +Method in class edu.nps.moves.dis.TransferControlRequestPdu +
        +
      setTransmitFrequencyBandwidth(float) - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      setTransmitLineState(short) - +Method in class edu.nps.moves.dis.IntercomControlPdu +
        +
      setTransmitPriority(short) - +Method in class edu.nps.moves.dis.IntercomControlPdu +
        +
      setTransmitState(short) - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      setTransmitterEntityId(EntityID) - +Method in class edu.nps.moves.dis.ReceiverPdu +
        +
      setTransmitterRadioId(int) - +Method in class edu.nps.moves.dis.ReceiverPdu +
        +
      setUdpBindings(Map<SocketAddress, String>) - +Method in class edu.nps.moves.disutil.NioServer +
      Sets the UDP bindings that the server should use. +
      setUnitSurfaceNormal(Vector3Float) - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      setUnqueuedPdus(boolean) - +Method in class edu.nps.moves.logger.LogWriter +
      Irritating interaction with the reder thread. +
      setUpdateNumber(int) - +Method in class edu.nps.moves.dis.ArealObjectStatePdu +
        +
      setUpdateNumber(int) - +Method in class edu.nps.moves.dis.LinearObjectStatePdu +
        +
      setUpdateNumber(int) - +Method in class edu.nps.moves.dis.PointObjectStatePdu +
        +
      setUseByteBuffer(boolean) - +Method in class edu.nps.moves.disutil.PduMulticastReceiver +
      Sets whether or not to use the more efficient + ByteBuffer marshalling technique (default). +
      setUseByteBuffer(boolean) - +Method in class edu.nps.moves.disutil.PduNioMulticastReceiver +
      Sets whether or not to use the more efficient + ByteBuffer marshalling technique (default). +
      setUseCopies(boolean) - +Method in interface edu.nps.moves.net.BehaviorProducerIF +
      This is a performance option. +
      setUseCopies(boolean) - +Method in class edu.nps.moves.net.BehaviorProducerUDP +
      This is a performance option. +
      setUseFastEspdu(boolean) - +Method in class edu.nps.moves.disutil.PduMulticastReceiver +
      Sets whether or not to generate the + Fast Espdu packets (all primitive fields). +
      setUseFastEspdu(boolean) - +Method in class edu.nps.moves.disutil.PduNioMulticastReceiver +
      Sets whether or not to generate the + Fast Espdu packets (all primitive fields). +
      setUseFastPdu(boolean) - +Method in class edu.nps.moves.disutil.PduFactory +
        +
      setVariableDatumID(long) - +Method in class edu.nps.moves.dis.VariableDatum +
        +
      setVariableDatumLength(long) - +Method in class edu.nps.moves.dis.VariableDatum +
      Note that setting this value will not change the marshalled value. +
      setVariableDatumList(List<VariableDatum>) - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      setVariableDatumRecords(List<VariableDatum>) - +Method in class edu.nps.moves.dis.ActionRequestReliablePdu +
        +
      setVariableDatumRecords(List<VariableDatum>) - +Method in class edu.nps.moves.dis.ActionResponseReliablePdu +
        +
      setVariableDatumRecords(List<VariableDatum>) - +Method in class edu.nps.moves.dis.CommentReliablePdu +
        +
      setVariableDatumRecords(List<VariableDatum>) - +Method in class edu.nps.moves.dis.DataQueryReliablePdu +
        +
      setVariableDatumRecords(List<VariableDatum>) - +Method in class edu.nps.moves.dis.DataReliablePdu +
        +
      setVariableDatumRecords(List<VariableDatum>) - +Method in class edu.nps.moves.dis.EventReportReliablePdu +
        +
      setVariableDatumRecords(List<VariableDatum>) - +Method in class edu.nps.moves.dis.SetDataReliablePdu +
        +
      setVariableDatums(List<VariableDatum>) - +Method in class edu.nps.moves.dis.ActionRequestPdu +
        +
      setVariableDatums(List<VariableDatum>) - +Method in class edu.nps.moves.dis.ActionResponsePdu +
        +
      setVariableDatums(List<VariableDatum>) - +Method in class edu.nps.moves.dis.CommentPdu +
        +
      setVariableDatums(List<VariableDatum>) - +Method in class edu.nps.moves.dis.DataPdu +
        +
      setVariableDatums(List<VariableDatum>) - +Method in class edu.nps.moves.dis.DataQueryPdu +
        +
      setVariableDatums(List<VariableDatum>) - +Method in class edu.nps.moves.dis.EventReportPdu +
        +
      setVariableDatums(List<VariableDatum>) - +Method in class edu.nps.moves.dis.SetDataPdu +
        +
      setVariableDatums(List<EightByteChunk>) - +Method in class edu.nps.moves.dis.VariableDatum +
        +
      setVec(float, float, float) - +Method in class edu.nps.moves.math.Quaternion +
        +
      setVec(float[]) - +Method in class edu.nps.moves.math.Quaternion +
        +
      setVec(Vec3f) - +Method in class edu.nps.moves.math.Quaternion +
        +
      setVectorDimension(short) - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      setVectoringSystemData(List<VectoringNozzleSystemData>) - +Method in class edu.nps.moves.dis.SeesPdu +
        +
      setVelocity(Vector3Float) - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      setVelocity(Vector3Float) - +Method in class edu.nps.moves.dis.CollisionPdu +
        +
      setVelocity(Vector3Float) - +Method in class edu.nps.moves.dis.DetonationPdu +
        +
      setVelocity(Vector3Float) - +Method in class edu.nps.moves.dis.FirePdu +
        +
      setVerticalDeflectionAngle(float) - +Method in class edu.nps.moves.dis.VectoringNozzleSystemData +
        +
      setWarhead(int) - +Method in class edu.nps.moves.dis.BurstDescriptor +
        +
      setX(float) - +Method in class edu.nps.moves.dis.AngularVelocityVector +
        +
      setX(float) - +Method in class edu.nps.moves.dis.Point +
        +
      setX(double) - +Method in class edu.nps.moves.dis.Vector3Double +
        +
      setX(float) - +Method in class edu.nps.moves.dis.Vector3Float +
        +
      setXAcceleration(float) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setXAngularVelocity(float) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setXLocation(double) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setXVelocity(float) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setY(float) - +Method in class edu.nps.moves.dis.AngularVelocityVector +
        +
      setY(float) - +Method in class edu.nps.moves.dis.Point +
        +
      setY(double) - +Method in class edu.nps.moves.dis.Vector3Double +
        +
      setY(float) - +Method in class edu.nps.moves.dis.Vector3Float +
        +
      setYAcceleration(float) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setYAngularVelocity(float) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setYLocation(double) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setYVelocity(float) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setZ(float) - +Method in class edu.nps.moves.dis.AngularVelocityVector +
        +
      setZ(double) - +Method in class edu.nps.moves.dis.Vector3Double +
        +
      setZ(float) - +Method in class edu.nps.moves.dis.Vector3Float +
        +
      setZAcceleration(float) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setZAngularVelocity(float) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setZLocation(double) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      setZVelocity(float) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      shaftRPMRateOfChange - +Variable in class edu.nps.moves.dis.ShaftRPMs +
      rate of change of shaft RPMs +
      ShaftRPMs - Class in edu.nps.moves.dis
      Shaft RPMs, used in underwater acoustic clacluations.
      ShaftRPMs() - +Constructor for class edu.nps.moves.dis.ShaftRPMs +
      Constructor +
      shaftRPMs - +Variable in class edu.nps.moves.dis.UaPdu +
      shaft RPM values +
      SignalPdu - Class in edu.nps.moves.dis
      Section 5.3.8.2.
      SignalPdu() - +Constructor for class edu.nps.moves.dis.SignalPdu +
      Constructor +
      silentAggregateSystemList - +Variable in class edu.nps.moves.dis.AggregateStatePdu +
      silent entity types +
      silentEntitySystemList - +Variable in class edu.nps.moves.dis.AggregateStatePdu +
      silent entity types +
      SimulationAddress - Class in edu.nps.moves.dis
      Section 5.2.14.1.
      SimulationAddress() - +Constructor for class edu.nps.moves.dis.SimulationAddress +
      Constructor +
      SimulationManagementFamilyPdu - Class in edu.nps.moves.dis
      Section 5.3.6.
      SimulationManagementFamilyPdu() - +Constructor for class edu.nps.moves.dis.SimulationManagementFamilyPdu +
      Constructor +
      SimulationManagementWithReliabilityFamilyPdu - Class in edu.nps.moves.dis
      Section 5.3.12: Abstract superclass for reliable simulation management PDUs + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      SimulationManagementWithReliabilityFamilyPdu() - +Constructor for class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu +
      Constructor +
      simulationTime - +Variable in class edu.nps.moves.dis.StartResumePdu +
      Simulation clock time at which the simulation shall start or resume +
      simulationTime - +Variable in class edu.nps.moves.dis.StartResumeReliablePdu +
      time in simulation for the simulation to resume +
      SINGLE_TCP_PORT_PROP - +Static variable in class edu.nps.moves.disutil.NioServer +
        +
      SINGLE_UDP_PORT_PROP - +Static variable in class edu.nps.moves.disutil.NioServer +
        +
      site - +Variable in class edu.nps.moves.dis.AggregateID +
      The site ID +
      site - +Variable in class edu.nps.moves.dis.EntityID +
      The site ID +
      site - +Variable in class edu.nps.moves.dis.EventID +
      The site ID +
      site - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      The site ID +
      site - +Variable in class edu.nps.moves.dis.SimulationAddress +
      The site ID +
      SixByteChunk - Class in edu.nps.moves.dis
      48 bit piece of data + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      SixByteChunk() - +Constructor for class edu.nps.moves.dis.SixByteChunk +
      Constructor +
      slerp(Quaternion, Quaternion, float, int) - +Method in class edu.nps.moves.math.Quaternion +
        +
      sourceCommunicationsDeviceID - +Variable in class edu.nps.moves.dis.IntercomControlPdu +
      The specific intercom device being simulated within an entity. +
      sourceEntityID - +Variable in class edu.nps.moves.dis.IntercomControlPdu +
      Source entity ID +
      sourceLineID - +Variable in class edu.nps.moves.dis.IntercomControlPdu +
      Line number to which the intercom control refers +
      specific - +Variable in class edu.nps.moves.dis.AggregateType +
      specific info based on subcategory field +
      specific - +Variable in class edu.nps.moves.dis.EntityType +
      specific info based on subcategory field +
      specific - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      specific info based on subcategory field +
      SphericalHarmonicAntennaPattern - Class in edu.nps.moves.dis
      Section 5.2.4.3.
      SphericalHarmonicAntennaPattern() - +Constructor for class edu.nps.moves.dis.SphericalHarmonicAntennaPattern +
      Constructor +
      spreadSpectrum - +Variable in class edu.nps.moves.dis.ModulationType +
      spread spectrum, 16 bit boolean array +
      stall - +Variable in class edu.nps.moves.deadreckoning.DIS_DeadReckoning +
      How long to wait between updates +
      start() - +Method in class edu.nps.moves.disutil.NioServer +
      Attempts to start the server listening and returns immediately. +
      start() - +Method in class edu.nps.moves.disutil.UdpServer +
      Attempts to start the server listening and returns immediately. +
      StartResumePdu - Class in edu.nps.moves.dis
      Section 5.2.6.3.
      StartResumePdu() - +Constructor for class edu.nps.moves.dis.StartResumePdu +
      Constructor +
      StartResumeReliablePdu - Class in edu.nps.moves.dis
      Section 5.3.12.3: Start resume simulation, relaible.
      StartResumeReliablePdu() - +Constructor for class edu.nps.moves.dis.StartResumeReliablePdu +
      Constructor +
      STATE_PROP - +Static variable in class edu.nps.moves.disutil.NioServer +
        +
      stateChangeIndicator - +Variable in class edu.nps.moves.dis.UaPdu +
      This field shall be used to indicate whether the data in the UA PDU represent a state update or data that have changed since issuance of the last UA PDU +
      stateUpdateIndicator - +Variable in class edu.nps.moves.dis.ElectronicEmissionsPdu +
      This field shall be used to indicate if the data in the PDU represents a state update or just data that has changed since issuance of the last Electromagnetic Emission PDU [relative to the identified entity and emission system(s)]. +
      stationName - +Variable in class edu.nps.moves.dis.NamedLocation +
      station name enumeration +
      stationNumber - +Variable in class edu.nps.moves.dis.NamedLocation +
      station number +
      stop() - +Method in class edu.nps.moves.disutil.NioServer +
      Attempts to stop the server, if the server is in + the STARTED state, and returns immediately. +
      stop() - +Method in class edu.nps.moves.disutil.UdpServer +
      Attempts to stop the server, if the server is in + the STARTED state, and returns immediately. +
      StopFreezePdu - Class in edu.nps.moves.dis
      Section 5.2.3.4.
      StopFreezePdu() - +Constructor for class edu.nps.moves.dis.StopFreezePdu +
      Constructor +
      StopFreezeReliablePdu - Class in edu.nps.moves.dis
      Section 5.3.12.4: Stop freeze simulation, relaible.
      StopFreezeReliablePdu() - +Constructor for class edu.nps.moves.dis.StopFreezeReliablePdu +
      Constructor +
      sub(Quaternion) - +Method in class edu.nps.moves.math.Quaternion +
        +
      sub(Quaternion, Quaternion) - +Method in class edu.nps.moves.math.Quaternion +
        +
      sub(Vec3f) - +Method in class edu.nps.moves.math.Vec3f +
        +
      sub(Vec3f, Vec3f) - +Method in class edu.nps.moves.math.Vec3f +
        +
      sub(Vec4f) - +Method in class edu.nps.moves.math.Vec4f +
        +
      sub(Vec4f, Vec4f) - +Method in class edu.nps.moves.math.Vec4f +
        +
      subcategory - +Variable in class edu.nps.moves.dis.AggregateType +
      subcategory of entity +
      subcategory - +Variable in class edu.nps.moves.dis.EntityType +
      subcategory of entity +
      subcategory - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      subcategory of entity +
      subcategory - +Variable in class edu.nps.moves.dis.ObjectType +
      subcategory of entity +
      substract(Quaternion2) - +Method in class edu.nps.moves.math.Quaternion2 +
      Substracts two quaternions +
      subtract(Matrix) - +Method in class edu.nps.moves.deadreckoning.utils.Matrix +
      Subtracts a matrix from this +
      subtract(Matrix, Matrix) - +Static method in class edu.nps.moves.deadreckoning.utils.Matrix +
      static Subtraces M2 from M1 5 = 8 - 3 +
      supplies - +Variable in class edu.nps.moves.dis.ResupplyOfferPdu +
        +
      supplies - +Variable in class edu.nps.moves.dis.ResupplyReceivedPdu +
        +
      supplies - +Variable in class edu.nps.moves.dis.ServiceRequestPdu +
        +
      supplyingEntityID - +Variable in class edu.nps.moves.dis.ResupplyCancelPdu +
      Entity that is supplying +
      supplyingEntityID - +Variable in class edu.nps.moves.dis.ResupplyOfferPdu +
      Entity that is supplying +
      supplyingEntityID - +Variable in class edu.nps.moves.dis.ResupplyReceivedPdu +
      Entity that is supplying +
      SupplyQuantity - Class in edu.nps.moves.dis
      Section 5.2.30.
      SupplyQuantity() - +Constructor for class edu.nps.moves.dis.SupplyQuantity +
      Constructor +
      supplyType - +Variable in class edu.nps.moves.dis.SupplyQuantity +
      Type of supply +
      SyntheticEnvironmentFamilyPdu - Class in edu.nps.moves.dis
      Section 5.3.11: Abstract superclass for synthetic environment PDUs + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      SyntheticEnvironmentFamilyPdu() - +Constructor for class edu.nps.moves.dis.SyntheticEnvironmentFamilyPdu +
      Constructor +
      system - +Variable in class edu.nps.moves.dis.ModulationType +
      system +
      systemDataLength - +Variable in class edu.nps.moves.dis.ElectronicEmissionSystemData +
      This field shall specify the length of this emitter system?s data (including beam data and its track/jam information) in 32-bit words. +
      systemID - +Variable in class edu.nps.moves.dis.IffAtcNavAidsLayer1Pdu +
      System ID information +
      SystemID - Class in edu.nps.moves.dis
      5.2.58.
      SystemID() - +Constructor for class edu.nps.moves.dis.SystemID +
      Constructor +
      systemMode - +Variable in class edu.nps.moves.dis.SystemID +
      System mode +
      systemName - +Variable in class edu.nps.moves.dis.SystemID +
      System name, an enumeration +
      systems - +Variable in class edu.nps.moves.dis.ElectronicEmissionsPdu +
      Electronic emmissions systems +
      systemStatus - +Variable in class edu.nps.moves.dis.IffFundamentalData +
      system status +
      systemType - +Variable in class edu.nps.moves.dis.SystemID +
      System Type +
      +
      +

      +T

      +
      +
      targetEntityID - +Variable in class edu.nps.moves.dis.WarfareFamilyPdu +
      ID of the entity that is being shot at +
      TCP_BINDINGS_PROP - +Static variable in class edu.nps.moves.disutil.NioServer +
        +
      tdlType - +Variable in class edu.nps.moves.dis.IntercomSignalPdu +
      tactical data link type +
      tdlType - +Variable in class edu.nps.moves.dis.SignalPdu +
      tdl type +
      theta - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      theta - +Variable in class edu.nps.moves.dis.Orientation +
        +
      time - +Variable in class edu.nps.moves.dis.RecordQueryReliablePdu +
      time +
      timeInterval - +Variable in class edu.nps.moves.dis.DataQueryPdu +
      time issues between issues of Data PDUs. +
      timeInterval - +Variable in class edu.nps.moves.dis.DataQueryReliablePdu +
      time interval between issuing data query PDUs +
      timePastHour - +Variable in class edu.nps.moves.dis.ClockTime +
      Time past the hour +
      timestamp - +Variable in class edu.nps.moves.dis.Pdu +
      Timestamp value +
      TimestampComparator - Class in edu.nps.moves.examples
      Uses the comparator interface to allow sorting PDUs in a collection by timestamp.
      TimestampComparator() - +Constructor for class edu.nps.moves.examples.TimestampComparator +
        +
      toAxisAngles() - +Method in class edu.nps.moves.math.Quaternion2 +
      Calculates the axis angles of quaternion for drawing, + results must be used in glRotatef() by using get() functions +
      toBody(Quaternion2) - +Method in class edu.nps.moves.math.Quaternion2 +
      Converts to body coordinates +
      toEulerAngles() - +Method in class edu.nps.moves.math.Quaternion2 +
      Converts a quaternion into Euler angles + Warning : This conversion is inherently ill-defined +
      toFloat() - +Method in class edu.nps.moves.math.Quaternion2 +
      Converts quaternion's values into float +
      toQuaternion2() - +Method in class edu.nps.moves.math.Quaternion2 +
      Calculates the quaternion value of three rotations + Current object is a 3D vector with rotation angles in quaternion form +
      toString() - +Method in class edu.nps.moves.deadreckoning.DIS_DeadReckoning +
      Pretty print the current state of this Dead Reckoning object +
      toString() - +Method in class edu.nps.moves.math.Quaternion2 +
      Overrides the toString method +
      totalValues - +Variable in class edu.nps.moves.dis.GriddedDataPdu +
      total number of all data values for all pdus for an environmental sample +
      trackJam - +Variable in class edu.nps.moves.dis.TrackJamTarget +
      track/jam target +
      TrackJamTarget - Class in edu.nps.moves.dis
      One track/jam target + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      TrackJamTarget() - +Constructor for class edu.nps.moves.dis.TrackJamTarget +
      Constructor +
      trackJamTargets - +Variable in class edu.nps.moves.dis.ElectronicEmissionBeamData +
      variable length list of track/jam targets +
      tranferType - +Variable in class edu.nps.moves.dis.TransferControlRequestPdu +
      type of transfer desired +
      TransferControlRequestPdu - Class in edu.nps.moves.dis
      Section 5.3.9.3 Information initiating the dyanic allocation and control of simulation entities between two simulation applications.
      TransferControlRequestPdu() - +Constructor for class edu.nps.moves.dis.TransferControlRequestPdu +
      Constructor +
      transferEntityID - +Variable in class edu.nps.moves.dis.TransferControlRequestPdu +
      The entity for which control is being requested to transfer +
      transmitFrequencyBandwidth - +Variable in class edu.nps.moves.dis.TransmitterPdu +
      transmit frequency Bandwidth +
      transmitLineState - +Variable in class edu.nps.moves.dis.IntercomControlPdu +
      current transmit state of the line +
      transmitPriority - +Variable in class edu.nps.moves.dis.IntercomControlPdu +
      priority of this message relative to transmissons from other intercom devices +
      transmitState - +Variable in class edu.nps.moves.dis.TransmitterPdu +
      transmit state +
      transmitterEntityId - +Variable in class edu.nps.moves.dis.ReceiverPdu +
      ID of transmitter +
      TransmitterPdu - Class in edu.nps.moves.dis
      Section 5.3.8.1.
      TransmitterPdu() - +Constructor for class edu.nps.moves.dis.TransmitterPdu +
      Constructor +
      transmitterRadioId - +Variable in class edu.nps.moves.dis.ReceiverPdu +
      ID of transmitting radio +
      transpose(Matrix) - +Static method in class edu.nps.moves.deadreckoning.utils.Matrix +
      Makes a transpose of the input matrix +
      TwoByteChunk - Class in edu.nps.moves.dis
      16 bit piece of data + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      TwoByteChunk() - +Constructor for class edu.nps.moves.dis.TwoByteChunk +
      Constructor +
      +
      +

      +U

      +
      +
      UaPdu - Class in edu.nps.moves.dis
      Section 5.3.7.3.
      UaPdu() - +Constructor for class edu.nps.moves.dis.UaPdu +
      Constructor +
      UDP_BINDINGS_PROP - +Static variable in class edu.nps.moves.disutil.NioServer +
        +
      UdpServer - Class in edu.nps.moves.disutil
      Used in support of PduMulticastReceiver.
      UdpServer() - +Constructor for class edu.nps.moves.disutil.UdpServer +
      Constructs a new UdpServer that will listen on the default port 8000 + (but not until UdpServer.start() is called). +
      UdpServer(int) - +Constructor for class edu.nps.moves.disutil.UdpServer +
      Constructs a new UdpServer that will listen on the given port + (but not until UdpServer.start() is called). +
      UdpServer(int, ThreadFactory) - +Constructor for class edu.nps.moves.disutil.UdpServer +
      Constructs a new UdpServer that will listen on the given port + (but not until UdpServer.start() is called). +
      UdpServer.Adapter - Class in edu.nps.moves.disutil
      A helper class that implements all methods of the + UdpServer.Listener interface with empty methods.
      UdpServer.Adapter() - +Constructor for class edu.nps.moves.disutil.UdpServer.Adapter +
        +
      UdpServer.Event - Class in edu.nps.moves.disutil
      An event representing activity by a UdpServer.
      UdpServer.Event(UdpServer) - +Constructor for class edu.nps.moves.disutil.UdpServer.Event +
      Creates a Event based on the given UdpServer. +
      UdpServer.Listener - Interface in edu.nps.moves.disutil
      An interface for listening to events from a UdpServer.
      UdpServer.State - Enum in edu.nps.moves.disutil
      One of four possible states for the server to be in:
      udpServerPacketReceived(UdpServer.Event) - +Method in class edu.nps.moves.disutil.UdpServer.Adapter +
      Empty call for UdpServer.Listener.udpServerPacketReceived(edu.nps.moves.disutil.UdpServer.Event). +
      udpServerPacketReceived(UdpServer.Event) - +Method in interface edu.nps.moves.disutil.UdpServer.Listener +
      Called when a packet is received. +
      udpServerStateChanged(UdpServer.Event) - +Method in class edu.nps.moves.disutil.UdpServer.Adapter +
      Empty call for UdpServer.Listener.udpServerStateChanged(edu.nps.moves.disutil.UdpServer.Event). +
      udpServerStateChanged(UdpServer.Event) - +Method in interface edu.nps.moves.disutil.UdpServer.Listener +
      Called when the state of the server has changed, such as + "starting" or "stopped." +
      unitSurfaceNormal - +Variable in class edu.nps.moves.dis.CollisionElasticPdu +
      This record shall represent the normal vector to the surface at the point of collision detection. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.AcknowledgePdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.AcknowledgePdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.AcknowledgeReliablePdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.AcknowledgeReliablePdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.AcousticBeamData +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.AcousticBeamData +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.AcousticBeamFundamentalParameter +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.AcousticBeamFundamentalParameter +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.AcousticEmitter +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.AcousticEmitter +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.AcousticEmitterSystem +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.AcousticEmitterSystem +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.AcousticEmitterSystemData +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.AcousticEmitterSystemData +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.ActionRequestPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ActionRequestPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.ActionRequestReliablePdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ActionRequestReliablePdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.ActionResponsePdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ActionResponsePdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.ActionResponseReliablePdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ActionResponseReliablePdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.AggregateID +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.AggregateID +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.AggregateMarking +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.AggregateMarking +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.AggregateStatePdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.AggregateStatePdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.AggregateType +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.AggregateType +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.AngularVelocityVector +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.AngularVelocityVector +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.AntennaLocation +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.AntennaLocation +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.ApaData +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ApaData +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.ArealObjectStatePdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ArealObjectStatePdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.ArticulationParameter +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ArticulationParameter +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.BeamAntennaPattern +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.BeamAntennaPattern +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.BeamData +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.BeamData +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.BurstDescriptor +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.BurstDescriptor +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.ClockTime +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ClockTime +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.CollisionElasticPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.CollisionPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.CollisionPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.CommentPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.CommentPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.CommentReliablePdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.CommentReliablePdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.CreateEntityPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.CreateEntityPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.CreateEntityReliablePdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.CreateEntityReliablePdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.DataPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.DataPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.DataQueryPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.DataQueryPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.DataQueryReliablePdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.DataQueryReliablePdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.DataReliablePdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.DataReliablePdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.DeadReckoningParameter +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.DeadReckoningParameter +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.DesignatorPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.DesignatorPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.DetonationPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.DetonationPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.DistributedEmissionsFamilyPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.DistributedEmissionsFamilyPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.EightByteChunk +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.EightByteChunk +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.ElectronicEmissionBeamData +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ElectronicEmissionBeamData +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.ElectronicEmissionsPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ElectronicEmissionsPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.ElectronicEmissionSystemData +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ElectronicEmissionSystemData +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.EmitterSystem +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.EmitterSystem +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.EntityID +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.EntityID +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.EntityInformationFamilyPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.EntityInformationFamilyPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.EntityManagementFamilyPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.EntityManagementFamilyPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.EntityStatePdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.EntityStatePdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.EntityStateUpdatePdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.EntityStateUpdatePdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.EntityType +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.EntityType +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.Environment +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.Environment +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.EnvironmentalProcessPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.EnvironmentalProcessPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.EventID +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.EventID +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.EventReportPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.EventReportPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.EventReportReliablePdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.EventReportReliablePdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.FastEntityStatePdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.FirePdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.FirePdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.FixedDatum +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.FixedDatum +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.FourByteChunk +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.FourByteChunk +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.FundamentalParameterData +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.FundamentalParameterData +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.FundamentalParameterDataIff +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.FundamentalParameterDataIff +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.GridAxisRecord +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.GridAxisRecord +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation0 +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation0 +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation1 +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation1 +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation2 +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.GridAxisRecordRepresentation2 +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.GriddedDataPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.GriddedDataPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer1Pdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer1Pdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer2Pdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.IffAtcNavAidsLayer2Pdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.IffFundamentalData +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.IffFundamentalData +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.IntercomCommunicationsParameters +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.IntercomCommunicationsParameters +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.IntercomControlPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.IntercomControlPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.IntercomSignalPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.IntercomSignalPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.IsGroupOfPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.IsGroupOfPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.IsPartOfPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.IsPartOfPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.LayerHeader +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.LayerHeader +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.LinearObjectStatePdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.LinearObjectStatePdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.LinearSegmentParameter +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.LinearSegmentParameter +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.LogisticsFamilyPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.LogisticsFamilyPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.Marking +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.Marking +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.MinefieldDataPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.MinefieldFamilyPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.MinefieldFamilyPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.MinefieldQueryPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.MinefieldQueryPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.MinefieldResponseNackPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.MinefieldResponseNackPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.MinefieldStatePdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.MinefieldStatePdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.ModulationType +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ModulationType +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.NamedLocation +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.NamedLocation +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.ObjectType +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ObjectType +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.OneByteChunk +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.OneByteChunk +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.Orientation +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.Orientation +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.Pdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.Pdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.PduContainer +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.PduContainer +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.Point +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.Point +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.PointObjectStatePdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.PointObjectStatePdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.PropulsionSystemData +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.PropulsionSystemData +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.RadioCommunicationsFamilyPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.RadioCommunicationsFamilyPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.RadioEntityType +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.RadioEntityType +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.ReceiverPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ReceiverPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.RecordQueryReliablePdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.RecordQueryReliablePdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.RecordSet +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.RecordSet +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.Relationship +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.Relationship +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.RemoveEntityPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.RemoveEntityPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.RemoveEntityReliablePdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.RemoveEntityReliablePdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.RepairCompletePdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.RepairCompletePdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.RepairResponsePdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.RepairResponsePdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.ResupplyCancelPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ResupplyCancelPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.ResupplyOfferPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ResupplyOfferPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.ResupplyReceivedPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ResupplyReceivedPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.SeesPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.SeesPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.ServiceRequestPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ServiceRequestPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.SetDataPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.SetDataPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.SetDataReliablePdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.SetDataReliablePdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.SetRecordReliablePdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.SetRecordReliablePdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.ShaftRPMs +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.ShaftRPMs +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.SignalPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.SignalPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.SimulationAddress +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.SimulationAddress +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.SimulationManagementFamilyPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.SimulationManagementFamilyPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.SixByteChunk +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.SixByteChunk +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.SphericalHarmonicAntennaPattern +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.SphericalHarmonicAntennaPattern +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.StartResumePdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.StartResumePdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.StartResumeReliablePdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.StartResumeReliablePdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.StopFreezePdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.StopFreezePdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.StopFreezeReliablePdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.StopFreezeReliablePdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.SupplyQuantity +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.SupplyQuantity +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.SyntheticEnvironmentFamilyPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.SyntheticEnvironmentFamilyPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.SystemID +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.SystemID +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.TrackJamTarget +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.TrackJamTarget +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.TransferControlRequestPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.TransferControlRequestPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.TransmitterPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.TransmitterPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.TwoByteChunk +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.TwoByteChunk +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.UaPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.UaPdu +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.VariableDatum +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.VariableDatum +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.Vector3Double +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.Vector3Double +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.Vector3Float +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.Vector3Float +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.VectoringNozzleSystemData +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.VectoringNozzleSystemData +
      Unpacks a Pdu from the underlying data. +
      unmarshal(DataInputStream) - +Method in class edu.nps.moves.dis.WarfareFamilyPdu +
        +
      unmarshal(ByteBuffer) - +Method in class edu.nps.moves.dis.WarfareFamilyPdu +
      Unpacks a Pdu from the underlying data. +
      updateNumber - +Variable in class edu.nps.moves.dis.ArealObjectStatePdu +
      unique update number of each state transition of an object +
      updateNumber - +Variable in class edu.nps.moves.dis.LinearObjectStatePdu +
      unique update number of each state transition of an object +
      updateNumber - +Variable in class edu.nps.moves.dis.PointObjectStatePdu +
      unique update number of each state transition of an object +
      USE_FAST_ESPDU - +Static variable in class edu.nps.moves.examples.ReceiverPerformance +
        +
      +
      +

      +V

      +
      +
      valueOf(String) - +Static method in enum edu.nps.moves.disutil.NioServer.State +
      Returns the enum constant of this type with the specified name. +
      valueOf(String) - +Static method in enum edu.nps.moves.disutil.UdpServer.State +
      Returns the enum constant of this type with the specified name. +
      values() - +Static method in enum edu.nps.moves.disutil.NioServer.State +
      Returns an array containing the constants of this enum type, in +the order they're declared. +
      values() - +Static method in enum edu.nps.moves.disutil.UdpServer.State +
      Returns an array containing the constants of this enum type, in +the order they're declared. +
      VariableDatum - Class in edu.nps.moves.dis
      Section 5.2.32.
      VariableDatum() - +Constructor for class edu.nps.moves.dis.VariableDatum +
      Constructor +
      variableDatumID - +Variable in class edu.nps.moves.dis.VariableDatum +
      ID of the variable datum +
      variableDatumLength - +Variable in class edu.nps.moves.dis.VariableDatum +
      length of the variable datums +
      variableDatumList - +Variable in class edu.nps.moves.dis.AggregateStatePdu +
      variableDatums +
      variableDatumRecords - +Variable in class edu.nps.moves.dis.ActionRequestReliablePdu +
      Variable datum records +
      variableDatumRecords - +Variable in class edu.nps.moves.dis.ActionResponseReliablePdu +
      Variable datum records +
      variableDatumRecords - +Variable in class edu.nps.moves.dis.CommentReliablePdu +
      Variable datum records +
      variableDatumRecords - +Variable in class edu.nps.moves.dis.DataQueryReliablePdu +
      Variable datum records +
      variableDatumRecords - +Variable in class edu.nps.moves.dis.DataReliablePdu +
      Variable datum records +
      variableDatumRecords - +Variable in class edu.nps.moves.dis.EventReportReliablePdu +
      Variable datum records +
      variableDatumRecords - +Variable in class edu.nps.moves.dis.SetDataReliablePdu +
      Variable datum records +
      variableDatums - +Variable in class edu.nps.moves.dis.ActionRequestPdu +
      variable length list of variable length datums +
      variableDatums - +Variable in class edu.nps.moves.dis.ActionResponsePdu +
      variable length list of variable length datums +
      variableDatums - +Variable in class edu.nps.moves.dis.CommentPdu +
      variable length list of variable length datums +
      variableDatums - +Variable in class edu.nps.moves.dis.DataPdu +
      variable length list of variable length datums +
      variableDatums - +Variable in class edu.nps.moves.dis.DataQueryPdu +
      variable length list of variable length datums +
      variableDatums - +Variable in class edu.nps.moves.dis.EventReportPdu +
      variable length list of variable length datums +
      variableDatums - +Variable in class edu.nps.moves.dis.SetDataPdu +
      variable length list of variable length datums +
      variableDatums - +Variable in class edu.nps.moves.dis.VariableDatum +
      variable length list of 64-bit datums +
      Vec3f - Class in edu.nps.moves.math
      EXECUTIVE SUMMARY + Module Name: Vec3f.java + Description: Definition of the Vec3f class
      Vec3f() - +Constructor for class edu.nps.moves.math.Vec3f +
        +
      Vec3f(float, float, float) - +Constructor for class edu.nps.moves.math.Vec3f +
        +
      Vec3f(float[]) - +Constructor for class edu.nps.moves.math.Vec3f +
        +
      Vec3f(Vec3f) - +Constructor for class edu.nps.moves.math.Vec3f +
        +
      Vec4f - Class in edu.nps.moves.math
      EXECUTIVE SUMMARY + Module Name: Vec4f.java + Description: Definition of the Vec4f class + Author: Kent A.
      Vec4f() - +Constructor for class edu.nps.moves.math.Vec4f +
        +
      Vec4f(float, float, float, float) - +Constructor for class edu.nps.moves.math.Vec4f +
        +
      Vec4f(float[]) - +Constructor for class edu.nps.moves.math.Vec4f +
        +
      Vec4f(Vec4f) - +Constructor for class edu.nps.moves.math.Vec4f +
        +
      Vector3Double - Class in edu.nps.moves.dis
      Section 5.3.34.
      Vector3Double() - +Constructor for class edu.nps.moves.dis.Vector3Double +
      Constructor +
      Vector3Float - Class in edu.nps.moves.dis
      Section 5.2.33.
      Vector3Float() - +Constructor for class edu.nps.moves.dis.Vector3Float +
      Constructor +
      vectorDimension - +Variable in class edu.nps.moves.dis.GriddedDataPdu +
      total number of data values at each grid point. +
      VectoringNozzleSystemData - Class in edu.nps.moves.dis
      Data about a vectoring nozzle system + + Copyright (c) 2008, MOVES Institute, Naval Postgraduate School.
      VectoringNozzleSystemData() - +Constructor for class edu.nps.moves.dis.VectoringNozzleSystemData +
      Constructor +
      vectoringSystemData - +Variable in class edu.nps.moves.dis.SeesPdu +
      variable length list of vectoring system data +
      velocity - +Variable in class edu.nps.moves.dis.AggregateStatePdu +
      velocity of aggregation +
      velocity - +Variable in class edu.nps.moves.dis.CollisionPdu +
      velocity at collision +
      velocity - +Variable in class edu.nps.moves.dis.DetonationPdu +
      ID firing event +
      velocity - +Variable in class edu.nps.moves.dis.FirePdu +
      Velocity of the ammunition +
      verticalDeflectionAngle - +Variable in class edu.nps.moves.dis.VectoringNozzleSystemData +
      vertical deflection angle +
      +
      +

      +W

      +
      +
      WarfareFamilyPdu - Class in edu.nps.moves.dis
      Section 5.3.4.
      WarfareFamilyPdu() - +Constructor for class edu.nps.moves.dis.WarfareFamilyPdu +
      Constructor +
      warhead - +Variable in class edu.nps.moves.dis.BurstDescriptor +
      type of warhead +
      write(Pdu) - +Method in class edu.nps.moves.net.BehaviorProducerUDP +
      Write a PDU to the default destination +
      write(Pdu, Object) - +Method in class edu.nps.moves.net.BehaviorProducerUDP +
      Write a DIS pdu to the destination described by the object +
      write(Pdu, Object, Object) - +Method in class edu.nps.moves.net.BehaviorProducerUDP +
      Write a DIS PDU to the destination described by the objects. +
      write(Pdu, Object[]) - +Method in class edu.nps.moves.net.BehaviorProducerUDP +
      write the DIS pdu to the destination described by the array of objects. +
      write(Pdu) - +Method in interface edu.nps.moves.net.BehaviorWriterIF +
      Write a PDU to the default destination +
      write(Pdu, Object) - +Method in interface edu.nps.moves.net.BehaviorWriterIF +
      Write a DIS pdu to the destination described by the object +
      write(Pdu, Object, Object) - +Method in interface edu.nps.moves.net.BehaviorWriterIF +
      Write a DIS PDU to the destination described by the objects. +
      write(Pdu, Object[]) - +Method in interface edu.nps.moves.net.BehaviorWriterIF +
      write the DIS pdu to the destination described by the array of objects. +
      +
      +

      +X

      +
      +
      x - +Variable in class edu.nps.moves.dis.AngularVelocityVector +
      velocity about the x axis +
      x - +Variable in class edu.nps.moves.dis.Point +
      x +
      x - +Variable in class edu.nps.moves.dis.Vector3Double +
      X value +
      x - +Variable in class edu.nps.moves.dis.Vector3Float +
      X value +
      xAcceleration - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      X value +
      xAngularVelocity - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      X value +
      xform(Vec3f) - +Method in class edu.nps.moves.math.Matrix3f +
        +
      xform(float[]) - +Method in class edu.nps.moves.math.Matrix3f +
        +
      xform(Vec4f) - +Method in class edu.nps.moves.math.Matrix4f +
        +
      xform(float[]) - +Method in class edu.nps.moves.math.Matrix4f +
        +
      xform(Vec3f) - +Method in class edu.nps.moves.math.Quaternion +
        +
      xform(float[]) - +Method in class edu.nps.moves.math.Quaternion +
        +
      xform(Matrix3f) - +Method in class edu.nps.moves.math.Vec3f +
        +
      xform(Matrix3f, Vec3f) - +Method in class edu.nps.moves.math.Vec3f +
        +
      xform(Matrix4f) - +Method in class edu.nps.moves.math.Vec4f +
        +
      xform(Matrix4f, Vec4f) - +Method in class edu.nps.moves.math.Vec4f +
        +
      xLocation - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      X value +
      xVelocity - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      X velo +
      +
      +

      +Y

      +
      +
      y - +Variable in class edu.nps.moves.dis.AngularVelocityVector +
      velocity about the y axis +
      y - +Variable in class edu.nps.moves.dis.Point +
      y +
      y - +Variable in class edu.nps.moves.dis.Vector3Double +
      Y value +
      y - +Variable in class edu.nps.moves.dis.Vector3Float +
      y Value +
      yAcceleration - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      y Value +
      yAngularVelocity - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      y Value +
      yLocation - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      y Value +
      yVelocity - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      y Value +
      +
      +

      +Z

      +
      +
      z - +Variable in class edu.nps.moves.dis.AngularVelocityVector +
      velocity about the zaxis +
      z - +Variable in class edu.nps.moves.dis.Vector3Double +
      Z value +
      z - +Variable in class edu.nps.moves.dis.Vector3Float +
      Z value +
      zAcceleration - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      Z value +
      zAngularVelocity - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      Z value +
      zLocation - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      Z value +
      zVelocity - +Variable in class edu.nps.moves.dis.FastEntityStatePdu +
      Z value +
      +
      +A B C D E F G H I J L M N O P Q R S T U V W X Y Z + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 00000000..493a85d7 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,39 @@ + + + + + + +Generated Documentation (Untitled) + + + + + + + + + + + +<H2> +Frame Alert</H2> + +<P> +This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. +<BR> +Link to<A HREF="overview-summary.html">Non-frame version.</A> + + + diff --git a/docs/overview-frame.html b/docs/overview-frame.html new file mode 100644 index 00000000..f39bd469 --- /dev/null +++ b/docs/overview-frame.html @@ -0,0 +1,56 @@ + + + + + + +Overview + + + + + + + + + + + + + + + +
      +
      + + + + + +
      All Classes +

      + +Packages +
      +edu.nps.moves.deadreckoning +
      +edu.nps.moves.deadreckoning.utils +
      +edu.nps.moves.dis +
      +edu.nps.moves.disutil +
      +edu.nps.moves.examples +
      +edu.nps.moves.logger +
      +edu.nps.moves.math +
      +edu.nps.moves.net +
      +

      + +

      +  + + diff --git a/docs/overview-summary.html b/docs/overview-summary.html new file mode 100644 index 00000000..d2214c26 --- /dev/null +++ b/docs/overview-summary.html @@ -0,0 +1,174 @@ + + + + + + +Overview + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +


      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +Packages
      edu.nps.moves.deadreckoning 
      edu.nps.moves.deadreckoning.utils 
      edu.nps.moves.dis 
      edu.nps.moves.disutil 
      edu.nps.moves.examples 
      edu.nps.moves.logger 
      edu.nps.moves.mathContains several useful math-related classes.
      edu.nps.moves.net 
      + +


      + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/overview-tree.html b/docs/overview-tree.html new file mode 100644 index 00000000..f47d717a --- /dev/null +++ b/docs/overview-tree.html @@ -0,0 +1,356 @@ + + + + + + +Class Hierarchy + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      +
      +

      +Hierarchy For All Packages

      +
      +
      +
      Package Hierarchies:
      edu.nps.moves.deadreckoning, edu.nps.moves.deadreckoning.utils, edu.nps.moves.dis, edu.nps.moves.disutil, edu.nps.moves.examples, edu.nps.moves.logger, edu.nps.moves.math, edu.nps.moves.net
      +
      +

      +Class Hierarchy +

      + +

      +Interface Hierarchy +

      + +

      +Enum Hierarchy +

      +
        +
      • java.lang.Object
          +
        • java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable) + +
        +
      +
      + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/package-list b/docs/package-list new file mode 100644 index 00000000..4ef9eceb --- /dev/null +++ b/docs/package-list @@ -0,0 +1,8 @@ +edu.nps.moves.deadreckoning +edu.nps.moves.deadreckoning.utils +edu.nps.moves.dis +edu.nps.moves.disutil +edu.nps.moves.examples +edu.nps.moves.logger +edu.nps.moves.math +edu.nps.moves.net diff --git a/docs/resources/inherit.gif b/docs/resources/inherit.gif new file mode 100644 index 00000000..c814867a Binary files /dev/null and b/docs/resources/inherit.gif differ diff --git a/docs/serialized-form.html b/docs/serialized-form.html new file mode 100644 index 00000000..9987caa8 --- /dev/null +++ b/docs/serialized-form.html @@ -0,0 +1,10976 @@ + + + + + + +Serialized Form + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      +
      +

      +Serialized Form

      +
      +
      + + + + + +
      +Package edu.nps.moves.deadreckoning.utils
      + +

      + + + + + +
      +Class edu.nps.moves.deadreckoning.utils.MatrixException extends java.lang.Exception implements Serializable
      + +

      +


      + + + + + +
      +Package edu.nps.moves.dis
      + +

      + + + + + +
      +Class edu.nps.moves.dis.AcknowledgePdu extends SimulationManagementFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +acknowledgeFlag

      +
      +int acknowledgeFlag
      +
      +
      type of message being acknowledged +

      +

      +
      +
      +
      +

      +responseFlag

      +
      +int responseFlag
      +
      +
      Whether or not the receiving entity was able to comply with the request +

      +

      +
      +
      +
      +

      +requestID

      +
      +long requestID
      +
      +
      Request ID that is unique +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.AcknowledgeReliablePdu extends SimulationManagementWithReliabilityFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +acknowledgeFlag

      +
      +int acknowledgeFlag
      +
      +
      ack flags +

      +

      +
      +
      +
      +

      +responseFlag

      +
      +int responseFlag
      +
      +
      response flags +

      +

      +
      +
      +
      +

      +requestID

      +
      +long requestID
      +
      +
      Request ID +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.AcousticBeamData extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +beamDataLength

      +
      +int beamDataLength
      +
      +
      beam data length +

      +

      +
      +
      +
      +

      +beamIDNumber

      +
      +short beamIDNumber
      +
      +
      beamIDNumber +

      +

      +
      +
      +
      +

      +pad2

      +
      +int pad2
      +
      +
      padding +

      +

      +
      +
      +
      +

      +fundamentalDataParameters

      +
      +AcousticBeamFundamentalParameter fundamentalDataParameters
      +
      +
      fundamental data parameters +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.AcousticBeamFundamentalParameter extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +activeEmissionParameterIndex

      +
      +int activeEmissionParameterIndex
      +
      +
      parameter index +

      +

      +
      +
      +
      +

      +scanPattern

      +
      +int scanPattern
      +
      +
      scan pattern +

      +

      +
      +
      +
      +

      +beamCenterAzimuth

      +
      +float beamCenterAzimuth
      +
      +
      beam center azimuth +

      +

      +
      +
      +
      +

      +azimuthalBeamwidth

      +
      +float azimuthalBeamwidth
      +
      +
      azimuthal beamwidth +

      +

      +
      +
      +
      +

      +beamCenterDE

      +
      +float beamCenterDE
      +
      +
      beam center +

      +

      +
      +
      +
      +

      +deBeamwidth

      +
      +float deBeamwidth
      +
      +
      DE beamwidth (vertical beamwidth) +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.AcousticEmitter extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +acousticName

      +
      +int acousticName
      +
      +
      the system for a particular UA emitter, and an enumeration +

      +

      +
      +
      +
      +

      +function

      +
      +short function
      +
      +
      The function of the acoustic system +

      +

      +
      +
      +
      +

      +acousticIdNumber

      +
      +short acousticIdNumber
      +
      +
      The UA emitter identification number relative to a specific system +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.AcousticEmitterSystem extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +acousticName

      +
      +int acousticName
      +
      +
      This field shall specify the system for a particular UA emitter. +

      +

      +
      +
      +
      +

      +acousticFunction

      +
      +short acousticFunction
      +
      +
      This field shall describe the function of the acoustic system. +

      +

      +
      +
      +
      +

      +acousticID

      +
      +short acousticID
      +
      +
      This field shall specify the UA emitter identification number relative to a specific system. This field shall be represented by an 8-bit unsigned integer. This field allows the differentiation of multiple systems on an entity, even if in some instances two or more of the systems may be identical UA emitter types. Numbering of systems shall begin with the value 1. +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.AcousticEmitterSystemData extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +emitterSystemDataLength

      +
      +short emitterSystemDataLength
      +
      +
      Length of emitter system data +

      +

      +
      +
      +
      +

      +numberOfBeams

      +
      +short numberOfBeams
      +
      +
      Number of beams +

      +

      +
      +
      +
      +

      +pad2

      +
      +int pad2
      +
      +
      padding +

      +

      +
      +
      +
      +

      +acousticEmitterSystem

      +
      +AcousticEmitterSystem acousticEmitterSystem
      +
      +
      This field shall specify the system for a particular UA emitter. +

      +

      +
      +
      +
      +

      +emitterLocation

      +
      +Vector3Float emitterLocation
      +
      +
      Represents the location wrt the entity +

      +

      +
      +
      +
      +

      +beamRecords

      +
      +java.util.List<E> beamRecords
      +
      +
      For each beam in numberOfBeams, an emitter system. This is not right--the beam records need to be at the end of the PDU, rather than attached to each system. +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.ActionRequestPdu extends SimulationManagementFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +requestID

      +
      +long requestID
      +
      +
      Request ID that is unique +

      +

      +
      +
      +
      +

      +actionID

      +
      +long actionID
      +
      +
      identifies the action being requested +

      +

      +
      +
      +
      +

      +numberOfFixedDatumRecords

      +
      +long numberOfFixedDatumRecords
      +
      +
      Number of fixed datum records +

      +

      +
      +
      +
      +

      +numberOfVariableDatumRecords

      +
      +long numberOfVariableDatumRecords
      +
      +
      Number of variable datum records +

      +

      +
      +
      +
      +

      +fixedDatums

      +
      +java.util.List<E> fixedDatums
      +
      +
      variable length list of fixed datums +

      +

      +
      +
      +
      +

      +variableDatums

      +
      +java.util.List<E> variableDatums
      +
      +
      variable length list of variable length datums +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.ActionRequestReliablePdu extends SimulationManagementWithReliabilityFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +requiredReliabilityService

      +
      +short requiredReliabilityService
      +
      +
      level of reliability service used for this transaction +

      +

      +
      +
      +
      +

      +pad1

      +
      +int pad1
      +
      +
      padding +

      +

      +
      +
      +
      +

      +pad2

      +
      +short pad2
      +
      +
      padding +

      +

      +
      +
      +
      +

      +requestID

      +
      +long requestID
      +
      +
      request ID +

      +

      +
      +
      +
      +

      +actionID

      +
      +long actionID
      +
      +
      request ID +

      +

      +
      +
      +
      +

      +numberOfFixedDatumRecords

      +
      +long numberOfFixedDatumRecords
      +
      +
      Fixed datum record count +

      +

      +
      +
      +
      +

      +numberOfVariableDatumRecords

      +
      +long numberOfVariableDatumRecords
      +
      +
      variable datum record count +

      +

      +
      +
      +
      +

      +fixedDatumRecords

      +
      +java.util.List<E> fixedDatumRecords
      +
      +
      Fixed datum records +

      +

      +
      +
      +
      +

      +variableDatumRecords

      +
      +java.util.List<E> variableDatumRecords
      +
      +
      Variable datum records +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.ActionResponsePdu extends SimulationManagementFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +requestID

      +
      +long requestID
      +
      +
      Request ID that is unique +

      +

      +
      +
      +
      +

      +requestStatus

      +
      +long requestStatus
      +
      +
      Status of response +

      +

      +
      +
      +
      +

      +numberOfFixedDatumRecords

      +
      +long numberOfFixedDatumRecords
      +
      +
      Number of fixed datum records +

      +

      +
      +
      +
      +

      +numberOfVariableDatumRecords

      +
      +long numberOfVariableDatumRecords
      +
      +
      Number of variable datum records +

      +

      +
      +
      +
      +

      +fixedDatums

      +
      +java.util.List<E> fixedDatums
      +
      +
      variable length list of fixed datums +

      +

      +
      +
      +
      +

      +variableDatums

      +
      +java.util.List<E> variableDatums
      +
      +
      variable length list of variable length datums +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.ActionResponseReliablePdu extends SimulationManagementWithReliabilityFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +requestID

      +
      +long requestID
      +
      +
      request ID +

      +

      +
      +
      +
      +

      +responseStatus

      +
      +long responseStatus
      +
      +
      status of response +

      +

      +
      +
      +
      +

      +numberOfFixedDatumRecords

      +
      +long numberOfFixedDatumRecords
      +
      +
      Fixed datum record count +

      +

      +
      +
      +
      +

      +numberOfVariableDatumRecords

      +
      +long numberOfVariableDatumRecords
      +
      +
      variable datum record count +

      +

      +
      +
      +
      +

      +fixedDatumRecords

      +
      +java.util.List<E> fixedDatumRecords
      +
      +
      Fixed datum records +

      +

      +
      +
      +
      +

      +variableDatumRecords

      +
      +java.util.List<E> variableDatumRecords
      +
      +
      Variable datum records +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.AggregateID extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +site

      +
      +int site
      +
      +
      The site ID +

      +

      +
      +
      +
      +

      +application

      +
      +int application
      +
      +
      The application ID +

      +

      +
      +
      +
      +

      +aggregateID

      +
      +int aggregateID
      +
      +
      the aggregate ID +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.AggregateMarking extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +characterSet

      +
      +short characterSet
      +
      +
      The character set +

      +

      +
      +
      +
      +

      +characters

      +
      +byte[] characters
      +
      +
      The characters +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.AggregateStatePdu extends EntityManagementFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +aggregateID

      +
      +EntityID aggregateID
      +
      +
      ID of aggregated entities +

      +

      +
      +
      +
      +

      +forceID

      +
      +short forceID
      +
      +
      force ID +

      +

      +
      +
      +
      +

      +aggregateState

      +
      +short aggregateState
      +
      +
      state of aggregate +

      +

      +
      +
      +
      +

      +aggregateType

      +
      +EntityType aggregateType
      +
      +
      entity type of the aggregated entities +

      +

      +
      +
      +
      +

      +formation

      +
      +long formation
      +
      +
      formation of aggregated entities +

      +

      +
      +
      +
      +

      +aggregateMarking

      +
      +AggregateMarking aggregateMarking
      +
      +
      marking for aggregate; first char is charset type, rest is char data +

      +

      +
      +
      +
      +

      +dimensions

      +
      +Vector3Float dimensions
      +
      +
      dimensions of bounding box for the aggregated entities, origin at the center of mass +

      +

      +
      +
      +
      +

      +orientation

      +
      +Orientation orientation
      +
      +
      orientation of the bounding box +

      +

      +
      +
      +
      +

      +centerOfMass

      +
      +Vector3Double centerOfMass
      +
      +
      center of mass of the aggregation +

      +

      +
      +
      +
      +

      +velocity

      +
      +Vector3Float velocity
      +
      +
      velocity of aggregation +

      +

      +
      +
      +
      +

      +numberOfDisAggregates

      +
      +int numberOfDisAggregates
      +
      +
      number of aggregates +

      +

      +
      +
      +
      +

      +numberOfDisEntities

      +
      +int numberOfDisEntities
      +
      +
      number of entities +

      +

      +
      +
      +
      +

      +numberOfSilentAggregateTypes

      +
      +int numberOfSilentAggregateTypes
      +
      +
      number of silent aggregate types +

      +

      +
      +
      +
      +

      +numberOfSilentEntityTypes

      +
      +int numberOfSilentEntityTypes
      +
      +
      number of silent entity types +

      +

      +
      +
      +
      +

      +aggregateIDList

      +
      +java.util.List<E> aggregateIDList
      +
      +
      aggregates list +

      +

      +
      +
      +
      +

      +entityIDList

      +
      +java.util.List<E> entityIDList
      +
      +
      entity ID list +

      +

      +
      +
      +
      +

      +pad2

      +
      +short pad2
      +
      +
      +
      +
      +
      +

      +silentAggregateSystemList

      +
      +java.util.List<E> silentAggregateSystemList
      +
      +
      silent entity types +

      +

      +
      +
      +
      +

      +silentEntitySystemList

      +
      +java.util.List<E> silentEntitySystemList
      +
      +
      silent entity types +

      +

      +
      +
      +
      +

      +numberOfVariableDatumRecords

      +
      +long numberOfVariableDatumRecords
      +
      +
      number of variable datum records +

      +

      +
      +
      +
      +

      +variableDatumList

      +
      +java.util.List<E> variableDatumList
      +
      +
      variableDatums +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.AggregateType extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +aggregateKind

      +
      +short aggregateKind
      +
      +
      Kind of entity +

      +

      +
      +
      +
      +

      +domain

      +
      +short domain
      +
      +
      Domain of entity (air, surface, subsurface, space, etc) +

      +

      +
      +
      +
      +

      +country

      +
      +int country
      +
      +
      country to which the design of the entity is attributed +

      +

      +
      +
      +
      +

      +category

      +
      +short category
      +
      +
      category of entity +

      +

      +
      +
      +
      +

      +subcategory

      +
      +short subcategory
      +
      +
      subcategory of entity +

      +

      +
      +
      +
      +

      +specific

      +
      +short specific
      +
      +
      specific info based on subcategory field +

      +

      +
      +
      +
      +

      +extra

      +
      +short extra
      +
      +
      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.AngularVelocityVector extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +x

      +
      +float x
      +
      +
      velocity about the x axis +

      +

      +
      +
      +
      +

      +y

      +
      +float y
      +
      +
      velocity about the y axis +

      +

      +
      +
      +
      +

      +z

      +
      +float z
      +
      +
      velocity about the zaxis +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.AntennaLocation extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +antennaLocation

      +
      +Vector3Double antennaLocation
      +
      +
      Location of the radiating portion of the antenna in world coordinates +

      +

      +
      +
      +
      +

      +relativeAntennaLocation

      +
      +Vector3Float relativeAntennaLocation
      +
      +
      Location of the radiating portion of the antenna in entity coordinates +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.ApaData extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +parameterIndex

      +
      +int parameterIndex
      +
      +
      Index of APA parameter +

      +

      +
      +
      +
      +

      +parameterValue

      +
      +short parameterValue
      +
      +
      Index of APA parameter +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.ArealObjectStatePdu extends SyntheticEnvironmentFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +objectID

      +
      +EntityID objectID
      +
      +
      Object in synthetic environment +

      +

      +
      +
      +
      +

      +referencedObjectID

      +
      +EntityID referencedObjectID
      +
      +
      Object with which this point object is associated +

      +

      +
      +
      +
      +

      +updateNumber

      +
      +int updateNumber
      +
      +
      unique update number of each state transition of an object +

      +

      +
      +
      +
      +

      +forceID

      +
      +short forceID
      +
      +
      force ID +

      +

      +
      +
      +
      +

      +modifications

      +
      +short modifications
      +
      +
      modifications enumeration +

      +

      +
      +
      +
      +

      +objectType

      +
      +EntityType objectType
      +
      +
      Object type +

      +

      +
      +
      +
      +

      +objectAppearance

      +
      +SixByteChunk objectAppearance
      +
      +
      Object appearance +

      +

      +
      +
      +
      +

      +numberOfPoints

      +
      +int numberOfPoints
      +
      +
      Number of points +

      +

      +
      +
      +
      +

      +requesterID

      +
      +SimulationAddress requesterID
      +
      +
      requesterID +

      +

      +
      +
      +
      +

      +receivingID

      +
      +SimulationAddress receivingID
      +
      +
      receiver ID +

      +

      +
      +
      +
      +

      +objectLocation

      +
      +java.util.List<E> objectLocation
      +
      +
      location of object +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.ArticulationParameter extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +parameterTypeDesignator

      +
      +short parameterTypeDesignator
      +
      +
      +
      +
      +
      +

      +changeIndicator

      +
      +short changeIndicator
      +
      +
      +
      +
      +
      +

      +partAttachedTo

      +
      +int partAttachedTo
      +
      +
      +
      +
      +
      +

      +parameterType

      +
      +int parameterType
      +
      +
      +
      +
      +
      +

      +parameterValue

      +
      +double parameterValue
      +
      +
      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.BeamAntennaPattern extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +beamDirection

      +
      +Orientation beamDirection
      +
      +
      The rotation that transformst he reference coordinate sytem into the beam coordinate system. Either world coordinates or entity coordinates may be used as the reference coordinate system, as specified by teh reference system field of the antenna pattern record. +

      +

      +
      +
      +
      +

      +azimuthBeamwidth

      +
      +float azimuthBeamwidth
      +
      +
      +
      +
      +
      +

      +referenceSystem

      +
      +float referenceSystem
      +
      +
      +
      +
      +
      +

      +padding1

      +
      +short padding1
      +
      +
      +
      +
      +
      +

      +padding2

      +
      +byte padding2
      +
      +
      +
      +
      +
      +

      +ez

      +
      +float ez
      +
      +
      Magnigute of the z-component in beam coordinates at some arbitrary single point in the mainbeam and in the far field of the antenna. +

      +

      +
      +
      +
      +

      +ex

      +
      +float ex
      +
      +
      Magnigute of the x-component in beam coordinates at some arbitrary single point in the mainbeam and in the far field of the antenna. +

      +

      +
      +
      +
      +

      +phase

      +
      +float phase
      +
      +
      THe phase angle between Ez and Ex in radians. +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.BeamData extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +beamAzimuthCenter

      +
      +float beamAzimuthCenter
      +
      +
      Specifies the beam azimuth an elevation centers and corresponding half-angles to describe the scan volume +

      +

      +
      +
      +
      +

      +beamAzimuthSweep

      +
      +float beamAzimuthSweep
      +
      +
      Specifies the beam azimuth sweep to determine scan volume +

      +

      +
      +
      +
      +

      +beamElevationCenter

      +
      +float beamElevationCenter
      +
      +
      Specifies the beam elevation center to determine scan volume +

      +

      +
      +
      +
      +

      +beamElevationSweep

      +
      +float beamElevationSweep
      +
      +
      Specifies the beam elevation sweep to determine scan volume +

      +

      +
      +
      +
      +

      +beamSweepSync

      +
      +float beamSweepSync
      +
      +
      allows receiver to synchronize its regenerated scan pattern to that of the emmitter. Specifies the percentage of time a scan is through its pattern from its origion. +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.BurstDescriptor extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +munition

      +
      +EntityType munition
      +
      +
      What munition was used in the burst +

      +

      +
      +
      +
      +

      +warhead

      +
      +int warhead
      +
      +
      type of warhead +

      +

      +
      +
      +
      +

      +fuse

      +
      +int fuse
      +
      +
      type of fuse used +

      +

      +
      +
      +
      +

      +quantity

      +
      +int quantity
      +
      +
      how many of the munition were fired +

      +

      +
      +
      +
      +

      +rate

      +
      +int rate
      +
      +
      rate at which the munition was fired +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.ClockTime extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +hour

      +
      +int hour
      +
      +
      Hours in UTC +

      +

      +
      +
      +
      +

      +timePastHour

      +
      +long timePastHour
      +
      +
      Time past the hour +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.CollisionElasticPdu extends EntityInformationFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +issuingEntityID

      +
      +EntityID issuingEntityID
      +
      +
      ID of the entity that issued the collision PDU +

      +

      +
      +
      +
      +

      +collidingEntityID

      +
      +EntityID collidingEntityID
      +
      +
      ID of entity that has collided with the issuing entity ID +

      +

      +
      +
      +
      +

      +collisionEventID

      +
      +EventID collisionEventID
      +
      +
      ID of event +

      +

      +
      +
      +
      +

      +pad

      +
      +short pad
      +
      +
      some padding +

      +

      +
      +
      +
      +

      +contactVelocity

      +
      +Vector3Float contactVelocity
      +
      +
      velocity at collision +

      +

      +
      +
      +
      +

      +mass

      +
      +float mass
      +
      +
      mass of issuing entity +

      +

      +
      +
      +
      +

      +location

      +
      +Vector3Float location
      +
      +
      Location with respect to entity the issuing entity collided with +

      +

      +
      +
      +
      +

      +collisionResultXX

      +
      +float collisionResultXX
      +
      +
      tensor values +

      +

      +
      +
      +
      +

      +collisionResultXY

      +
      +float collisionResultXY
      +
      +
      tensor values +

      +

      +
      +
      +
      +

      +collisionResultXZ

      +
      +float collisionResultXZ
      +
      +
      tensor values +

      +

      +
      +
      +
      +

      +collisionResultYY

      +
      +float collisionResultYY
      +
      +
      tensor values +

      +

      +
      +
      +
      +

      +collisionResultYZ

      +
      +float collisionResultYZ
      +
      +
      tensor values +

      +

      +
      +
      +
      +

      +collisionResultZZ

      +
      +float collisionResultZZ
      +
      +
      tensor values +

      +

      +
      +
      +
      +

      +unitSurfaceNormal

      +
      +Vector3Float unitSurfaceNormal
      +
      +
      This record shall represent the normal vector to the surface at the point of collision detection. The surface normal shall be represented in world coordinates. +

      +

      +
      +
      +
      +

      +coefficientOfRestitution

      +
      +float coefficientOfRestitution
      +
      +
      This field shall represent the degree to which energy is conserved in a collision +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.CollisionPdu extends EntityInformationFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +issuingEntityID

      +
      +EntityID issuingEntityID
      +
      +
      ID of the entity that issued the collision PDU +

      +

      +
      +
      +
      +

      +collidingEntityID

      +
      +EntityID collidingEntityID
      +
      +
      ID of entity that has collided with the issuing entity ID +

      +

      +
      +
      +
      +

      +eventID

      +
      +EventID eventID
      +
      +
      ID of event +

      +

      +
      +
      +
      +

      +collisionType

      +
      +short collisionType
      +
      +
      ID of event +

      +

      +
      +
      +
      +

      +pad

      +
      +byte pad
      +
      +
      some padding +

      +

      +
      +
      +
      +

      +velocity

      +
      +Vector3Float velocity
      +
      +
      velocity at collision +

      +

      +
      +
      +
      +

      +mass

      +
      +float mass
      +
      +
      mass of issuing entity +

      +

      +
      +
      +
      +

      +location

      +
      +Vector3Float location
      +
      +
      Location with respect to entity the issuing entity collided with +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.CommentPdu extends SimulationManagementFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +numberOfFixedDatumRecords

      +
      +long numberOfFixedDatumRecords
      +
      +
      Number of fixed datum records +

      +

      +
      +
      +
      +

      +numberOfVariableDatumRecords

      +
      +long numberOfVariableDatumRecords
      +
      +
      Number of variable datum records +

      +

      +
      +
      +
      +

      +fixedDatums

      +
      +java.util.List<E> fixedDatums
      +
      +
      variable length list of fixed datums +

      +

      +
      +
      +
      +

      +variableDatums

      +
      +java.util.List<E> variableDatums
      +
      +
      variable length list of variable length datums +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.CommentReliablePdu extends SimulationManagementWithReliabilityFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +numberOfFixedDatumRecords

      +
      +long numberOfFixedDatumRecords
      +
      +
      Fixed datum record count +

      +

      +
      +
      +
      +

      +numberOfVariableDatumRecords

      +
      +long numberOfVariableDatumRecords
      +
      +
      variable datum record count +

      +

      +
      +
      +
      +

      +fixedDatumRecords

      +
      +java.util.List<E> fixedDatumRecords
      +
      +
      Fixed datum records +

      +

      +
      +
      +
      +

      +variableDatumRecords

      +
      +java.util.List<E> variableDatumRecords
      +
      +
      Variable datum records +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.CreateEntityPdu extends SimulationManagementFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +requestID

      +
      +long requestID
      +
      +
      Identifier for the request +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.CreateEntityReliablePdu extends SimulationManagementWithReliabilityFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +requiredReliabilityService

      +
      +short requiredReliabilityService
      +
      +
      level of reliability service used for this transaction +

      +

      +
      +
      +
      +

      +pad1

      +
      +int pad1
      +
      +
      padding +

      +

      +
      +
      +
      +

      +pad2

      +
      +short pad2
      +
      +
      padding +

      +

      +
      +
      +
      +

      +requestID

      +
      +long requestID
      +
      +
      Request ID +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.DataPdu extends SimulationManagementFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +requestID

      +
      +long requestID
      +
      +
      ID of request +

      +

      +
      +
      +
      +

      +padding1

      +
      +long padding1
      +
      +
      padding +

      +

      +
      +
      +
      +

      +numberOfFixedDatumRecords

      +
      +long numberOfFixedDatumRecords
      +
      +
      Number of fixed datum records +

      +

      +
      +
      +
      +

      +numberOfVariableDatumRecords

      +
      +long numberOfVariableDatumRecords
      +
      +
      Number of variable datum records +

      +

      +
      +
      +
      +

      +fixedDatums

      +
      +java.util.List<E> fixedDatums
      +
      +
      variable length list of fixed datums +

      +

      +
      +
      +
      +

      +variableDatums

      +
      +java.util.List<E> variableDatums
      +
      +
      variable length list of variable length datums +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.DataQueryPdu extends SimulationManagementFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +requestID

      +
      +long requestID
      +
      +
      ID of request +

      +

      +
      +
      +
      +

      +timeInterval

      +
      +long timeInterval
      +
      +
      time issues between issues of Data PDUs. Zero means send once only. +

      +

      +
      +
      +
      +

      +numberOfFixedDatumRecords

      +
      +long numberOfFixedDatumRecords
      +
      +
      Number of fixed datum records +

      +

      +
      +
      +
      +

      +numberOfVariableDatumRecords

      +
      +long numberOfVariableDatumRecords
      +
      +
      Number of variable datum records +

      +

      +
      +
      +
      +

      +fixedDatums

      +
      +java.util.List<E> fixedDatums
      +
      +
      variable length list of fixed datums +

      +

      +
      +
      +
      +

      +variableDatums

      +
      +java.util.List<E> variableDatums
      +
      +
      variable length list of variable length datums +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.DataQueryReliablePdu extends SimulationManagementWithReliabilityFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +requiredReliabilityService

      +
      +short requiredReliabilityService
      +
      +
      level of reliability service used for this transaction +

      +

      +
      +
      +
      +

      +pad1

      +
      +int pad1
      +
      +
      padding +

      +

      +
      +
      +
      +

      +pad2

      +
      +short pad2
      +
      +
      padding +

      +

      +
      +
      +
      +

      +requestID

      +
      +long requestID
      +
      +
      request ID +

      +

      +
      +
      +
      +

      +timeInterval

      +
      +long timeInterval
      +
      +
      time interval between issuing data query PDUs +

      +

      +
      +
      +
      +

      +numberOfFixedDatumRecords

      +
      +long numberOfFixedDatumRecords
      +
      +
      Fixed datum record count +

      +

      +
      +
      +
      +

      +numberOfVariableDatumRecords

      +
      +long numberOfVariableDatumRecords
      +
      +
      variable datum record count +

      +

      +
      +
      +
      +

      +fixedDatumRecords

      +
      +java.util.List<E> fixedDatumRecords
      +
      +
      Fixed datum records +

      +

      +
      +
      +
      +

      +variableDatumRecords

      +
      +java.util.List<E> variableDatumRecords
      +
      +
      Variable datum records +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.DataReliablePdu extends SimulationManagementWithReliabilityFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +requestID

      +
      +long requestID
      +
      +
      Request ID +

      +

      +
      +
      +
      +

      +requiredReliabilityService

      +
      +short requiredReliabilityService
      +
      +
      level of reliability service used for this transaction +

      +

      +
      +
      +
      +

      +pad1

      +
      +int pad1
      +
      +
      padding +

      +

      +
      +
      +
      +

      +pad2

      +
      +short pad2
      +
      +
      padding +

      +

      +
      +
      +
      +

      +numberOfFixedDatumRecords

      +
      +long numberOfFixedDatumRecords
      +
      +
      Fixed datum record count +

      +

      +
      +
      +
      +

      +numberOfVariableDatumRecords

      +
      +long numberOfVariableDatumRecords
      +
      +
      variable datum record count +

      +

      +
      +
      +
      +

      +fixedDatumRecords

      +
      +java.util.List<E> fixedDatumRecords
      +
      +
      Fixed datum records +

      +

      +
      +
      +
      +

      +variableDatumRecords

      +
      +java.util.List<E> variableDatumRecords
      +
      +
      Variable datum records +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.DeadReckoningParameter extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +deadReckoningAlgorithm

      +
      +short deadReckoningAlgorithm
      +
      +
      enumeration of what dead reckoning algorighm to use +

      +

      +
      +
      +
      +

      +otherParameters

      +
      +byte[] otherParameters
      +
      +
      other parameters to use in the dead reckoning algorithm +

      +

      +
      +
      +
      +

      +entityLinearAcceleration

      +
      +Vector3Float entityLinearAcceleration
      +
      +
      Linear acceleration of the entity +

      +

      +
      +
      +
      +

      +entityAngularVelocity

      +
      +Vector3Float entityAngularVelocity
      +
      +
      angular velocity of the entity +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.DesignatorPdu extends DistributedEmissionsFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +designatingEntityID

      +
      +EntityID designatingEntityID
      +
      +
      ID of the entity designating +

      +

      +
      +
      +
      +

      +codeName

      +
      +int codeName
      +
      +
      This field shall specify a unique emitter database number assigned to differentiate between otherwise similar or identical emitter beams within an emitter system. +

      +

      +
      +
      +
      +

      +designatedEntityID

      +
      +EntityID designatedEntityID
      +
      +
      ID of the entity being designated +

      +

      +
      +
      +
      +

      +designatorCode

      +
      +int designatorCode
      +
      +
      This field shall identify the designator code being used by the designating entity +

      +

      +
      +
      +
      +

      +designatorPower

      +
      +float designatorPower
      +
      +
      This field shall identify the designator output power in watts +

      +

      +
      +
      +
      +

      +designatorWavelength

      +
      +float designatorWavelength
      +
      +
      This field shall identify the designator wavelength in units of microns +

      +

      +
      +
      +
      +

      +designatorSpotWrtDesignated

      +
      +Vector3Float designatorSpotWrtDesignated
      +
      +
      designtor spot wrt the designated entity +

      +

      +
      +
      +
      +

      +designatorSpotLocation

      +
      +Vector3Double designatorSpotLocation
      +
      +
      designtor spot wrt the designated entity +

      +

      +
      +
      +
      +

      +deadReckoningAlgorithm

      +
      +byte deadReckoningAlgorithm
      +
      +
      Dead reckoning algorithm +

      +

      +
      +
      +
      +

      +padding1

      +
      +int padding1
      +
      +
      padding +

      +

      +
      +
      +
      +

      +padding2

      +
      +byte padding2
      +
      +
      padding +

      +

      +
      +
      +
      +

      +entityLinearAcceleration

      +
      +Vector3Float entityLinearAcceleration
      +
      +
      linear accelleration of entity +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.DetonationPdu extends WarfareFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +munitionID

      +
      +EntityID munitionID
      +
      +
      ID of muntion that was fired +

      +

      +
      +
      +
      +

      +eventID

      +
      +EventID eventID
      +
      +
      ID firing event +

      +

      +
      +
      +
      +

      +velocity

      +
      +Vector3Float velocity
      +
      +
      ID firing event +

      +

      +
      +
      +
      +

      +locationInWorldCoordinates

      +
      +Vector3Double locationInWorldCoordinates
      +
      +
      where the detonation is, in world coordinates +

      +

      +
      +
      +
      +

      +burstDescriptor

      +
      +BurstDescriptor burstDescriptor
      +
      +
      Describes munition used +

      +

      +
      +
      +
      +

      +locationInEntityCoordinates

      +
      +Vector3Float locationInEntityCoordinates
      +
      +
      location of the detonation or impact in the target entity's coordinate system. This information should be used for damage assessment. +

      +

      +
      +
      +
      +

      +detonationResult

      +
      +short detonationResult
      +
      +
      result of the explosion +

      +

      +
      +
      +
      +

      +numberOfArticulationParameters

      +
      +short numberOfArticulationParameters
      +
      +
      How many articulation parameters we have +

      +

      +
      +
      +
      +

      +pad

      +
      +short pad
      +
      +
      padding +

      +

      +
      +
      +
      +

      +articulationParameters

      +
      +java.util.List<E> articulationParameters
      +
      +
      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.DistributedEmissionsFamilyPdu extends Pdu implements Serializable
      + +

      + +

      + + + + + +
      +Class edu.nps.moves.dis.EightByteChunk extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +otherParameters

      +
      +byte[] otherParameters
      +
      +
      Eight bytes of arbitrary data +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.ElectronicEmissionBeamData extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +beamDataLength

      +
      +short beamDataLength
      +
      +
      This field shall specify the length of this beams data in 32 bit words +

      +

      +
      +
      +
      +

      +beamIDNumber

      +
      +short beamIDNumber
      +
      +
      This field shall specify a unique emitter database number assigned to differentiate between otherwise similar or identical emitter beams within an emitter system. +

      +

      +
      +
      +
      +

      +beamParameterIndex

      +
      +int beamParameterIndex
      +
      +
      This field shall specify a Beam Parameter Index number that shall be used by receiving entities in conjunction with the Emitter Name field to provide a pointer to the stored database parameters required to regenerate the beam. +

      +

      +
      +
      +
      +

      +fundamentalParameterData

      +
      +FundamentalParameterData fundamentalParameterData
      +
      +
      Fundamental parameter data such as frequency range, beam sweep, etc. +

      +

      +
      +
      +
      +

      +beamFunction

      +
      +short beamFunction
      +
      +
      beam function of a particular beam +

      +

      +
      +
      +
      +

      +numberOfTrackJamTargets

      +
      +short numberOfTrackJamTargets
      +
      +
      Number of track/jam targets +

      +

      +
      +
      +
      +

      +highDensityTrackJam

      +
      +short highDensityTrackJam
      +
      +
      wheher or not the receiving simulation apps can assume all the targets in the scan pattern are being tracked/jammed +

      +

      +
      +
      +
      +

      +pad4

      +
      +short pad4
      +
      +
      padding +

      +

      +
      +
      +
      +

      +jammingModeSequence

      +
      +long jammingModeSequence
      +
      +
      identify jamming techniques used +

      +

      +
      +
      +
      +

      +trackJamTargets

      +
      +java.util.List<E> trackJamTargets
      +
      +
      variable length list of track/jam targets +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.ElectronicEmissionsPdu extends DistributedEmissionsFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +emittingEntityID

      +
      +EntityID emittingEntityID
      +
      +
      ID of the entity emitting +

      +

      +
      +
      +
      +

      +eventID

      +
      +EventID eventID
      +
      +
      ID of event +

      +

      +
      +
      +
      +

      +stateUpdateIndicator

      +
      +short stateUpdateIndicator
      +
      +
      This field shall be used to indicate if the data in the PDU represents a state update or just data that has changed since issuance of the last Electromagnetic Emission PDU [relative to the identified entity and emission system(s)]. +

      +

      +
      +
      +
      +

      +numberOfSystems

      +
      +short numberOfSystems
      +
      +
      This field shall specify the number of emission systems being described in the current PDU. +

      +

      +
      +
      +
      +

      +paddingForEmissionsPdu

      +
      +int paddingForEmissionsPdu
      +
      +
      padding +

      +

      +
      +
      +
      +

      +systems

      +
      +java.util.List<E> systems
      +
      +
      Electronic emmissions systems +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.ElectronicEmissionSystemData extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +systemDataLength

      +
      +short systemDataLength
      +
      +
      This field shall specify the length of this emitter system?s data (including beam data and its track/jam information) in 32-bit words. The length shall include the System Data Length field. +

      +

      +
      +
      +
      +

      +numberOfBeams

      +
      +short numberOfBeams
      +
      +
      This field shall specify the number of beams being described in the current PDU for the system being described. +

      +

      +
      +
      +
      +

      +emissionsPadding2

      +
      +int emissionsPadding2
      +
      +
      padding. +

      +

      +
      +
      +
      +

      +emitterSystem

      +
      +EmitterSystem emitterSystem
      +
      +
      This field shall specify information about a particular emitter system +

      +

      +
      +
      +
      +

      +location

      +
      +Vector3Float location
      +
      +
      Location with respect to the entity +

      +

      +
      +
      +
      +

      +beamDataRecords

      +
      +java.util.List<E> beamDataRecords
      +
      +
      variable length list of beam data records +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.EmitterSystem extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +emitterName

      +
      +int emitterName
      +
      +
      Name of the emitter, 16 bit enumeration +

      +

      +
      +
      +
      +

      +function

      +
      +short function
      +
      +
      function of the emitter, 8 bit enumeration +

      +

      +
      +
      +
      +

      +emitterIdNumber

      +
      +short emitterIdNumber
      +
      +
      emitter ID, 8 bit enumeration +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.EntityID extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +site

      +
      +int site
      +
      +
      The site ID +

      +

      +
      +
      +
      +

      +application

      +
      +int application
      +
      +
      The application ID +

      +

      +
      +
      +
      +

      +entity

      +
      +int entity
      +
      +
      the entity ID +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.EntityInformationFamilyPdu extends Pdu implements Serializable
      + +

      + +

      + + + + + +
      +Class edu.nps.moves.dis.EntityManagementFamilyPdu extends Pdu implements Serializable
      + +

      + +

      + + + + + +
      +Class edu.nps.moves.dis.EntityStatePdu extends EntityInformationFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +entityID

      +
      +EntityID entityID
      +
      +
      Unique ID for an entity that is tied to this state information +

      +

      +
      +
      +
      +

      +forceId

      +
      +short forceId
      +
      +
      What force this entity is affiliated with, eg red, blue, neutral, etc +

      +

      +
      +
      +
      +

      +numberOfArticulationParameters

      +
      +byte numberOfArticulationParameters
      +
      +
      How many articulation parameters are in the variable length list +

      +

      +
      +
      +
      +

      +entityType

      +
      +EntityType entityType
      +
      +
      Describes the type of entity in the world +

      +

      +
      +
      +
      +

      +alternativeEntityType

      +
      +EntityType alternativeEntityType
      +
      +
      +
      +
      +
      +

      +entityLinearVelocity

      +
      +Vector3Float entityLinearVelocity
      +
      +
      Describes the speed of the entity in the world +

      +

      +
      +
      +
      +

      +entityLocation

      +
      +Vector3Double entityLocation
      +
      +
      describes the location of the entity in the world +

      +

      +
      +
      +
      +

      +entityOrientation

      +
      +Orientation entityOrientation
      +
      +
      describes the orientation of the entity, in euler angles +

      +

      +
      +
      +
      +

      +entityAppearance

      +
      +int entityAppearance
      +
      +
      a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc. +

      +

      +
      +
      +
      +

      +deadReckoningParameters

      +
      +DeadReckoningParameter deadReckoningParameters
      +
      +
      parameters used for dead reckoning +

      +

      +
      +
      +
      +

      +marking

      +
      +Marking marking
      +
      +
      characters that can be used for debugging, or to draw unique strings on the side of entities in the world +

      +

      +
      +
      +
      +

      +capabilities

      +
      +int capabilities
      +
      +
      a series of bit flags +

      +

      +
      +
      +
      +

      +articulationParameters

      +
      +java.util.List<E> articulationParameters
      +
      +
      variable length list of articulation parameters +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.EntityStateUpdatePdu extends EntityInformationFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +entityID

      +
      +EntityID entityID
      +
      +
      This field shall identify the entity issuing the PDU +

      +

      +
      +
      +
      +

      +numberOfArticulationParameters

      +
      +byte numberOfArticulationParameters
      +
      +
      How many articulation parameters are in the variable length list +

      +

      +
      +
      +
      +

      +entityLinearVelocity

      +
      +Vector3Float entityLinearVelocity
      +
      +
      Describes the speed of the entity in the world +

      +

      +
      +
      +
      +

      +entityLocation

      +
      +Vector3Double entityLocation
      +
      +
      describes the location of the entity in the world +

      +

      +
      +
      +
      +

      +entityOrientation

      +
      +Orientation entityOrientation
      +
      +
      describes the orientation of the entity, in euler angles +

      +

      +
      +
      +
      +

      +entityAppearance

      +
      +int entityAppearance
      +
      +
      a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc. +

      +

      +
      +
      +
      +

      +articulationParameters

      +
      +java.util.List<E> articulationParameters
      +
      +
      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.EntityType extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +entityKind

      +
      +short entityKind
      +
      +
      Kind of entity +

      +

      +
      +
      +
      +

      +domain

      +
      +short domain
      +
      +
      Domain of entity (air, surface, subsurface, space, etc) +

      +

      +
      +
      +
      +

      +country

      +
      +int country
      +
      +
      country to which the design of the entity is attributed +

      +

      +
      +
      +
      +

      +category

      +
      +short category
      +
      +
      category of entity +

      +

      +
      +
      +
      +

      +subcategory

      +
      +short subcategory
      +
      +
      subcategory of entity +

      +

      +
      +
      +
      +

      +specific

      +
      +short specific
      +
      +
      specific info based on subcategory field +

      +

      +
      +
      +
      +

      +extra

      +
      +short extra
      +
      +
      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.Environment extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +environmentType

      +
      +long environmentType
      +
      +
      Record type +

      +

      +
      +
      +
      +

      +length

      +
      +short length
      +
      +
      length, in bits +

      +

      +
      +
      +
      +

      +index

      +
      +short index
      +
      +
      Identify the sequentially numbered record index +

      +

      +
      +
      +
      +

      +padding1

      +
      +short padding1
      +
      +
      padding +

      +

      +
      +
      +
      +

      +geometry

      +
      +short geometry
      +
      +
      Geometry or state record +

      +

      +
      +
      +
      +

      +padding2

      +
      +short padding2
      +
      +
      padding to bring the total size up to a 64 bit boundry +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.EnvironmentalProcessPdu extends SyntheticEnvironmentFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +environementalProcessID

      +
      +EntityID environementalProcessID
      +
      +
      Environmental process ID +

      +

      +
      +
      +
      +

      +environmentType

      +
      +EntityType environmentType
      +
      +
      Environment type +

      +

      +
      +
      +
      +

      +modelType

      +
      +short modelType
      +
      +
      model type +

      +

      +
      +
      +
      +

      +environmentStatus

      +
      +short environmentStatus
      +
      +
      Environment status +

      +

      +
      +
      +
      +

      +numberOfEnvironmentRecords

      +
      +short numberOfEnvironmentRecords
      +
      +
      number of environment records +

      +

      +
      +
      +
      +

      +sequenceNumber

      +
      +int sequenceNumber
      +
      +
      PDU sequence number for the environmentla process if pdu sequencing required +

      +

      +
      +
      +
      +

      +environmentRecords

      +
      +java.util.List<E> environmentRecords
      +
      +
      environemt records +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.EventID extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +site

      +
      +int site
      +
      +
      The site ID +

      +

      +
      +
      +
      +

      +application

      +
      +int application
      +
      +
      The application ID +

      +

      +
      +
      +
      +

      +eventNumber

      +
      +int eventNumber
      +
      +
      the number of the event +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.EventReportPdu extends SimulationManagementFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +eventType

      +
      +long eventType
      +
      +
      Type of event +

      +

      +
      +
      +
      +

      +padding1

      +
      +long padding1
      +
      +
      padding +

      +

      +
      +
      +
      +

      +numberOfFixedDatumRecords

      +
      +long numberOfFixedDatumRecords
      +
      +
      Number of fixed datum records +

      +

      +
      +
      +
      +

      +numberOfVariableDatumRecords

      +
      +long numberOfVariableDatumRecords
      +
      +
      Number of variable datum records +

      +

      +
      +
      +
      +

      +fixedDatums

      +
      +java.util.List<E> fixedDatums
      +
      +
      variable length list of fixed datums +

      +

      +
      +
      +
      +

      +variableDatums

      +
      +java.util.List<E> variableDatums
      +
      +
      variable length list of variable length datums +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.EventReportReliablePdu extends SimulationManagementWithReliabilityFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +eventType

      +
      +int eventType
      +
      +
      Event type +

      +

      +
      +
      +
      +

      +pad1

      +
      +long pad1
      +
      +
      padding +

      +

      +
      +
      +
      +

      +numberOfFixedDatumRecords

      +
      +long numberOfFixedDatumRecords
      +
      +
      Fixed datum record count +

      +

      +
      +
      +
      +

      +numberOfVariableDatumRecords

      +
      +long numberOfVariableDatumRecords
      +
      +
      variable datum record count +

      +

      +
      +
      +
      +

      +fixedDatumRecords

      +
      +java.util.List<E> fixedDatumRecords
      +
      +
      Fixed datum records +

      +

      +
      +
      +
      +

      +variableDatumRecords

      +
      +java.util.List<E> variableDatumRecords
      +
      +
      Variable datum records +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.FastEntityStatePdu extends EntityInformationFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +site

      +
      +int site
      +
      +
      The site ID +

      +

      +
      +
      +
      +

      +application

      +
      +int application
      +
      +
      The application ID +

      +

      +
      +
      +
      +

      +entity

      +
      +int entity
      +
      +
      the entity ID +

      +

      +
      +
      +
      +

      +forceId

      +
      +short forceId
      +
      +
      what force this entity is affiliated with, eg red, blue, neutral, etc +

      +

      +
      +
      +
      +

      +numberOfArticulationParameters

      +
      +byte numberOfArticulationParameters
      +
      +
      How many articulation parameters are in the variable length list +

      +

      +
      +
      +
      +

      +entityKind

      +
      +short entityKind
      +
      +
      Kind of entity +

      +

      +
      +
      +
      +

      +domain

      +
      +short domain
      +
      +
      Domain of entity (air, surface, subsurface, space, etc) +

      +

      +
      +
      +
      +

      +country

      +
      +int country
      +
      +
      country to which the design of the entity is attributed +

      +

      +
      +
      +
      +

      +category

      +
      +short category
      +
      +
      category of entity +

      +

      +
      +
      +
      +

      +subcategory

      +
      +short subcategory
      +
      +
      subcategory of entity +

      +

      +
      +
      +
      +

      +specific

      +
      +short specific
      +
      +
      specific info based on subcategory field +

      +

      +
      +
      +
      +

      +extra

      +
      +short extra
      +
      +
      +
      +
      +
      +

      +altEntityKind

      +
      +short altEntityKind
      +
      +
      Kind of entity +

      +

      +
      +
      +
      +

      +altDomain

      +
      +short altDomain
      +
      +
      Domain of entity (air, surface, subsurface, space, etc) +

      +

      +
      +
      +
      +

      +altCountry

      +
      +int altCountry
      +
      +
      country to which the design of the entity is attributed +

      +

      +
      +
      +
      +

      +altCategory

      +
      +short altCategory
      +
      +
      category of entity +

      +

      +
      +
      +
      +

      +altSubcategory

      +
      +short altSubcategory
      +
      +
      subcategory of entity +

      +

      +
      +
      +
      +

      +altSpecific

      +
      +short altSpecific
      +
      +
      specific info based on subcategory field +

      +

      +
      +
      +
      +

      +altExtra

      +
      +short altExtra
      +
      +
      +
      +
      +
      +

      +xVelocity

      +
      +float xVelocity
      +
      +
      X velo +

      +

      +
      +
      +
      +

      +yVelocity

      +
      +float yVelocity
      +
      +
      y Value +

      +

      +
      +
      +
      +

      +zVelocity

      +
      +float zVelocity
      +
      +
      Z value +

      +

      +
      +
      +
      +

      +xLocation

      +
      +double xLocation
      +
      +
      X value +

      +

      +
      +
      +
      +

      +yLocation

      +
      +double yLocation
      +
      +
      y Value +

      +

      +
      +
      +
      +

      +zLocation

      +
      +double zLocation
      +
      +
      Z value +

      +

      +
      +
      +
      +

      +psi

      +
      +float psi
      +
      +
      +
      +
      +
      +

      +theta

      +
      +float theta
      +
      +
      +
      +
      +
      +

      +phi

      +
      +float phi
      +
      +
      +
      +
      +
      +

      +entityAppearance

      +
      +int entityAppearance
      +
      +
      a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc. +

      +

      +
      +
      +
      +

      +deadReckoningAlgorithm

      +
      +short deadReckoningAlgorithm
      +
      +
      enumeration of what dead reckoning algorighm to use +

      +

      +
      +
      +
      +

      +otherParameters

      +
      +byte[] otherParameters
      +
      +
      other parameters to use in the dead reckoning algorithm +

      +

      +
      +
      +
      +

      +xAcceleration

      +
      +float xAcceleration
      +
      +
      X value +

      +

      +
      +
      +
      +

      +yAcceleration

      +
      +float yAcceleration
      +
      +
      y Value +

      +

      +
      +
      +
      +

      +zAcceleration

      +
      +float zAcceleration
      +
      +
      Z value +

      +

      +
      +
      +
      +

      +xAngularVelocity

      +
      +float xAngularVelocity
      +
      +
      X value +

      +

      +
      +
      +
      +

      +yAngularVelocity

      +
      +float yAngularVelocity
      +
      +
      y Value +

      +

      +
      +
      +
      +

      +zAngularVelocity

      +
      +float zAngularVelocity
      +
      +
      Z value +

      +

      +
      +
      +
      +

      +marking

      +
      +byte[] marking
      +
      +
      characters that can be used for debugging, or to draw unique strings on the side of entities in the world +

      +

      +
      +
      +
      +

      +capabilities

      +
      +int capabilities
      +
      +
      a series of bit flags +

      +

      +
      +
      +
      +

      +articulationParameters

      +
      +java.util.List<E> articulationParameters
      +
      +
      variable length list of articulation parameters +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.FirePdu extends WarfareFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +munitionID

      +
      +EntityID munitionID
      +
      +
      ID of the munition that is being shot +

      +

      +
      +
      +
      +

      +eventID

      +
      +EventID eventID
      +
      +
      ID of event +

      +

      +
      +
      +
      +

      +fireMissionIndex

      +
      +int fireMissionIndex
      +
      +
      +
      +
      +
      +

      +locationInWorldCoordinates

      +
      +Vector3Double locationInWorldCoordinates
      +
      +
      location of the firing event +

      +

      +
      +
      +
      +

      +burstDescriptor

      +
      +BurstDescriptor burstDescriptor
      +
      +
      Describes munitions used in the firing event +

      +

      +
      +
      +
      +

      +velocity

      +
      +Vector3Float velocity
      +
      +
      Velocity of the ammunition +

      +

      +
      +
      +
      +

      +range

      +
      +float range
      +
      +
      range to the target +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.FixedDatum extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +fixedDatumID

      +
      +long fixedDatumID
      +
      +
      ID of the fixed datum +

      +

      +
      +
      +
      +

      +fixedDatumValue

      +
      +long fixedDatumValue
      +
      +
      Value for the fixed datum +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.FourByteChunk extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +otherParameters

      +
      +byte[] otherParameters
      +
      +
      four bytes of arbitrary data +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.FundamentalParameterData extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +frequency

      +
      +float frequency
      +
      +
      center frequency of the emission in hertz. +

      +

      +
      +
      +
      +

      +frequencyRange

      +
      +float frequencyRange
      +
      +
      Bandwidth of the frequencies corresponding to the fequency field. +

      +

      +
      +
      +
      +

      +effectiveRadiatedPower

      +
      +float effectiveRadiatedPower
      +
      +
      Effective radiated power for the emission in DdBm. For a radar noise jammer, indicates the peak of the transmitted power. +

      +

      +
      +
      +
      +

      +pulseRepetitionFrequency

      +
      +float pulseRepetitionFrequency
      +
      +
      Average repetition frequency of the emission in hertz. +

      +

      +
      +
      +
      +

      +pulseWidth

      +
      +float pulseWidth
      +
      +
      Average pulse width of the emission in microseconds. +

      +

      +
      +
      +
      +

      +beamAzimuthCenter

      +
      +float beamAzimuthCenter
      +
      +
      Specifies the beam azimuth an elevation centers and corresponding half-angles to describe the scan volume +

      +

      +
      +
      +
      +

      +beamAzimuthSweep

      +
      +float beamAzimuthSweep
      +
      +
      Specifies the beam azimuth sweep to determine scan volume +

      +

      +
      +
      +
      +

      +beamElevationCenter

      +
      +float beamElevationCenter
      +
      +
      Specifies the beam elevation center to determine scan volume +

      +

      +
      +
      +
      +

      +beamElevationSweep

      +
      +float beamElevationSweep
      +
      +
      Specifies the beam elevation sweep to determine scan volume +

      +

      +
      +
      +
      +

      +beamSweepSync

      +
      +float beamSweepSync
      +
      +
      allows receiver to synchronize its regenerated scan pattern to that of the emmitter. Specifies the percentage of time a scan is through its pattern from its origion. +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.FundamentalParameterDataIff extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +erp

      +
      +float erp
      +
      +
      ERP +

      +

      +
      +
      +
      +

      +frequency

      +
      +float frequency
      +
      +
      frequency +

      +

      +
      +
      +
      +

      +pgrf

      +
      +float pgrf
      +
      +
      pgrf +

      +

      +
      +
      +
      +

      +pulseWidth

      +
      +float pulseWidth
      +
      +
      Pulse width +

      +

      +
      +
      +
      +

      +burstLength

      +
      +long burstLength
      +
      +
      Burst length +

      +

      +
      +
      +
      +

      +applicableModes

      +
      +short applicableModes
      +
      +
      Applicable modes enumeration +

      +

      +
      +
      +
      +

      +pad2

      +
      +int pad2
      +
      +
      padding +

      +

      +
      +
      +
      +

      +pad3

      +
      +short pad3
      +
      +
      padding +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.GridAxisRecord extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +sampleType

      +
      +int sampleType
      +
      +
      type of environmental sample +

      +

      +
      +
      +
      +

      +dataRepresentation

      +
      +int dataRepresentation
      +
      +
      value that describes data representation +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.GridAxisRecordRepresentation0 extends GridAxisRecord implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +numberOfBytes

      +
      +int numberOfBytes
      +
      +
      number of bytes of environmental state data +

      +

      +
      +
      +
      +

      +dataValues

      +
      +java.util.List<E> dataValues
      +
      +
      variable length list of data parameters @@@this is wrong--need padding as well +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.GridAxisRecordRepresentation1 extends GridAxisRecord implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +fieldScale

      +
      +float fieldScale
      +
      +
      constant scale factor +

      +

      +
      +
      +
      +

      +fieldOffset

      +
      +float fieldOffset
      +
      +
      constant offset used to scale grid data +

      +

      +
      +
      +
      +

      +numberOfValues

      +
      +int numberOfValues
      +
      +
      Number of data values +

      +

      +
      +
      +
      +

      +dataValues

      +
      +java.util.List<E> dataValues
      +
      +
      variable length list of data parameters @@@this is wrong--need padding as well +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.GridAxisRecordRepresentation2 extends GridAxisRecord implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +numberOfValues

      +
      +int numberOfValues
      +
      +
      number of values +

      +

      +
      +
      +
      +

      +dataValues

      +
      +java.util.List<E> dataValues
      +
      +
      variable length list of data parameters @@@this is wrong--need padding as well +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.GriddedDataPdu extends SyntheticEnvironmentFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +environmentalSimulationApplicationID

      +
      +EntityID environmentalSimulationApplicationID
      +
      +
      environmental simulation application ID +

      +

      +
      +
      +
      +

      +fieldNumber

      +
      +int fieldNumber
      +
      +
      unique identifier for each piece of enviornmental data +

      +

      +
      +
      +
      +

      +pduNumber

      +
      +int pduNumber
      +
      +
      sequence number for the total set of PDUS used to transmit the data +

      +

      +
      +
      +
      +

      +pduTotal

      +
      +int pduTotal
      +
      +
      Total number of PDUS used to transmit the data +

      +

      +
      +
      +
      +

      +coordinateSystem

      +
      +int coordinateSystem
      +
      +
      coordinate system of the grid +

      +

      +
      +
      +
      +

      +numberOfGridAxes

      +
      +short numberOfGridAxes
      +
      +
      number of grid axes for the environmental data +

      +

      +
      +
      +
      +

      +constantGrid

      +
      +short constantGrid
      +
      +
      are domain grid axes identidal to those of the priveious domain update? +

      +

      +
      +
      +
      +

      +environmentType

      +
      +EntityType environmentType
      +
      +
      type of environment +

      +

      +
      +
      +
      +

      +orientation

      +
      +Orientation orientation
      +
      +
      orientation of the data grid +

      +

      +
      +
      +
      +

      +sampleTime

      +
      +long sampleTime
      +
      +
      valid time of the enviormental data sample, 64 bit unsigned int +

      +

      +
      +
      +
      +

      +totalValues

      +
      +long totalValues
      +
      +
      total number of all data values for all pdus for an environmental sample +

      +

      +
      +
      +
      +

      +vectorDimension

      +
      +short vectorDimension
      +
      +
      total number of data values at each grid point. +

      +

      +
      +
      +
      +

      +padding1

      +
      +int padding1
      +
      +
      padding +

      +

      +
      +
      +
      +

      +padding2

      +
      +short padding2
      +
      +
      padding +

      +

      +
      +
      +
      +

      +gridDataList

      +
      +java.util.List<E> gridDataList
      +
      +
      Grid data @@@This is wrong +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.IffAtcNavAidsLayer1Pdu extends DistributedEmissionsFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +emittingEntityId

      +
      +EntityID emittingEntityId
      +
      +
      ID of the entity that is the source of the emissions +

      +

      +
      +
      +
      +

      +eventID

      +
      +EventID eventID
      +
      +
      Number generated by the issuing simulation to associate realted events. +

      +

      +
      +
      +
      +

      +location

      +
      +Vector3Float location
      +
      +
      Location wrt entity. There is some ambugiuity in the standard here, but this is the order it is listed in the table. +

      +

      +
      +
      +
      +

      +systemID

      +
      +SystemID systemID
      +
      +
      System ID information +

      +

      +
      +
      +
      +

      +pad2

      +
      +int pad2
      +
      +
      padding +

      +

      +
      +
      +
      +

      +fundamentalParameters

      +
      +IffFundamentalData fundamentalParameters
      +
      +
      fundamental parameters +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.IffAtcNavAidsLayer2Pdu extends IffAtcNavAidsLayer1Pdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +layerHeader

      +
      +LayerHeader layerHeader
      +
      +
      layer header +

      +

      +
      +
      +
      +

      +beamData

      +
      +BeamData beamData
      +
      +
      beam data +

      +

      +
      +
      +
      +

      +secondaryOperationalData

      +
      +BeamData secondaryOperationalData
      +
      +
      Secondary operational data, 5.2.57 +

      +

      +
      +
      +
      +

      +fundamentalIffParameters

      +
      +java.util.List<E> fundamentalIffParameters
      +
      +
      variable length list of fundamental parameters. @@@This is wrong +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.IffFundamentalData extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +systemStatus

      +
      +short systemStatus
      +
      +
      system status +

      +

      +
      +
      +
      +

      +alternateParameter4

      +
      +short alternateParameter4
      +
      +
      Alternate parameter 4 +

      +

      +
      +
      +
      +

      +informationLayers

      +
      +short informationLayers
      +
      +
      eight boolean fields +

      +

      +
      +
      +
      +

      +modifier

      +
      +short modifier
      +
      +
      enumeration +

      +

      +
      +
      +
      +

      +parameter1

      +
      +int parameter1
      +
      +
      parameter, enumeration +

      +

      +
      +
      +
      +

      +parameter2

      +
      +int parameter2
      +
      +
      parameter, enumeration +

      +

      +
      +
      +
      +

      +parameter3

      +
      +int parameter3
      +
      +
      parameter, enumeration +

      +

      +
      +
      +
      +

      +parameter4

      +
      +int parameter4
      +
      +
      parameter, enumeration +

      +

      +
      +
      +
      +

      +parameter5

      +
      +int parameter5
      +
      +
      parameter, enumeration +

      +

      +
      +
      +
      +

      +parameter6

      +
      +int parameter6
      +
      +
      parameter, enumeration +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.IntercomCommunicationsParameters extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +recordType

      +
      +int recordType
      +
      +
      Type of intercom parameters record +

      +

      +
      +
      +
      +

      +recordLength

      +
      +int recordLength
      +
      +
      length of record +

      +

      +
      +
      +
      +

      +recordSpecificField

      +
      +long recordSpecificField
      +
      +
      Jerks. Looks like the committee is forcing a lookup of the record type parameter to find out how long the field is. This is a placeholder. +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.IntercomControlPdu extends RadioCommunicationsFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +controlType

      +
      +short controlType
      +
      +
      control type +

      +

      +
      +
      +
      +

      +communicationsChannelType

      +
      +short communicationsChannelType
      +
      +
      control type +

      +

      +
      +
      +
      +

      +sourceEntityID

      +
      +EntityID sourceEntityID
      +
      +
      Source entity ID +

      +

      +
      +
      +
      +

      +sourceCommunicationsDeviceID

      +
      +short sourceCommunicationsDeviceID
      +
      +
      The specific intercom device being simulated within an entity. +

      +

      +
      +
      +
      +

      +sourceLineID

      +
      +short sourceLineID
      +
      +
      Line number to which the intercom control refers +

      +

      +
      +
      +
      +

      +transmitPriority

      +
      +short transmitPriority
      +
      +
      priority of this message relative to transmissons from other intercom devices +

      +

      +
      +
      +
      +

      +transmitLineState

      +
      +short transmitLineState
      +
      +
      current transmit state of the line +

      +

      +
      +
      +
      +

      +command

      +
      +short command
      +
      +
      detailed type requested. +

      +

      +
      +
      +
      +

      +masterEntityID

      +
      +EntityID masterEntityID
      +
      +
      eid of the entity that has created this intercom channel. +

      +

      +
      +
      +
      +

      +masterCommunicationsDeviceID

      +
      +int masterCommunicationsDeviceID
      +
      +
      specific intercom device that has created this intercom channel +

      +

      +
      +
      +
      +

      +intercomParametersLength

      +
      +long intercomParametersLength
      +
      +
      number of intercom parameters +

      +

      +
      +
      +
      +

      +intercomParameters

      +
      +java.util.List<E> intercomParameters
      +
      +
      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.IntercomSignalPdu extends RadioCommunicationsFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +entityID

      +
      +EntityID entityID
      +
      +
      entity ID +

      +

      +
      +
      +
      +

      +communicationsDeviceID

      +
      +int communicationsDeviceID
      +
      +
      ID of communications device +

      +

      +
      +
      +
      +

      +encodingScheme

      +
      +int encodingScheme
      +
      +
      encoding scheme +

      +

      +
      +
      +
      +

      +tdlType

      +
      +int tdlType
      +
      +
      tactical data link type +

      +

      +
      +
      +
      +

      +sampleRate

      +
      +long sampleRate
      +
      +
      sample rate +

      +

      +
      +
      +
      +

      +dataLength

      +
      +int dataLength
      +
      +
      data length +

      +

      +
      +
      +
      +

      +samples

      +
      +int samples
      +
      +
      samples +

      +

      +
      +
      +
      +

      +data

      +
      +java.util.List<E> data
      +
      +
      data bytes +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.IsGroupOfPdu extends EntityManagementFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +groupEntityID

      +
      +EntityID groupEntityID
      +
      +
      ID of aggregated entities +

      +

      +
      +
      +
      +

      +groupedEntityCategory

      +
      +short groupedEntityCategory
      +
      +
      type of entities constituting the group +

      +

      +
      +
      +
      +

      +numberOfGroupedEntities

      +
      +short numberOfGroupedEntities
      +
      +
      Number of individual entities constituting the group +

      +

      +
      +
      +
      +

      +pad2

      +
      +long pad2
      +
      +
      padding +

      +

      +
      +
      +
      +

      +latitude

      +
      +double latitude
      +
      +
      latitude +

      +

      +
      +
      +
      +

      +longitude

      +
      +double longitude
      +
      +
      longitude +

      +

      +
      +
      +
      +

      +groupedEntityDescriptions

      +
      +java.util.List<E> groupedEntityDescriptions
      +
      +
      GED records about each individual entity in the group. @@@this is wrong--need a database lookup to find the actual size of the list elements +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.IsPartOfPdu extends EntityManagementFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +orginatingEntityID

      +
      +EntityID orginatingEntityID
      +
      +
      ID of entity originating PDU +

      +

      +
      +
      +
      +

      +receivingEntityID

      +
      +EntityID receivingEntityID
      +
      +
      ID of entity receiving PDU +

      +

      +
      +
      +
      +

      +relationship

      +
      +Relationship relationship
      +
      +
      relationship of joined parts +

      +

      +
      +
      +
      +

      +partLocation

      +
      +Vector3Float partLocation
      +
      +
      location of part; centroid of part in host's coordinate system. x=range, y=bearing, z=0 +

      +

      +
      +
      +
      +

      +namedLocationID

      +
      +NamedLocation namedLocationID
      +
      +
      named location +

      +

      +
      +
      +
      +

      +partEntityType

      +
      +EntityType partEntityType
      +
      +
      entity type +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.LayerHeader extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +layerNumber

      +
      +short layerNumber
      +
      +
      Layer number +

      +

      +
      +
      +
      +

      +layerSpecificInformaiton

      +
      +short layerSpecificInformaiton
      +
      +
      Layer speccific information enumeration +

      +

      +
      +
      +
      +

      +length

      +
      +int length
      +
      +
      information length +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.LinearObjectStatePdu extends SyntheticEnvironmentFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +objectID

      +
      +EntityID objectID
      +
      +
      Object in synthetic environment +

      +

      +
      +
      +
      +

      +referencedObjectID

      +
      +EntityID referencedObjectID
      +
      +
      Object with which this point object is associated +

      +

      +
      +
      +
      +

      +updateNumber

      +
      +int updateNumber
      +
      +
      unique update number of each state transition of an object +

      +

      +
      +
      +
      +

      +forceID

      +
      +short forceID
      +
      +
      force ID +

      +

      +
      +
      +
      +

      +numberOfSegments

      +
      +short numberOfSegments
      +
      +
      number of linear segment parameters +

      +

      +
      +
      +
      +

      +requesterID

      +
      +SimulationAddress requesterID
      +
      +
      requesterID +

      +

      +
      +
      +
      +

      +receivingID

      +
      +SimulationAddress receivingID
      +
      +
      receiver ID +

      +

      +
      +
      +
      +

      +objectType

      +
      +ObjectType objectType
      +
      +
      Object type +

      +

      +
      +
      +
      +

      +linearSegmentParameters

      +
      +java.util.List<E> linearSegmentParameters
      +
      +
      Linear segment parameters +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.LinearSegmentParameter extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +segmentNumber

      +
      +short segmentNumber
      +
      +
      number of segments +

      +

      +
      +
      +
      +

      +segmentAppearance

      +
      +SixByteChunk segmentAppearance
      +
      +
      segment appearance +

      +

      +
      +
      +
      +

      +location

      +
      +Vector3Double location
      +
      +
      location +

      +

      +
      +
      +
      +

      +orientation

      +
      +Orientation orientation
      +
      +
      orientation +

      +

      +
      +
      +
      +

      +segmentLength

      +
      +int segmentLength
      +
      +
      segmentLength +

      +

      +
      +
      +
      +

      +segmentWidth

      +
      +int segmentWidth
      +
      +
      segmentWidth +

      +

      +
      +
      +
      +

      +segmentHeight

      +
      +int segmentHeight
      +
      +
      segmentHeight +

      +

      +
      +
      +
      +

      +segmentDepth

      +
      +int segmentDepth
      +
      +
      segment Depth +

      +

      +
      +
      +
      +

      +pad1

      +
      +long pad1
      +
      +
      segment Depth +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.LogisticsFamilyPdu extends Pdu implements Serializable
      + +

      + +

      + + + + + +
      +Class edu.nps.moves.dis.Marking extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +characterSet

      +
      +short characterSet
      +
      +
      The character set +

      +

      +
      +
      +
      +

      +characters

      +
      +byte[] characters
      +
      +
      The characters +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.MinefieldDataPdu extends MinefieldFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +minefieldID

      +
      +EntityID minefieldID
      +
      +
      Minefield ID +

      +

      +
      +
      +
      +

      +requestingEntityID

      +
      +EntityID requestingEntityID
      +
      +
      ID of entity making request +

      +

      +
      +
      +
      +

      +minefieldSequenceNumbeer

      +
      +int minefieldSequenceNumbeer
      +
      +
      Minefield sequence number +

      +

      +
      +
      +
      +

      +requestID

      +
      +short requestID
      +
      +
      request ID +

      +

      +
      +
      +
      +

      +pduSequenceNumber

      +
      +short pduSequenceNumber
      +
      +
      pdu sequence number +

      +

      +
      +
      +
      +

      +numberOfPdus

      +
      +short numberOfPdus
      +
      +
      number of pdus in response +

      +

      +
      +
      +
      +

      +numberOfMinesInThisPdu

      +
      +short numberOfMinesInThisPdu
      +
      +
      how many mines are in this PDU +

      +

      +
      +
      +
      +

      +numberOfSensorTypes

      +
      +short numberOfSensorTypes
      +
      +
      how many sensor type are in this PDU +

      +

      +
      +
      +
      +

      +pad2

      +
      +short pad2
      +
      +
      padding +

      +

      +
      +
      +
      +

      +dataFilter

      +
      +long dataFilter
      +
      +
      32 boolean fields +

      +

      +
      +
      +
      +

      +mineType

      +
      +EntityType mineType
      +
      +
      Mine type +

      +

      +
      +
      +
      +

      +sensorTypes

      +
      +java.util.List<E> sensorTypes
      +
      +
      Sensor types, each 16 bits long +

      +

      +
      +
      +
      +

      +pad3

      +
      +short pad3
      +
      +
      Padding to get things 32-bit aligned. @@@this is wrong--dyanmically sized padding needed +

      +

      +
      +
      +
      +

      +mineLocation

      +
      +java.util.List<E> mineLocation
      +
      +
      Mine locations +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.MinefieldFamilyPdu extends Pdu implements Serializable
      + +

      + +

      + + + + + +
      +Class edu.nps.moves.dis.MinefieldQueryPdu extends MinefieldFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +minefieldID

      +
      +EntityID minefieldID
      +
      +
      Minefield ID +

      +

      +
      +
      +
      +

      +requestingEntityID

      +
      +EntityID requestingEntityID
      +
      +
      EID of entity making the request +

      +

      +
      +
      +
      +

      +requestID

      +
      +short requestID
      +
      +
      request ID +

      +

      +
      +
      +
      +

      +numberOfPerimeterPoints

      +
      +short numberOfPerimeterPoints
      +
      +
      Number of perimeter points for the minefield +

      +

      +
      +
      +
      +

      +pad2

      +
      +short pad2
      +
      +
      Padding +

      +

      +
      +
      +
      +

      +numberOfSensorTypes

      +
      +short numberOfSensorTypes
      +
      +
      Number of sensor types +

      +

      +
      +
      +
      +

      +dataFilter

      +
      +long dataFilter
      +
      +
      data filter, 32 boolean fields +

      +

      +
      +
      +
      +

      +requestedMineType

      +
      +EntityType requestedMineType
      +
      +
      Entity type of mine being requested +

      +

      +
      +
      +
      +

      +requestedPerimeterPoints

      +
      +java.util.List<E> requestedPerimeterPoints
      +
      +
      perimeter points of request +

      +

      +
      +
      +
      +

      +sensorTypes

      +
      +java.util.List<E> sensorTypes
      +
      +
      Sensor types, each 16 bits long +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.MinefieldResponseNackPdu extends MinefieldFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +minefieldID

      +
      +EntityID minefieldID
      +
      +
      Minefield ID +

      +

      +
      +
      +
      +

      +requestingEntityID

      +
      +EntityID requestingEntityID
      +
      +
      entity ID making the request +

      +

      +
      +
      +
      +

      +requestID

      +
      +short requestID
      +
      +
      request ID +

      +

      +
      +
      +
      +

      +numberOfMissingPdus

      +
      +short numberOfMissingPdus
      +
      +
      how many pdus were missing +

      +

      +
      +
      +
      +

      +missingPduSequenceNumbers

      +
      +java.util.List<E> missingPduSequenceNumbers
      +
      +
      PDU sequence numbers that were missing +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.MinefieldStatePdu extends MinefieldFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +minefieldID

      +
      +EntityID minefieldID
      +
      +
      Minefield ID +

      +

      +
      +
      +
      +

      +minefieldSequence

      +
      +int minefieldSequence
      +
      +
      Minefield sequence +

      +

      +
      +
      +
      +

      +forceID

      +
      +short forceID
      +
      +
      force ID +

      +

      +
      +
      +
      +

      +numberOfPerimeterPoints

      +
      +short numberOfPerimeterPoints
      +
      +
      Number of permieter points +

      +

      +
      +
      +
      +

      +minefieldType

      +
      +EntityType minefieldType
      +
      +
      type of minefield +

      +

      +
      +
      +
      +

      +numberOfMineTypes

      +
      +int numberOfMineTypes
      +
      +
      how many mine types +

      +

      +
      +
      +
      +

      +minefieldLocation

      +
      +Vector3Double minefieldLocation
      +
      +
      location of minefield in world coords +

      +

      +
      +
      +
      +

      +minefieldOrientation

      +
      +Orientation minefieldOrientation
      +
      +
      orientation of minefield +

      +

      +
      +
      +
      +

      +appearance

      +
      +int appearance
      +
      +
      appearance bitflags +

      +

      +
      +
      +
      +

      +protocolMode

      +
      +int protocolMode
      +
      +
      protocolMode +

      +

      +
      +
      +
      +

      +perimeterPoints

      +
      +java.util.List<E> perimeterPoints
      +
      +
      perimeter points for the minefield +

      +

      +
      +
      +
      +

      +mineType

      +
      +java.util.List<E> mineType
      +
      +
      Type of mines +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.ModulationType extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +spreadSpectrum

      +
      +int spreadSpectrum
      +
      +
      spread spectrum, 16 bit boolean array +

      +

      +
      +
      +
      +

      +major

      +
      +int major
      +
      +
      major +

      +

      +
      +
      +
      +

      +detail

      +
      +int detail
      +
      +
      detail +

      +

      +
      +
      +
      +

      +system

      +
      +int system
      +
      +
      system +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.NamedLocation extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +stationName

      +
      +int stationName
      +
      +
      station name enumeration +

      +

      +
      +
      +
      +

      +stationNumber

      +
      +int stationNumber
      +
      +
      station number +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.ObjectType extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +entityKind

      +
      +short entityKind
      +
      +
      Kind of entity +

      +

      +
      +
      +
      +

      +domain

      +
      +short domain
      +
      +
      Domain of entity (air, surface, subsurface, space, etc) +

      +

      +
      +
      +
      +

      +country

      +
      +int country
      +
      +
      country to which the design of the entity is attributed +

      +

      +
      +
      +
      +

      +category

      +
      +short category
      +
      +
      category of entity +

      +

      +
      +
      +
      +

      +subcategory

      +
      +short subcategory
      +
      +
      subcategory of entity +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.OneByteChunk extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +otherParameters

      +
      +byte[] otherParameters
      +
      +
      one byte of arbitrary data +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.Orientation extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +psi

      +
      +float psi
      +
      +
      +
      +
      +
      +

      +theta

      +
      +float theta
      +
      +
      +
      +
      +
      +

      +phi

      +
      +float phi
      +
      +
      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.Pdu extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +protocolVersion

      +
      +short protocolVersion
      +
      +
      The version of the protocol. 5=DIS-1995, 6=DIS-1998. +

      +

      +
      +
      +
      +

      +exerciseID

      +
      +short exerciseID
      +
      +
      Exercise ID +

      +

      +
      +
      +
      +

      +pduType

      +
      +short pduType
      +
      +
      Type of pdu, unique for each PDU class +

      +

      +
      +
      +
      +

      +protocolFamily

      +
      +short protocolFamily
      +
      +
      value that refers to the protocol family, eg SimulationManagement, et +

      +

      +
      +
      +
      +

      +timestamp

      +
      +long timestamp
      +
      +
      Timestamp value +

      +

      +
      +
      +
      +

      +length

      +
      +int length
      +
      +
      Length, in bytes, of the PDU +

      +

      +
      +
      +
      +

      +padding

      +
      +short padding
      +
      +
      zero-filled array of padding +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.PduContainer extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +numberOfPdus

      +
      +int numberOfPdus
      +
      +
      Number of PDUs in the container list +

      +

      +
      +
      +
      +

      +pdus

      +
      +java.util.List<E> pdus
      +
      +
      record sets +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.Point extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +x

      +
      +float x
      +
      +
      x +

      +

      +
      +
      +
      +

      +y

      +
      +float y
      +
      +
      y +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.PointObjectStatePdu extends SyntheticEnvironmentFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +objectID

      +
      +EntityID objectID
      +
      +
      Object in synthetic environment +

      +

      +
      +
      +
      +

      +referencedObjectID

      +
      +EntityID referencedObjectID
      +
      +
      Object with which this point object is associated +

      +

      +
      +
      +
      +

      +updateNumber

      +
      +int updateNumber
      +
      +
      unique update number of each state transition of an object +

      +

      +
      +
      +
      +

      +forceID

      +
      +short forceID
      +
      +
      force ID +

      +

      +
      +
      +
      +

      +modifications

      +
      +short modifications
      +
      +
      modifications +

      +

      +
      +
      +
      +

      +objectType

      +
      +ObjectType objectType
      +
      +
      Object type +

      +

      +
      +
      +
      +

      +objectLocation

      +
      +Vector3Double objectLocation
      +
      +
      Object location +

      +

      +
      +
      +
      +

      +objectOrientation

      +
      +Orientation objectOrientation
      +
      +
      Object orientation +

      +

      +
      +
      +
      +

      +objectAppearance

      +
      +double objectAppearance
      +
      +
      Object apperance +

      +

      +
      +
      +
      +

      +requesterID

      +
      +SimulationAddress requesterID
      +
      +
      requesterID +

      +

      +
      +
      +
      +

      +receivingID

      +
      +SimulationAddress receivingID
      +
      +
      receiver ID +

      +

      +
      +
      +
      +

      +pad2

      +
      +long pad2
      +
      +
      padding +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.PropulsionSystemData extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +powerSetting

      +
      +float powerSetting
      +
      +
      powerSetting +

      +

      +
      +
      +
      +

      +engineRpm

      +
      +float engineRpm
      +
      +
      engine RPMs +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.RadioCommunicationsFamilyPdu extends Pdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +entityId

      +
      +EntityID entityId
      +
      +
      ID of the entitythat is the source of the communication +

      +

      +
      +
      +
      +

      +radioId

      +
      +int radioId
      +
      +
      particular radio within an entity +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.RadioEntityType extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +entityKind

      +
      +short entityKind
      +
      +
      Kind of entity +

      +

      +
      +
      +
      +

      +domain

      +
      +short domain
      +
      +
      Domain of entity (air, surface, subsurface, space, etc) +

      +

      +
      +
      +
      +

      +country

      +
      +int country
      +
      +
      country to which the design of the entity is attributed +

      +

      +
      +
      +
      +

      +category

      +
      +short category
      +
      +
      category of entity +

      +

      +
      +
      +
      +

      +nomenclatureVersion

      +
      +short nomenclatureVersion
      +
      +
      specific info based on subcategory field +

      +

      +
      +
      +
      +

      +nomenclature

      +
      +int nomenclature
      +
      +
      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.ReceiverPdu extends RadioCommunicationsFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +receiverState

      +
      +int receiverState
      +
      +
      encoding scheme used, and enumeration +

      +

      +
      +
      +
      +

      +padding1

      +
      +int padding1
      +
      +
      padding +

      +

      +
      +
      +
      +

      +receivedPoser

      +
      +float receivedPoser
      +
      +
      received power +

      +

      +
      +
      +
      +

      +transmitterEntityId

      +
      +EntityID transmitterEntityId
      +
      +
      ID of transmitter +

      +

      +
      +
      +
      +

      +transmitterRadioId

      +
      +int transmitterRadioId
      +
      +
      ID of transmitting radio +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.RecordQueryReliablePdu extends SimulationManagementWithReliabilityFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +requestID

      +
      +long requestID
      +
      +
      request ID +

      +

      +
      +
      +
      +

      +requiredReliabilityService

      +
      +short requiredReliabilityService
      +
      +
      level of reliability service used for this transaction +

      +

      +
      +
      +
      +

      +pad1

      +
      +int pad1
      +
      +
      padding. The spec is unclear and contradictory here. +

      +

      +
      +
      +
      +

      +pad2

      +
      +short pad2
      +
      +
      padding +

      +

      +
      +
      +
      +

      +eventType

      +
      +int eventType
      +
      +
      event type +

      +

      +
      +
      +
      +

      +time

      +
      +long time
      +
      +
      time +

      +

      +
      +
      +
      +

      +numberOfRecords

      +
      +long numberOfRecords
      +
      +
      numberOfRecords +

      +

      +
      +
      +
      +

      +recordIDs

      +
      +java.util.List<E> recordIDs
      +
      +
      record IDs +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.RecordSet extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +recordID

      +
      +long recordID
      +
      +
      record ID +

      +

      +
      +
      +
      +

      +recordSetSerialNumber

      +
      +long recordSetSerialNumber
      +
      +
      record set serial number +

      +

      +
      +
      +
      +

      +recordLength

      +
      +int recordLength
      +
      +
      record length +

      +

      +
      +
      +
      +

      +recordCount

      +
      +int recordCount
      +
      +
      record count +

      +

      +
      +
      +
      +

      +recordValues

      +
      +int recordValues
      +
      +
      +
      +
      +
      +

      +pad4

      +
      +short pad4
      +
      +
      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.Relationship extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +nature

      +
      +int nature
      +
      +
      Nature of join +

      +

      +
      +
      +
      +

      +position

      +
      +int position
      +
      +
      position of join +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.RemoveEntityPdu extends SimulationManagementFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +requestID

      +
      +long requestID
      +
      +
      Identifier for the request +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.RemoveEntityReliablePdu extends SimulationManagementWithReliabilityFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +requiredReliabilityService

      +
      +short requiredReliabilityService
      +
      +
      level of reliability service used for this transaction +

      +

      +
      +
      +
      +

      +pad1

      +
      +int pad1
      +
      +
      padding +

      +

      +
      +
      +
      +

      +pad2

      +
      +short pad2
      +
      +
      padding +

      +

      +
      +
      +
      +

      +requestID

      +
      +long requestID
      +
      +
      Request ID +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.RepairCompletePdu extends LogisticsFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +receivingEntityID

      +
      +EntityID receivingEntityID
      +
      +
      Entity that is receiving service +

      +

      +
      +
      +
      +

      +repairingEntityID

      +
      +EntityID repairingEntityID
      +
      +
      Entity that is supplying +

      +

      +
      +
      +
      +

      +repair

      +
      +int repair
      +
      +
      Enumeration for type of repair +

      +

      +
      +
      +
      +

      +padding

      +
      +short padding
      +
      +
      padding +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.RepairResponsePdu extends LogisticsFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +receivingEntityID

      +
      +EntityID receivingEntityID
      +
      +
      Entity that is receiving service +

      +

      +
      +
      +
      +

      +repairingEntityID

      +
      +EntityID repairingEntityID
      +
      +
      Entity that is supplying +

      +

      +
      +
      +
      +

      +repairResult

      +
      +short repairResult
      +
      +
      Result of repair operation +

      +

      +
      +
      +
      +

      +padding1

      +
      +short padding1
      +
      +
      padding +

      +

      +
      +
      +
      +

      +padding2

      +
      +byte padding2
      +
      +
      padding +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.ResupplyCancelPdu extends LogisticsFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +receivingEntityID

      +
      +EntityID receivingEntityID
      +
      +
      Entity that is receiving service +

      +

      +
      +
      +
      +

      +supplyingEntityID

      +
      +EntityID supplyingEntityID
      +
      +
      Entity that is supplying +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.ResupplyOfferPdu extends LogisticsFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +receivingEntityID

      +
      +EntityID receivingEntityID
      +
      +
      Entity that is receiving service +

      +

      +
      +
      +
      +

      +supplyingEntityID

      +
      +EntityID supplyingEntityID
      +
      +
      Entity that is supplying +

      +

      +
      +
      +
      +

      +numberOfSupplyTypes

      +
      +short numberOfSupplyTypes
      +
      +
      how many supplies are being offered +

      +

      +
      +
      +
      +

      +padding1

      +
      +short padding1
      +
      +
      padding +

      +

      +
      +
      +
      +

      +padding2

      +
      +byte padding2
      +
      +
      padding +

      +

      +
      +
      +
      +

      +supplies

      +
      +java.util.List<E> supplies
      +
      +
      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.ResupplyReceivedPdu extends LogisticsFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +receivingEntityID

      +
      +EntityID receivingEntityID
      +
      +
      Entity that is receiving service +

      +

      +
      +
      +
      +

      +supplyingEntityID

      +
      +EntityID supplyingEntityID
      +
      +
      Entity that is supplying +

      +

      +
      +
      +
      +

      +numberOfSupplyTypes

      +
      +short numberOfSupplyTypes
      +
      +
      how many supplies are being offered +

      +

      +
      +
      +
      +

      +padding1

      +
      +short padding1
      +
      +
      padding +

      +

      +
      +
      +
      +

      +padding2

      +
      +byte padding2
      +
      +
      padding +

      +

      +
      +
      +
      +

      +supplies

      +
      +java.util.List<E> supplies
      +
      +
      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.SeesPdu extends DistributedEmissionsFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +orginatingEntityID

      +
      +EntityID orginatingEntityID
      +
      +
      Originating entity ID +

      +

      +
      +
      +
      +

      +infraredSignatureRepresentationIndex

      +
      +int infraredSignatureRepresentationIndex
      +
      +
      IR Signature representation index +

      +

      +
      +
      +
      +

      +acousticSignatureRepresentationIndex

      +
      +int acousticSignatureRepresentationIndex
      +
      +
      acoustic Signature representation index +

      +

      +
      +
      +
      +

      +radarCrossSectionSignatureRepresentationIndex

      +
      +int radarCrossSectionSignatureRepresentationIndex
      +
      +
      radar cross section representation index +

      +

      +
      +
      +
      +

      +numberOfPropulsionSystems

      +
      +int numberOfPropulsionSystems
      +
      +
      how many propulsion systems +

      +

      +
      +
      +
      +

      +numberOfVectoringNozzleSystems

      +
      +int numberOfVectoringNozzleSystems
      +
      +
      how many vectoring nozzle systems +

      +

      +
      +
      +
      +

      +propulsionSystemData

      +
      +java.util.List<E> propulsionSystemData
      +
      +
      variable length list of propulsion system data +

      +

      +
      +
      +
      +

      +vectoringSystemData

      +
      +java.util.List<E> vectoringSystemData
      +
      +
      variable length list of vectoring system data +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.ServiceRequestPdu extends LogisticsFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +requestingEntityID

      +
      +EntityID requestingEntityID
      +
      +
      Entity that is requesting service +

      +

      +
      +
      +
      +

      +servicingEntityID

      +
      +EntityID servicingEntityID
      +
      +
      Entity that is providing the service +

      +

      +
      +
      +
      +

      +serviceTypeRequested

      +
      +short serviceTypeRequested
      +
      +
      type of service requested +

      +

      +
      +
      +
      +

      +numberOfSupplyTypes

      +
      +short numberOfSupplyTypes
      +
      +
      How many requested +

      +

      +
      +
      +
      +

      +serviceRequestPadding

      +
      +short serviceRequestPadding
      +
      +
      padding +

      +

      +
      +
      +
      +

      +supplies

      +
      +java.util.List<E> supplies
      +
      +
      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.SetDataPdu extends SimulationManagementFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +requestID

      +
      +long requestID
      +
      +
      ID of request +

      +

      +
      +
      +
      +

      +padding1

      +
      +long padding1
      +
      +
      padding +

      +

      +
      +
      +
      +

      +numberOfFixedDatumRecords

      +
      +long numberOfFixedDatumRecords
      +
      +
      Number of fixed datum records +

      +

      +
      +
      +
      +

      +numberOfVariableDatumRecords

      +
      +long numberOfVariableDatumRecords
      +
      +
      Number of variable datum records +

      +

      +
      +
      +
      +

      +fixedDatums

      +
      +java.util.List<E> fixedDatums
      +
      +
      variable length list of fixed datums +

      +

      +
      +
      +
      +

      +variableDatums

      +
      +java.util.List<E> variableDatums
      +
      +
      variable length list of variable length datums +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.SetDataReliablePdu extends SimulationManagementWithReliabilityFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +requiredReliabilityService

      +
      +short requiredReliabilityService
      +
      +
      level of reliability service used for this transaction +

      +

      +
      +
      +
      +

      +pad1

      +
      +int pad1
      +
      +
      padding +

      +

      +
      +
      +
      +

      +pad2

      +
      +short pad2
      +
      +
      padding +

      +

      +
      +
      +
      +

      +requestID

      +
      +long requestID
      +
      +
      Request ID +

      +

      +
      +
      +
      +

      +numberOfFixedDatumRecords

      +
      +long numberOfFixedDatumRecords
      +
      +
      Fixed datum record count +

      +

      +
      +
      +
      +

      +numberOfVariableDatumRecords

      +
      +long numberOfVariableDatumRecords
      +
      +
      variable datum record count +

      +

      +
      +
      +
      +

      +fixedDatumRecords

      +
      +java.util.List<E> fixedDatumRecords
      +
      +
      Fixed datum records +

      +

      +
      +
      +
      +

      +variableDatumRecords

      +
      +java.util.List<E> variableDatumRecords
      +
      +
      Variable datum records +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.SetRecordReliablePdu extends SimulationManagementWithReliabilityFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +requestID

      +
      +long requestID
      +
      +
      request ID +

      +

      +
      +
      +
      +

      +requiredReliabilityService

      +
      +short requiredReliabilityService
      +
      +
      level of reliability service used for this transaction +

      +

      +
      +
      +
      +

      +pad1

      +
      +int pad1
      +
      +
      padding. The spec is unclear and contradictory here. +

      +

      +
      +
      +
      +

      +pad2

      +
      +short pad2
      +
      +
      padding +

      +

      +
      +
      +
      +

      +numberOfRecordSets

      +
      +long numberOfRecordSets
      +
      +
      Number of record sets in list +

      +

      +
      +
      +
      +

      +recordSets

      +
      +java.util.List<E> recordSets
      +
      +
      record sets +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.ShaftRPMs extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +currentShaftRPMs

      +
      +short currentShaftRPMs
      +
      +
      Current shaft RPMs +

      +

      +
      +
      +
      +

      +orderedShaftRPMs

      +
      +short orderedShaftRPMs
      +
      +
      ordered shaft rpms +

      +

      +
      +
      +
      +

      +shaftRPMRateOfChange

      +
      +float shaftRPMRateOfChange
      +
      +
      rate of change of shaft RPMs +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.SignalPdu extends RadioCommunicationsFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +encodingScheme

      +
      +int encodingScheme
      +
      +
      encoding scheme used, and enumeration +

      +

      +
      +
      +
      +

      +tdlType

      +
      +int tdlType
      +
      +
      tdl type +

      +

      +
      +
      +
      +

      +sampleRate

      +
      +int sampleRate
      +
      +
      sample rate +

      +

      +
      +
      +
      +

      +dataLength

      +
      +short dataLength
      +
      +
      length od data +

      +

      +
      +
      +
      +

      +samples

      +
      +short samples
      +
      +
      number of samples +

      +

      +
      +
      +
      +

      +data

      +
      +java.util.List<E> data
      +
      +
      list of eight bit values +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.SimulationAddress extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +site

      +
      +int site
      +
      +
      The site ID +

      +

      +
      +
      +
      +

      +application

      +
      +int application
      +
      +
      The application ID +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.SimulationManagementFamilyPdu extends Pdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +originatingEntityID

      +
      +EntityID originatingEntityID
      +
      +
      Entity that is sending message +

      +

      +
      +
      +
      +

      +receivingEntityID

      +
      +EntityID receivingEntityID
      +
      +
      Entity that is intended to receive message +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.SimulationManagementWithReliabilityFamilyPdu extends Pdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +originatingEntityID

      +
      +EntityID originatingEntityID
      +
      +
      Object originatig the request +

      +

      +
      +
      +
      +

      +receivingEntityID

      +
      +EntityID receivingEntityID
      +
      +
      Object with which this point object is associated +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.SixByteChunk extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +otherParameters

      +
      +byte[] otherParameters
      +
      +
      six bytes of arbitrary data +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.SphericalHarmonicAntennaPattern extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +order

      +
      +byte order
      +
      +
      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.StartResumePdu extends SimulationManagementFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +realWorldTime

      +
      +ClockTime realWorldTime
      +
      +
      UTC time at which the simulation shall start or resume +

      +

      +
      +
      +
      +

      +simulationTime

      +
      +ClockTime simulationTime
      +
      +
      Simulation clock time at which the simulation shall start or resume +

      +

      +
      +
      +
      +

      +requestID

      +
      +long requestID
      +
      +
      Identifier for the request +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.StartResumeReliablePdu extends SimulationManagementWithReliabilityFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +realWorldTime

      +
      +ClockTime realWorldTime
      +
      +
      time in real world for this operation to happen +

      +

      +
      +
      +
      +

      +simulationTime

      +
      +ClockTime simulationTime
      +
      +
      time in simulation for the simulation to resume +

      +

      +
      +
      +
      +

      +requiredReliabilityService

      +
      +short requiredReliabilityService
      +
      +
      level of reliability service used for this transaction +

      +

      +
      +
      +
      +

      +pad1

      +
      +int pad1
      +
      +
      padding +

      +

      +
      +
      +
      +

      +pad2

      +
      +short pad2
      +
      +
      padding +

      +

      +
      +
      +
      +

      +requestID

      +
      +long requestID
      +
      +
      Request ID +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.StopFreezePdu extends SimulationManagementFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +realWorldTime

      +
      +ClockTime realWorldTime
      +
      +
      UTC time at which the simulation shall stop or freeze +

      +

      +
      +
      +
      +

      +reason

      +
      +short reason
      +
      +
      Reason the simulation was stopped or frozen +

      +

      +
      +
      +
      +

      +frozenBehavior

      +
      +short frozenBehavior
      +
      +
      Internal behavior of the simulation and its appearance while frozento the other participants +

      +

      +
      +
      +
      +

      +padding1

      +
      +short padding1
      +
      +
      padding +

      +

      +
      +
      +
      +

      +requestID

      +
      +long requestID
      +
      +
      Request ID that is unique +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.StopFreezeReliablePdu extends SimulationManagementWithReliabilityFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +realWorldTime

      +
      +ClockTime realWorldTime
      +
      +
      time in real world for this operation to happen +

      +

      +
      +
      +
      +

      +reason

      +
      +short reason
      +
      +
      Reason for stopping/freezing simulation +

      +

      +
      +
      +
      +

      +frozenBehavior

      +
      +short frozenBehavior
      +
      +
      internal behvior of the simulation while frozen +

      +

      +
      +
      +
      +

      +requiredReliablityService

      +
      +short requiredReliablityService
      +
      +
      reliablity level +

      +

      +
      +
      +
      +

      +pad1

      +
      +short pad1
      +
      +
      padding +

      +

      +
      +
      +
      +

      +requestID

      +
      +long requestID
      +
      +
      Request ID +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.SupplyQuantity extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +supplyType

      +
      +EntityType supplyType
      +
      +
      Type of supply +

      +

      +
      +
      +
      +

      +quantity

      +
      +short quantity
      +
      +
      quantity to be supplied +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.SyntheticEnvironmentFamilyPdu extends Pdu implements Serializable
      + +

      + +

      + + + + + +
      +Class edu.nps.moves.dis.SystemID extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +systemType

      +
      +int systemType
      +
      +
      System Type +

      +

      +
      +
      +
      +

      +systemName

      +
      +int systemName
      +
      +
      System name, an enumeration +

      +

      +
      +
      +
      +

      +systemMode

      +
      +short systemMode
      +
      +
      System mode +

      +

      +
      +
      +
      +

      +changeOptions

      +
      +short changeOptions
      +
      +
      Change Options +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.TrackJamTarget extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +trackJam

      +
      +EntityID trackJam
      +
      +
      track/jam target +

      +

      +
      +
      +
      +

      +emitterID

      +
      +short emitterID
      +
      +
      Emitter ID +

      +

      +
      +
      +
      +

      +beamID

      +
      +short beamID
      +
      +
      beam ID +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.TransferControlRequestPdu extends EntityManagementFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +orginatingEntityID

      +
      +EntityID orginatingEntityID
      +
      +
      ID of entity originating request +

      +

      +
      +
      +
      +

      +recevingEntityID

      +
      +EntityID recevingEntityID
      +
      +
      ID of entity receiving request +

      +

      +
      +
      +
      +

      +requestID

      +
      +long requestID
      +
      +
      ID ofrequest +

      +

      +
      +
      +
      +

      +requiredReliabilityService

      +
      +short requiredReliabilityService
      +
      +
      required level of reliabliity service. +

      +

      +
      +
      +
      +

      +tranferType

      +
      +short tranferType
      +
      +
      type of transfer desired +

      +

      +
      +
      +
      +

      +transferEntityID

      +
      +EntityID transferEntityID
      +
      +
      The entity for which control is being requested to transfer +

      +

      +
      +
      +
      +

      +numberOfRecordSets

      +
      +short numberOfRecordSets
      +
      +
      number of record sets to transfer +

      +

      +
      +
      +
      +

      +recordSets

      +
      +java.util.List<E> recordSets
      +
      +
      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.TransmitterPdu extends RadioCommunicationsFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +radioEntityType

      +
      +RadioEntityType radioEntityType
      +
      +
      linear accelleration of entity +

      +

      +
      +
      +
      +

      +transmitState

      +
      +short transmitState
      +
      +
      transmit state +

      +

      +
      +
      +
      +

      +inputSource

      +
      +short inputSource
      +
      +
      input source +

      +

      +
      +
      +
      +

      +padding1

      +
      +int padding1
      +
      +
      padding +

      +

      +
      +
      +
      +

      +antennaLocation

      +
      +Vector3Double antennaLocation
      +
      +
      Location of antenna +

      +

      +
      +
      +
      +

      +relativeAntennaLocation

      +
      +Vector3Float relativeAntennaLocation
      +
      +
      relative location of antenna +

      +

      +
      +
      +
      +

      +antennaPatternType

      +
      +int antennaPatternType
      +
      +
      antenna pattern type +

      +

      +
      +
      +
      +

      +antennaPatternCount

      +
      +int antennaPatternCount
      +
      +
      atenna pattern length +

      +

      +
      +
      +
      +

      +frequency

      +
      +double frequency
      +
      +
      frequency +

      +

      +
      +
      +
      +

      +transmitFrequencyBandwidth

      +
      +float transmitFrequencyBandwidth
      +
      +
      transmit frequency Bandwidth +

      +

      +
      +
      +
      +

      +power

      +
      +float power
      +
      +
      transmission power +

      +

      +
      +
      +
      +

      +modulationType

      +
      +ModulationType modulationType
      +
      +
      modulation +

      +

      +
      +
      +
      +

      +cryptoSystem

      +
      +int cryptoSystem
      +
      +
      crypto system enumeration +

      +

      +
      +
      +
      +

      +cryptoKeyId

      +
      +int cryptoKeyId
      +
      +
      crypto system key identifer +

      +

      +
      +
      +
      +

      +modulationParameterCount

      +
      +short modulationParameterCount
      +
      +
      how many modulation parameters we have +

      +

      +
      +
      +
      +

      +padding2

      +
      +int padding2
      +
      +
      padding2 +

      +

      +
      +
      +
      +

      +padding3

      +
      +short padding3
      +
      +
      padding3 +

      +

      +
      +
      +
      +

      +modulationParametersList

      +
      +java.util.List<E> modulationParametersList
      +
      +
      variable length list of modulation parameters +

      +

      +
      +
      +
      +

      +antennaPatternList

      +
      +java.util.List<E> antennaPatternList
      +
      +
      variable length list of antenna pattern records +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.TwoByteChunk extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +otherParameters

      +
      +byte[] otherParameters
      +
      +
      two bytes of arbitrary data +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.UaPdu extends DistributedEmissionsFamilyPdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +emittingEntityID

      +
      +EntityID emittingEntityID
      +
      +
      ID of the entity that is the source of the emission +

      +

      +
      +
      +
      +

      +eventID

      +
      +EventID eventID
      +
      +
      ID of event +

      +

      +
      +
      +
      +

      +stateChangeIndicator

      +
      +byte stateChangeIndicator
      +
      +
      This field shall be used to indicate whether the data in the UA PDU represent a state update or data that have changed since issuance of the last UA PDU +

      +

      +
      +
      +
      +

      +pad

      +
      +byte pad
      +
      +
      padding +

      +

      +
      +
      +
      +

      +passiveParameterIndex

      +
      +int passiveParameterIndex
      +
      +
      This field indicates which database record (or file) shall be used in the definition of passive signature (unintentional) emissions of the entity. The indicated database record (or file) shall define all noise generated as a function of propulsion plant configurations and associated auxiliaries. +

      +

      +
      +
      +
      +

      +propulsionPlantConfiguration

      +
      +short propulsionPlantConfiguration
      +
      +
      This field shall specify the entity propulsion plant configuration. This field is used to determine the passive signature characteristics of an entity. +

      +

      +
      +
      +
      +

      +numberOfShafts

      +
      +short numberOfShafts
      +
      +
      This field shall represent the number of shafts on a platform +

      +

      +
      +
      +
      +

      +numberOfAPAs

      +
      +short numberOfAPAs
      +
      +
      This field shall indicate the number of APAs described in the current UA PDU +

      +

      +
      +
      +
      +

      +numberOfUAEmitterSystems

      +
      +short numberOfUAEmitterSystems
      +
      +
      This field shall specify the number of UA emitter systems being described in the current UA PDU +

      +

      +
      +
      +
      +

      +shaftRPMs

      +
      +java.util.List<E> shaftRPMs
      +
      +
      shaft RPM values +

      +

      +
      +
      +
      +

      +apaData

      +
      +java.util.List<E> apaData
      +
      +
      apaData +

      +

      +
      +
      +
      +

      +emitterSystems

      +
      +java.util.List<E> emitterSystems
      +
      +
      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.VariableDatum extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +variableDatumID

      +
      +long variableDatumID
      +
      +
      ID of the variable datum +

      +

      +
      +
      +
      +

      +variableDatumLength

      +
      +long variableDatumLength
      +
      +
      length of the variable datums +

      +

      +
      +
      +
      +

      +variableDatums

      +
      +java.util.List<E> variableDatums
      +
      +
      variable length list of 64-bit datums +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.Vector3Double extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +x

      +
      +double x
      +
      +
      X value +

      +

      +
      +
      +
      +

      +y

      +
      +double y
      +
      +
      Y value +

      +

      +
      +
      +
      +

      +z

      +
      +double z
      +
      +
      Z value +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.Vector3Float extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +x

      +
      +float x
      +
      +
      X value +

      +

      +
      +
      +
      +

      +y

      +
      +float y
      +
      +
      y Value +

      +

      +
      +
      +
      +

      +z

      +
      +float z
      +
      +
      Z value +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.VectoringNozzleSystemData extends java.lang.Object implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +horizontalDeflectionAngle

      +
      +float horizontalDeflectionAngle
      +
      +
      horizontal deflection angle +

      +

      +
      +
      +
      +

      +verticalDeflectionAngle

      +
      +float verticalDeflectionAngle
      +
      +
      vertical deflection angle +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.dis.WarfareFamilyPdu extends Pdu implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +firingEntityID

      +
      +EntityID firingEntityID
      +
      +
      ID of the entity that shot +

      +

      +
      +
      +
      +

      +targetEntityID

      +
      +EntityID targetEntityID
      +
      +
      ID of the entity that is being shot at +

      +

      +
      +
      +
      + + + + + +
      +Package edu.nps.moves.disutil
      + +

      + + + + + +
      +Class edu.nps.moves.disutil.NioServer.Event extends java.util.EventObject implements Serializable
      + +

      +serialVersionUID: 1L + +

      + + + + + +
      +Serialized Fields
      + +

      +key

      +
      +java.nio.channels.SelectionKey key
      +
      +
      The key associated with this (reusable) event. + Use setKey(..) to change the key between firings. +

      +

      +
      +
      +
      +

      +buffer

      +
      +java.nio.ByteBuffer buffer
      +
      +
      The buffer that holds the data, for some events. +

      +

      +
      +
      +
      +

      +remoteUdp

      +
      +java.net.SocketAddress remoteUdp
      +
      +
      The source address for incoming UDP datagrams. + The NioServer.Event.getRemoteSocketAddress() method + will return this value if data is from UDP. +

      +

      +
      +
      + +

      + + + + + +
      +Class edu.nps.moves.disutil.PduMulticastReceiver.Event extends java.util.EventObject implements Serializable
      + +

      + +

      + + + + + +
      +Class edu.nps.moves.disutil.PduNioMulticastReceiver.Event extends java.util.EventObject implements Serializable
      + +

      + +

      + + + + + +
      +Class edu.nps.moves.disutil.UdpServer.Event extends java.util.EventObject implements Serializable
      + +

      +


      + + + + + +
      +Package edu.nps.moves.examples
      + +

      + + + + + +
      +Class edu.nps.moves.examples.MemoryView extends javax.swing.JPanel implements Serializable
      + +

      + + + + + +
      +Serialized Fields
      + +

      +unitsIndexCounter

      +
      +int unitsIndexCounter
      +
      +
      +
      +
      +
      +

      +nf

      +
      +java.text.NumberFormat nf
      +
      +
      +
      +
      +
      +

      +timer

      +
      +javax.swing.Timer timer
      +
      +
      timer to invoke updating +

      +

      +
      +
      +
      +

      +jPanel1

      +
      +javax.swing.JPanel jPanel1
      +
      +
      +
      +
      +
      +

      +text

      +
      +javax.swing.JLabel text
      +
      +
      +
      +
      +
      +

      +status

      +
      +javax.swing.JProgressBar status
      +
      +
      +
      +
      +
      +

      +jPanel2

      +
      +javax.swing.JPanel jPanel2
      +
      +
      +
      +
      +
      +

      +doGarbage

      +
      +javax.swing.JButton doGarbage
      +
      +
      +
      +
      +
      +

      +doRefresh

      +
      +javax.swing.JButton doRefresh
      +
      +
      +
      +
      +
      +

      +doClose

      +
      +javax.swing.JButton doClose
      +
      +
      +
      +
      +
      +

      +jPanel3

      +
      +javax.swing.JPanel jPanel3
      +
      +
      +
      +
      +
      +

      +txtTime

      +
      +javax.swing.JLabel txtTime
      +
      +
      +
      +
      +
      +

      +time

      +
      +javax.swing.JTextField time
      +
      +
      +
      +
      +
      +

      +doTime

      +
      +javax.swing.JButton doTime
      +
      +
      +
      +
      + +

      +


      + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + diff --git a/docs/stylesheet.css b/docs/stylesheet.css new file mode 100644 index 00000000..6d31fdbc --- /dev/null +++ b/docs/stylesheet.css @@ -0,0 +1,29 @@ +/* Javadoc style sheet */ + +/* Define colors, fonts and other style attributes here to override the defaults */ + +/* Page background color */ +body { background-color: #FFFFFF } + +/* Headings */ +h1 { font-size: 145% } + +/* Table colors */ +.TableHeadingColor { background: #CCCCFF } /* Dark mauve */ +.TableSubHeadingColor { background: #EEEEFF } /* Light mauve */ +.TableRowColor { background: #FFFFFF } /* White */ + +/* Font used in left-hand frame lists */ +.FrameTitleFont { font-size: 100%; font-family: Helvetica, Arial, sans-serif } +.FrameHeadingFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif } +.FrameItemFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif } + +/* Navigation bar fonts and colors */ +.NavBarCell1 { background-color:#EEEEFF;} /* Light mauve */ +.NavBarCell1Rev { background-color:#00008B;} /* Dark Blue */ +.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;} +.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;} + +.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;} +.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;} + diff --git a/images/Heading for Bagdad_small.jpg b/images/Heading for Bagdad_small.jpg new file mode 100644 index 00000000..faf2be36 Binary files /dev/null and b/images/Heading for Bagdad_small.jpg differ diff --git a/lib/activation.jar b/lib/activation.jar new file mode 100644 index 00000000..8cbef16f Binary files /dev/null and b/lib/activation.jar differ diff --git a/lib/dis-enums_1.1.jar b/lib/dis-enums_1.1.jar new file mode 100644 index 00000000..5b611488 Binary files /dev/null and b/lib/dis-enums_1.1.jar differ diff --git a/lib/jaxb-api.jar b/lib/jaxb-api.jar new file mode 100644 index 00000000..be3d6dca Binary files /dev/null and b/lib/jaxb-api.jar differ diff --git a/lib/jaxb-impl.jar b/lib/jaxb-impl.jar new file mode 100644 index 00000000..e879db87 Binary files /dev/null and b/lib/jaxb-impl.jar differ diff --git a/lib/jaxb-xjc.jar b/lib/jaxb-xjc.jar new file mode 100644 index 00000000..508ba0dc Binary files /dev/null and b/lib/jaxb-xjc.jar differ diff --git a/lib/jaxb1-impl.jar b/lib/jaxb1-impl.jar new file mode 100644 index 00000000..a3c616de Binary files /dev/null and b/lib/jaxb1-impl.jar differ diff --git a/lib/jsr173_1.0_api.jar b/lib/jsr173_1.0_api.jar new file mode 100644 index 00000000..87ff1c1a Binary files /dev/null and b/lib/jsr173_1.0_api.jar differ diff --git a/lib/junit-4.4.jar b/lib/junit-4.4.jar new file mode 100644 index 00000000..649b0b32 Binary files /dev/null and b/lib/junit-4.4.jar differ diff --git a/lib/resolver.jar b/lib/resolver.jar new file mode 100644 index 00000000..e535bdc0 Binary files /dev/null and b/lib/resolver.jar differ diff --git a/lib/srm.jar b/lib/srm.jar new file mode 100644 index 00000000..73e55fa7 Binary files /dev/null and b/lib/srm.jar differ diff --git a/lib/xercesImpl.jar b/lib/xercesImpl.jar new file mode 100644 index 00000000..547f5630 Binary files /dev/null and b/lib/xercesImpl.jar differ diff --git a/lib/xml-apis.jar b/lib/xml-apis.jar new file mode 100644 index 00000000..d42c0ea6 Binary files /dev/null and b/lib/xml-apis.jar differ diff --git a/lib/xmlpg.jar b/lib/xmlpg.jar new file mode 100644 index 00000000..d501cf5b Binary files /dev/null and b/lib/xmlpg.jar differ diff --git a/nbbuild.xml b/nbbuild.xml new file mode 100644 index 00000000..08aa1cb5 --- /dev/null +++ b/nbbuild.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + Builds, tests, and runs the project Open-DIS C++. + + + diff --git a/nbproject/project.properties b/nbproject/project.properties new file mode 100644 index 00000000..2276c160 --- /dev/null +++ b/nbproject/project.properties @@ -0,0 +1,91 @@ +application.title=Open-DIS C++ +application.vendor=mcgredo +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +buildfile=nbbuild.xml +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Open-DIS_C__.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +file.reference.activation.jar=lib/activation.jar +file.reference.dis-enums_1.1.jar=lib/dis-enums_1.1.jar +file.reference.jaxb-api.jar=lib/jaxb-api.jar +file.reference.jaxb-impl.jar=lib/jaxb-impl.jar +file.reference.jaxb-xjc.jar=lib/jaxb-xjc.jar +file.reference.jaxb1-impl.jar=lib/jaxb1-impl.jar +file.reference.jsr173_1.0_api.jar=lib/jsr173_1.0_api.jar +file.reference.junit-4.4.jar=lib/junit-4.4.jar +file.reference.open-dis-java=java +file.reference.open-dis-javaTest=javaTest +file.reference.resolver.jar=lib/resolver.jar +file.reference.xercesImpl.jar=lib/xercesImpl.jar +file.reference.xml-apis.jar=lib/xml-apis.jar +file.reference.xmlpg.jar=lib/xmlpg.jar +includes=** +jar.compress=false +javac.classpath=\ + ${file.reference.activation.jar}:\ + ${file.reference.dis-enums_1.1.jar}:\ + ${file.reference.jaxb-api.jar}:\ + ${file.reference.jaxb-impl.jar}:\ + ${file.reference.jaxb-xjc.jar}:\ + ${file.reference.jaxb1-impl.jar}:\ + ${file.reference.jsr173_1.0_api.jar}:\ + ${file.reference.junit-4.4.jar}:\ + ${file.reference.resolver.jar}:\ + ${file.reference.xercesImpl.jar}:\ + ${file.reference.xml-apis.jar}:\ + ${file.reference.xmlpg.jar} +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.source=1.5 +javac.target=1.5 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir}:\ + ${libs.junit.classpath}:\ + ${libs.junit_4.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=edu.nps.moves.examples.EspduSender +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project +# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value +# or test-sys-prop.name=value to set system properties for unit tests): +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=${file.reference.open-dis-java} +test.src.dir=${file.reference.open-dis-javaTest} diff --git a/nbproject/project.xml b/nbproject/project.xml new file mode 100644 index 00000000..6be84b99 --- /dev/null +++ b/nbproject/project.xml @@ -0,0 +1,16 @@ + + + org.netbeans.modules.java.j2seproject + + + Open-DIS C++ + 1.6.5 + + + + + + + + + diff --git a/patches/README.txt b/patches/README.txt new file mode 100644 index 00000000..32df5b7c --- /dev/null +++ b/patches/README.txt @@ -0,0 +1,23 @@ +Contains post-processing patches for the generated code. The code generation +tool gets you close to, but not exactly at, the final code. There are some +manual changes that should be made. But these are in danger of being lost +every time new code is re-generated. + +To solve this problem, I've created patch files for Java and CPP, using +the Unix patch utility, described at http://en.wikipedia.org/wiki/Patch_(Unix) +Briefly, you generate a diff, then this diff can be applied to the +generated file. + +diff -u oldFile newFile > mods.diff # -u tells diff to output unified diff format +patch oldFile mods.diff + +The bash file in this directory runs patch using the patch files in +the java and cpp subdirectories. These patches are automatically +run if you're working on a unix-derivative development environment +and run the ant task to generate source code. If you're not running +on a Unix environment (Linux, OSX) you'll have to manually apply +the changes to the generated source. Under the Windows environment, +a pretty good choice is the Cygwin utilities, which supply a Unix +environment under windows. + +DMcG diff --git a/patches/applyPatches.bash b/patches/applyPatches.bash new file mode 100755 index 00000000..1edf2305 --- /dev/null +++ b/patches/applyPatches.bash @@ -0,0 +1,81 @@ +#!/bin/bash +# +# Unix bash shell script to apply post-processing patches to the generated source +# code. This should be run only after source code has been newly generated by the +# XMPP utility. This should be done automatically on Unix-derived operating systems +# via the ant task. You're on your own for windows. +# +# Since this is run from the project directory (one level above this), all the +# file names used should be relative to that directory. +# +# Uses the Unix patch utility. +# +# Arguments: $0 = shell script name (this file) +# $1 = product: dis, dismobile, etc. +# +# To generate a patch file, check out the current source code from svn, then +# modify it. Run the command +# svn diff SomeFile.java > SomeFile.java.patch +# to create the patch file +# +# @author DMcG +# @version $Id:$ + +echo Arguments: $0, $1, $2 + +case "$1" in + dis) + # Pdu.java, apply patch file + patch src/main/edu/nps/moves/dis/Pdu.java patches/dis/Pdu.patch + + # Marking.java, apply patch file to ensure character fields are exactly 11 bytes long after set operations + patch src/main/edu/nps/moves/dis/Marking.java patches/dis/Marking.patch + + # Apply patch to VariableDatum.java + patch src/main/edu/nps/moves/dis/VariableDatum.java patches/dis/VariableDatum.patch + + # Apply patch to EntityID to get equality, hashcode + patch src/main/edu/nps/moves/dis/EntityID.java patches/dis/EntityID.patch + + # Apply patch to Vector3Double to get some convienience methods for + # converting back and forth to DIS coordinates from lat/lon/alt. + patch src/main/edu/nps/moves/dis/Vector3Double.java patches/dis/Vector3Double.patch + ;; + + dismobile) + # Pdu.java, apply patch file + patch src/main/edu/nps/moves/dismobile/Pdu.java patches/dismobile/Pdu.patch + + # Marking.java, apply patch file to ensure character fields are exactly 11 bytes long after set operations + patch src/main/edu/nps/moves/dismobile/Marking.java patches/dismobile/Marking.patch + + # Apply patch to VariableDatum.java + patch src/main/edu/nps/moves/dismobile/VariableDatum.java patches/dismobile/VariableDatum.patch + + # Apply patch to EntityID to get equality, hashcode + patch src/main/edu/nps/moves/dismobile/EntityID.java patches/dismobile/EntityID.patch + + # Apply patch to Vector3Double to get some convienience methods for + # converting back and forth to DIS coordinates from lat/lon/alt. + patch src/main/edu/nps/moves/dismobile/Vector3Double.java patches/dismobile/Vector3Double.patch + ;; + + cpp) + # Apply patch to VariableDatum.java + patch cpp/DIS/VariableDatum.cpp patches/cpp/VariableDatum.cpp.patch + patch cpp/DIS/VariableDatum.h patches/cpp/VariableDatum.h.patch + patch cpp/DIS/Pdu.cpp patches/cpp/Pdu.patch + ;; + + cppDis7) + # Apply patch to VariableDatum.java + patch cpp/DIS7/VariableDatum.cpp patches/cppDis7/VariableDatum.cpp.patch + ;; + + + + *) + echo product not found. You should set the "product" ant property in the build.xml file. + exit + ;; + esac diff --git a/patches/cpp/Pdu.patch b/patches/cpp/Pdu.patch new file mode 100644 index 00000000..20ac5b7c --- /dev/null +++ b/patches/cpp/Pdu.patch @@ -0,0 +1,22 @@ +Index: Pdu.cpp +=================================================================== +--- Pdu.cpp (revision 737) ++++ Pdu.cpp (working copy) +@@ -70,7 +70,7 @@ + + unsigned short Pdu::getLength() const + { +- return _length; ++ return this->getMarshalledSize(); + } + + void Pdu::setLength(unsigned short pX) +@@ -95,7 +95,7 @@ + dataStream << _pduType; + dataStream << _protocolFamily; + dataStream << _timestamp; +- dataStream << _length; ++ dataStream << this->getLength(); + dataStream << _padding; + } + diff --git a/patches/cpp/VariableDatum.cpp.patch b/patches/cpp/VariableDatum.cpp.patch new file mode 100644 index 00000000..cc34966a --- /dev/null +++ b/patches/cpp/VariableDatum.cpp.patch @@ -0,0 +1,322 @@ +--- VariableDatum.cpp 2012-07-10 10:28:18.000000000 -0700 ++++ VariableDatum.cpp.fixed 2012-07-10 10:25:10.000000000 -0700 +@@ -1,136 +1,184 @@ +-#include +- ++#include ++#include ++ + using namespace DIS; +- +- +-VariableDatum::VariableDatum(): +- _variableDatumID(0), +- _variableDatumLength(0), +- _variableDatums(0) +-{ +-} +- +-VariableDatum::~VariableDatum() +-{ +- _variableDatums.clear(); +-} +- +-unsigned int VariableDatum::getVariableDatumID() const +-{ +- return _variableDatumID; +-} +- +-void VariableDatum::setVariableDatumID(unsigned int pX) +-{ +- _variableDatumID = pX; +-} +- +-unsigned int VariableDatum::getVariableDatumLength() const +-{ +- return _variableDatums.size(); +-} +- +-std::vector& VariableDatum::getVariableDatums() +-{ +- return _variableDatums; +-} +- +-const std::vector& VariableDatum::getVariableDatums() const +-{ +- return _variableDatums; +-} +- +-void VariableDatum::setVariableDatums(const std::vector& pX) +-{ +- _variableDatums = pX; +-} +- +-void VariableDatum::marshal(DataStream& dataStream) const +-{ +- dataStream << _variableDatumID; +- dataStream << ( unsigned int )_variableDatums.size(); +- +- for(size_t idx = 0; idx < _variableDatums.size(); idx++) +- { +- EightByteChunk x = _variableDatums[idx]; +- x.marshal(dataStream); +- } +- +-} +- +-void VariableDatum::unmarshal(DataStream& dataStream) +-{ +- dataStream >> _variableDatumID; +- dataStream >> _variableDatumLength; +- +- _variableDatums.clear(); +- for(size_t idx = 0; idx < _variableDatumLength; idx++) +- { +- EightByteChunk x; +- x.unmarshal(dataStream); +- _variableDatums.push_back(x); +- } +-} +- +- +-bool VariableDatum::operator ==(const VariableDatum& rhs) const +- { +- bool ivarsEqual = true; +- +- if( ! (_variableDatumID == rhs._variableDatumID) ) ivarsEqual = false; +- +- for(size_t idx = 0; idx < _variableDatums.size(); idx++) +- { +- if( ! ( _variableDatums[idx] == rhs._variableDatums[idx]) ) ivarsEqual = false; +- } +- +- +- return ivarsEqual; +- } +- +-int VariableDatum::getMarshalledSize() const +-{ +- int marshalSize = 0; +- +- marshalSize = marshalSize + 4; // _variableDatumID +- marshalSize = marshalSize + 4; // _variableDatumLength +- +- for(int idx=0; idx < _variableDatums.size(); idx++) +- { +- EightByteChunk listElement = _variableDatums[idx]; +- marshalSize = marshalSize + listElement.getMarshalledSize(); +- } +- +- return marshalSize; +-} +- +-// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +-// Redistribution and use in source and binary forms, with or without +-// modification, are permitted provided that the following conditions +-// are met: +-// +-// * Redistributions of source code must retain the above copyright +-// notice, this list of conditions and the following disclaimer. +-// * Redistributions in binary form must reproduce the above copyright +-// notice, this list of conditions and the following disclaimer +-// in the documentation and/or other materials provided with the +-// distribution. +-// * Neither the names of the Naval Postgraduate School (NPS) +-// Modeling Virtual Environments and Simulation (MOVES) Institute +-// (http://www.nps.edu and http://www.MovesInstitute.org) +-// nor the names of its contributors may be used to endorse or +-// promote products derived from this software without specific +-// prior written permission. +-// +-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +-// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +-// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +-// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +-// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +-// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +-// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +-// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +-// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +-// POSSIBILITY OF SUCH DAMAGE. ++ ++ ++VariableDatum::VariableDatum(): ++ _variableDatumID(0), ++ _variableDatumLength(0) ++{ ++ // Initialize fixed length array ++ //_variableDatums = new char[8]; ++ _arrayLength = 0; ++ ++ for(int lengthvariableDatums= 0; lengthvariableDatums < STATIC_ARRAY_LENGTH; lengthvariableDatums++) ++ { ++ _variableDatums[lengthvariableDatums] = 0; ++ } ++ ++} ++ ++VariableDatum::~VariableDatum() ++{ ++ //delete [] _variableDatums; ++} ++ ++unsigned int VariableDatum::getVariableDatumID() const ++{ ++ return _variableDatumID; ++} ++ ++void VariableDatum::setVariableDatumID(unsigned int pX) ++{ ++ _variableDatumID = pX; ++} ++ ++unsigned int VariableDatum::getVariableDatumLength() const ++{ ++ return _variableDatumLength; ++} ++ ++void VariableDatum::setVariableDatumLength(unsigned int pX) ++{ ++ _variableDatumLength = pX; ++} ++ ++char* VariableDatum::getVariableDatums() ++{ ++ return _variableDatums; ++} ++ ++const char* VariableDatum::getVariableDatums() const ++{ ++ return _variableDatums; ++} ++ ++void VariableDatum::setVariableDatums(const char* x, int length) ++{ ++ // Trying to set something too big. Punt, for now. ++ if(length > STATIC_ARRAY_LENGTH) ++ { ++ std::cout << " The VariableDatum is too large to fit into the VariableDatum object. Punting." << std::endl; ++ return; ++ } ++ ++ int byteLength = length; ++ _variableDatumLength = length * 8; // in bits ++ ++ // Figure out padding ++ int chunks = byteLength / 8; ++ int remainder = byteLength % 8; ++ if(remainder != 0) ++ chunks++; ++ _arrayLength = chunks * 8; ++ ++ int padding = 8 - remainder; ++ ++ for(int i = 0; i < length; i++) ++ { ++ _variableDatums[i] = x[i]; ++ } ++ for(int i = length; i < STATIC_ARRAY_LENGTH; i++) ++ { ++ _variableDatums[i] = 0; ++ } ++} ++ ++void VariableDatum::marshal(DataStream& dataStream) const ++{ ++ dataStream << _variableDatumID; ++ dataStream << _variableDatumLength; ++ ++ for(size_t idx = 0; idx < _arrayLength; idx++) ++ { ++ dataStream << _variableDatums[idx]; ++ } ++ ++} ++ ++void VariableDatum::unmarshal(DataStream& dataStream) ++{ ++ dataStream >> _variableDatumID; ++ dataStream >> _variableDatumLength; ++ ++ int byteLength = _variableDatumLength / 8; ++ int chunks = byteLength / 8; ++ if(byteLength % 8 > 0) ++ chunks++; ++ _arrayLength = chunks * 8; ++ ++ //std::cout << "Variable datum #" << (int)_variableDatumID << " arrayLength=" << (int)_arrayLength << " "; ++ ++ for(size_t idx = 0; idx < _arrayLength; idx++) ++ { ++ dataStream >> _variableDatums[idx]; ++ //std::cout << (int)_variableDatums[idx] << " "; ++ } ++ //std::cout << std::endl; ++ for(size_t idx = _arrayLength; idx < STATIC_ARRAY_LENGTH; idx++) ++ { ++ _variableDatums[idx] = 0; ++ } ++ //std::cout << " Created and copied data to new _variableDatums array" << std::endl; ++ ++} ++ ++bool VariableDatum::operator ==(const VariableDatum& rhs) const ++ { ++ bool ivarsEqual = true; ++ ++ if( ! (_variableDatumID == rhs._variableDatumID) ) ivarsEqual = false; ++ if( ! (_variableDatumLength == rhs._variableDatumLength) ) ivarsEqual = false; ++ ++ for(char idx = 0; idx < 8; idx++) ++ { ++ if(!(_variableDatums[idx] == rhs._variableDatums[idx]) ) ivarsEqual = false; ++ } ++ ++ ++ return ivarsEqual; ++ } ++ ++int VariableDatum::getMarshalledSize() const ++{ ++ int marshalSize = 0; ++ ++ marshalSize = marshalSize + 4; // _variableDatumID ++ marshalSize = marshalSize + 4; // _variableDatumLength ++ ++ marshalSize = marshalSize + _arrayLength; ++ ++ return marshalSize; ++} ++ ++// Copyright (c) 1995-2009 held by the author(s). All rights reserved. ++// Redistribution and use in source and binary forms, with or without ++// modification, are permitted provided that the following conditions ++// are met: ++// ++// * Redistributions of source code must retain the above copyright ++// notice, this list of conditions and the following disclaimer. ++// * Redistributions in binary form must reproduce the above copyright ++// notice, this list of conditions and the following disclaimer ++// in the documentation and/or other materials provided with the ++// distribution. ++// * Neither the names of the Naval Postgraduate School (NPS) ++// Modeling Virtual Environments and Simulation (MOVES) Institute ++// (http://www.nps.edu and http://www.MovesInstitute.org) ++// nor the names of its contributors may be used to endorse or ++// promote products derived from this software without specific ++// prior written permission. ++// ++// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ++// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ++// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, ++// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, ++// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ++// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER ++// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ++// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE ++// POSSIBILITY OF SUCH DAMAGE. diff --git a/patches/cpp/VariableDatum.h.patch b/patches/cpp/VariableDatum.h.patch new file mode 100644 index 00000000..20a53e3c --- /dev/null +++ b/patches/cpp/VariableDatum.h.patch @@ -0,0 +1,177 @@ +--- VariableDatum.h 2012-07-10 10:28:18.000000000 -0700 ++++ VariableDatum.h.fixed 2012-07-10 10:24:42.000000000 -0700 +@@ -1,87 +1,87 @@ +-#ifndef VARIABLEDATUM_H +-#define VARIABLEDATUM_H +- +-#include +-#include +-#include +-#include +- +- +-namespace DIS +-{ +-// Section 5.2.32. Variable Datum Record +- +-// Copyright (c) 2007-2012, MOVES Institute, Naval Postgraduate School. All rights reserved. +-// Licensed under the BSD open source license. See http://www.movesinstitute.org/licenses/bsd.html +-// +-// @author DMcG, jkg +- +-#pragma warning(disable: 4251 ) // Disables warning for stl vector template DLL export in msvc +- +-class EXPORT_MACRO VariableDatum +-{ +-protected: +- /** ID of the variable datum */ +- unsigned int _variableDatumID; +- +- /** length of the variable datums */ +- unsigned int _variableDatumLength; +- +- /** variable length list of 64-bit datums */ +- std::vector _variableDatums; +- +- +- public: +- VariableDatum(); +- virtual ~VariableDatum(); +- +- virtual void marshal(DataStream& dataStream) const; +- virtual void unmarshal(DataStream& dataStream); +- +- unsigned int getVariableDatumID() const; +- void setVariableDatumID(unsigned int pX); +- +- unsigned int getVariableDatumLength() const; +- +- std::vector& getVariableDatums(); +- const std::vector& getVariableDatums() const; +- void setVariableDatums(const std::vector& pX); +- +- +-virtual int getMarshalledSize() const; +- +- bool operator ==(const VariableDatum& rhs) const; +-}; +-} +- +-#endif +-// Copyright (c) 1995-2009 held by the author(s). All rights reserved. +-// Redistribution and use in source and binary forms, with or without +-// modification, are permitted provided that the following conditions +-// are met: +-// +-// * Redistributions of source code must retain the above copyright +-// notice, this list of conditions and the following disclaimer. +-// * Redistributions in binary form must reproduce the above copyright +-// notice, this list of conditions and the following disclaimer +-// in the documentation and/or other materials provided with the +-// distribution. +-// * Neither the names of the Naval Postgraduate School (NPS) +-// Modeling Virtual Environments and Simulation (MOVES) Institute +-// (http://www.nps.edu and http://www.MovesInstitute.org) +-// nor the names of its contributors may be used to endorse or +-// promote products derived from this software without specific +-// prior written permission. +-// +-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +-// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +-// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +-// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +-// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +-// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +-// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +-// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +-// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +-// POSSIBILITY OF SUCH DAMAGE. ++#ifndef VARIABLEDATUM_H ++#define VARIABLEDATUM_H ++ ++#include ++#include ++ ++// length in bytes for the variable data. This should be a dynamically allocated array. ++#define STATIC_ARRAY_LENGTH 128 ++ ++namespace DIS ++{ ++// Section 5.2.32. Variable Datum Record ++ ++// Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved. ++// ++// @author DMcG, jkg ++ ++class EXPORT_MACRO VariableDatum ++{ ++protected: ++ /** ID of the variable datum */ ++ unsigned int _variableDatumID; ++ ++ /** length of the variable datums */ ++ unsigned int _variableDatumLength; ++ ++ /** The data. This should be dynamic, but I'm having memory management problems. 8 longs should ++ * be enough for almost all data. Only the actual data plus padding is written.*/ ++ char _variableDatums[STATIC_ARRAY_LENGTH]; ++ int _arrayLength; ++ ++ ++ public: ++ VariableDatum(); ++ virtual ~VariableDatum(); ++ ++ virtual void marshal(DataStream& dataStream) const; ++ virtual void unmarshal(DataStream& dataStream); ++ ++ unsigned int getVariableDatumID() const; ++ void setVariableDatumID(unsigned int pX); ++ ++ unsigned int getVariableDatumLength() const; ++ void setVariableDatumLength(unsigned int pX); ++ ++ char* getVariableDatums(); ++ const char* getVariableDatums() const; ++ void setVariableDatums( const char* pX, int length); ++ ++ ++virtual int getMarshalledSize() const; ++ ++ bool operator ==(const VariableDatum& rhs) const; ++}; ++} ++ ++#endif ++// Copyright (c) 1995-2009 held by the author(s). All rights reserved. ++// Redistribution and use in source and binary forms, with or without ++// modification, are permitted provided that the following conditions ++// are met: ++// ++// * Redistributions of source code must retain the above copyright ++// notice, this list of conditions and the following disclaimer. ++// * Redistributions in binary form must reproduce the above copyright ++// notice, this list of conditions and the following disclaimer ++// in the documentation and/or other materials provided with the ++// distribution. ++// * Neither the names of the Naval Postgraduate School (NPS) ++// Modeling Virtual Environments and Simulation (MOVES) Institute ++// (http://www.nps.edu and http://www.MovesInstitute.org) ++// nor the names of its contributors may be used to endorse or ++// promote products derived from this software without specific ++// prior written permission. ++// ++// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++// AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ++// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ++// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, ++// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, ++// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ++// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER ++// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ++// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE ++// POSSIBILITY OF SUCH DAMAGE. diff --git a/patches/cpp/VariableDatum.patch b/patches/cpp/VariableDatum.patch new file mode 100644 index 00000000..33d45dc3 --- /dev/null +++ b/patches/cpp/VariableDatum.patch @@ -0,0 +1,19 @@ +--- oldCpp/DIS/VariableDatum.cpp 2008-10-28 10:49:57.000000000 -0700 ++++ cpp/DIS/VariableDatum.cpp 2008-10-28 10:48:26.000000000 -0700 +@@ -47,7 +47,7 @@ + void VariableDatum::marshal(DataStream& dataStream) const + { + dataStream << _variableDatumID; +- dataStream << ( unsigned int )_variableDatums.size(); ++ dataStream << ( unsigned int )_variableDatums.size() * 64; + + for(size_t idx = 0; idx < _variableDatums.size(); idx++) + { +@@ -61,6 +61,7 @@ + { + dataStream >> _variableDatumID; + dataStream >> _variableDatumLength; ++ _variableDatumLength = (_variableDatumLength / 64) + ((_variableDatumLength % 64) > 0); + + _variableDatums.clear(); + for(size_t idx = 0; idx < _variableDatumLength; idx++) diff --git a/patches/cppDis7/VariableDatum.cpp.patch b/patches/cppDis7/VariableDatum.cpp.patch new file mode 100644 index 00000000..eaa99b54 --- /dev/null +++ b/patches/cppDis7/VariableDatum.cpp.patch @@ -0,0 +1,37 @@ +--- VariableDatum.cpp.orig 2011-07-25 11:11:43.000000000 -0700 ++++ VariableDatum.cpp 2011-07-25 11:12:19.000000000 -0700 +@@ -58,17 +58,29 @@ + void VariableDatum::marshal(DataStream& dataStream) const + { + dataStream << _variableDatumID; +- dataStream << _variableDatumLength; +- dataStream << _variableDatumBits; +- dataStream << _padding; ++ dataStream << ( unsigned int )_variableDatums.size() * 64; ++ ++ for(size_t idx = 0; idx < _variableDatums.size(); idx++) ++ { ++ EightByteChunk x = _variableDatums[idx]; ++ x.marshal(dataStream); ++ } ++ + } + + void VariableDatum::unmarshal(DataStream& dataStream) + { + dataStream >> _variableDatumID; + dataStream >> _variableDatumLength; +- dataStream >> _variableDatumBits; +- dataStream >> _padding; ++ _variableDatumLength = (_variableDatumLength / 64) + ((_variableDatumLength % 64) > 0); ++ ++ _variableDatums.clear(); ++ for(size_t idx = 0; idx < _variableDatumLength; idx++) ++ { ++ EightByteChunk x; ++ x.unmarshal(dataStream); ++ _variableDatums.push_back(x); ++ } + } + + diff --git a/web/OpenDisXML.ppt b/web/OpenDisXML.ppt new file mode 100644 index 00000000..f7f1f640 Binary files /dev/null and b/web/OpenDisXML.ppt differ diff --git a/web/SEARIS2010-1.pdf b/web/SEARIS2010-1.pdf new file mode 100644 index 00000000..4f85ba05 Binary files /dev/null and b/web/SEARIS2010-1.pdf differ diff --git a/web/images/BBInstHead.jpg b/web/images/BBInstHead.jpg new file mode 100644 index 00000000..5dba3c42 Binary files /dev/null and b/web/images/BBInstHead.jpg differ diff --git a/web/images/Delta3d_logo.png b/web/images/Delta3d_logo.png new file mode 100644 index 00000000..7ba82664 Binary files /dev/null and b/web/images/Delta3d_logo.png differ diff --git a/web/images/moves-logo.jpg b/web/images/moves-logo.jpg new file mode 100644 index 00000000..54973a77 Binary files /dev/null and b/web/images/moves-logo.jpg differ diff --git a/web/images/yoyodyne_small1.jpg b/web/images/yoyodyne_small1.jpg new file mode 100644 index 00000000..b6edf5f4 Binary files /dev/null and b/web/images/yoyodyne_small1.jpg differ diff --git a/web/index.html b/web/index.html new file mode 100644 index 00000000..8d986bed --- /dev/null +++ b/web/index.html @@ -0,0 +1,86 @@ + + + + + Open DIS + + +
      Open DIS
      +
      +
      +Open-DIS is a free, open source implementation of the Distributed +Interactive Simulation (DIS) protocol standardized as IEEE-1278. Both +C++ and Java implementations are provided under the BSD open source +license.
      +
      +Both the Java and C++ code implementations are generated from an XML +file. This allows much of the boilerplate code to be generated from a +relatively simple XML file that can be created by a non-expert +programmer. As of this writing, the XML file that describes the DIS +protocol is about 4,000 lines long, but generates about 20,000 lines of +Java code and 30,000 lines of C++ code, for a total of about 50,000 +lines of code. The C++ code has been compiled under Microsoft Visual +C++ and gcc, and the Java code under JDK 1.6.
      +
      +The XML code is not able to describe exactly all the PDUs. As of this +writing, about 45 PDUs are able to be completely described by the XML +file, meaning that both C++ and Java classes are correctly generated. +About 15 PDUs are not, and require manual intervention in the generated +code to correctly describe the PDU. The degree of manual intervention +required on the remaining PDUs varies; most seem fairly benign, but a +few are more complex. My guess is that the protocol can be finished in +less than a thousand lines of code.
      +
      +Some rudimentary networking support is provided.
      +
      +Assistance from others in reviewing and completing the code is welcome. +Send email to mcgredo <at> nps.edu if you are interested.
      +
      +
      +Future Work
      +
      +The plan is for the initially generated code to be reviewed by various +DIS practioners early in the development cycle. This allows for the +possiblity of the generated code to be changed early on. Once the code +is "close", the generated code will be checked into the Subversion +source code control system at sourceforge, and the remaining manual +changes required checked in. At that point the umbilical cord with the +code generator will be cut, and the code maintained manually from that +point forward.
      +
      +Also not implemented are enumerations, the arbitrary numbers that give +PDU contents semantic meaning. Finite state machines that follow the +rules of the protocol are also not provided.
      +
      +
      +The generated DIS source code can be downloaded from sourceforge.net at
      +
      + http://sourceforge.net/project/showfiles.php?group_id=193363
      +
      +The project description page is at
      +
      +http://open-dis.sourceforge.net
      +
      +and the main project page is at
      +
      +http://sourceforge.net/projects/open-dis
      +
      +
      +
      +

      +
      +
      +Delta3D MOVES Institute
      +Banzi Institute
      + + diff --git a/web/searis_paper40-1.pdf b/web/searis_paper40-1.pdf new file mode 100644 index 00000000..2a2e3f2a Binary files /dev/null and b/web/searis_paper40-1.pdf differ